AUTOWEB メニュー

メニューの オプション 5 または GO AUTOWEB によって AUTOWEB メニューを開始することができます。

AUTOWEB構成

1. 画面設定 (HTMLCFG)

画面設定(HTMLCFG) はAutoWeb の画面の表示方法を設定します。
この画面設定データは ライブラリー ASNET.USR のソース・ファイル HTTPCFG の
メンバー HTMLCFG として保管されます。

各行で文字 # の含まれている行はコメント行として扱われて、処理の対象から
外れることになります。

0001.00 # ******************************************************************* #
0002.00 #                                                                     #
0003.00 #         AUTOWEB HTML 画面構成 V5R1M0 - V5R4M0, VER7.2              #
0004.00 #                                                                     #
0005.00 #           ( この変更に ALASKA の再起動は必要ありません )            #
0006.00 # ******************************************************************* #
0007.00 #  CCSID=5035
0008.00 #------------------------------------------------------
0009.00 # NOTE:  "#" から始まる行はコメント行です。
0010.00 #------------------------------------------------------
0011.00 #
0012.00 #------------------------------------------------------
0013.00 #   HTML 基本テンプレート
0014.00
0015.00 #             + ライブラリー指定可能
0016.00 #       BASE5250 : 導入時の基本 HTML テンプレート
0017.00 #------------------------------------------------------
0018.00    BASE_HTML          BASE5250
0019.00    HANDY_HTML         KEYENCE
0020.00    POPUP_HTML         POPUP5250
0021.00 #------------------------------------------------------
0022.00   ロゴ画像の定義  .. 会社のロゴがあれば定義します
0023.00 #------------------------------------------------------
0024.00    LOGO      /AS400-NET.USR/TEMPLATE/BLUGLASS/logo.GIF
0025.00 #------------------------------------------------------
0026.00   GOボタンの定義
0027.00 #------------------------------------------------------
0028.00    Add_GoButton       *YES
0029.00 #------------------------------------------------------
0030.00   オプション・ボタンの定義
0031.00 #------------------------------------------------------
0032.00    Add_OptionButton   *YES
0033.00 #------------------------------------------------------
0034.00   オプション・ボタンの定義
0035.00 #------------------------------------------------------
0036.00    Option_Start_Line   2
0037.00    Option_End_Line     22
0038.00 #------------------------------------------------------
0039.00   エラー・メッセージ行の定義
0040.00 #------------------------------------------------------
0041.00    Error_Start_Line   24
0042.00    Error_End_Line     24
0043.00 #------------------------------------------------------
0044.00   文字フォントの種類
0045.00 #------------------------------------------------------
0046.00     FontType   MSGOTHIC  MS   ゴシック
0047.00 #------------------------------------------------------
0048.00   文字フォントの設定
0049.00 #------------------------------------------------------
0050.00     FontFamily         MSGOTHIC
0051.00 #------------------------------------------------------
0052.00   文字フォントのサイズ
0053.00 #------------------------------------------------------
0054.00     FontSize           10pt
0055.00 #------------------------------------------------------
0056.00   色コードの設定
0057.00 #------------------------------------------------------
0058.00     Color BLACK        #555555
0059.00     Color WHT          #2985C0
0060.00     Color BLU          #0000FF
0061.00     Color YLW          #FFAA00
0062.00     Color GRN          #008000
0063.00     Color RED          #FF0000
0064.00     Color TRQ          #00FF00
0065.00     Color PNK          #FF1493
0066.00 #------------------------------------------------------
0067.00   文字カラーの設定
0068.00 #------------------------------------------------------
0069.00     Char_Color      BLACK
0070.00
0071.00   背景色の設定
0072.00 #------------------------------------------------------
0073.00     BckGnd_Color    WHT
0074.00 #------------------------------------------------------
0075.00   画面罫線の表示
0076.00 #------------------------------------------------------
0077.00    Show_Keisen        *YES
0078.00 #
0079.00 #------------------------------------------------------
0080.00 #  複数段の SFL レコードを 1 行に拡大して表示する
0081.00 #------------------------------------------------------
0082.00    Expand_SFLRecord   *YES
0083.00 #------------------------------------------------------
0084.00 #  メニュー・アイコンの設定
0085.00 #------------------------------------------------------
0086.00    MENU_ICON    一覧表     /AS400-NET.USR/WWWMENU/PRT.PNG
0087.00    MENU_ICON    明細表     /AS400-NET.USR/WWWMENU/PRT.PNG
0088.00    MENU_ICON    印刷       /AS400-NET.USR/WWWMENU/PRT.PNG
0089.00    MENU_ICON    出力       /AS400-NET.USR/WWWMENU/PRT.PNG
0090.00    MENU_ICON    入力       /AS400-NET.USR/WWWMENU/DSP.PNG
0091.00    MENU_ICON    明細       /AS400-NET.USR/WWWMENU/TXT.PNG
0092.00    MENU_ICON    照会       /AS400-NET.USR/WWWMENU/QRY.PNG
0093.00    MENU_ICON    登録       /AS400-NET.USR/WWWMENU/DSP.PNG
0094.00    MENU_ICON    *OTHER     /AS400-NET.USR/WWWMENU/EDT.PNG

ディレクティブ意味選択
BASE_HTML 基本ベースとなるHTML
… 表示の基本となる
HTMLテンプレート
BASE5250  : 導入時の基本HTML
BLUGLASS  : ブルーグラス
CLORANGE  : カリフォルニア・オレンジ
BLUHAWAII : ブルー・ハワイ
MSWINDOW  : MS-ウィンドウ
POPUP_HTML POPUP ウィンドウのベース
となるHTMLテンプレート
POPUP5250 : 導入時の基本POPUP
POPUPBLU  : ブルーグラス
POPUPMSW  : MS-ポップアップ
LOGO 会社のロゴがあればロゴの
画像を定義します
/AS400-NET.USR/TEMPLATE/BLUEGLASS/logo.GIF
/AS400-NET.USR/TEMPLATE/CLORANGE/logo.GIF
/AS400-NET.USR/TEMPLATE/BLUHAWAII/logo.GIF
/AS400-NET.USR/TEMPLATE/MSWINDOW/logo.GIF
Add_Go_Button GO ボタンを定義します
… GO ボタンは最初の
入力BOXの直後などの
適切な位置に配置され
ます
*YES : GO ボタンを自動配置します
*NO  : GO ボタンは配置しません
Add_Option_Button オプション・ボタン化
… 「1=追加」などを
ボタン化します
*YES : オプション・ボタン化を行います
*NO  : オプション・ボタン化は行いません
Option_Start_Line オプション・ボタン化を
行う対象の範囲の開始行
開始行数(番号) 1-27
Option_End_Line オプション・ボタン化を
行う対象の範囲の終了行
開始行数(番号) 1-27
Error_Start_Line エラー・メッセージ行の
開始行番号
24
Error_End_Line エラー・メッセージ行の
終了行番号
24
FontType フォント・タイプ
… 文字フォントの種類
を定義します
MSGOTHIC : MSゴシック
FontSize フォント・サイズ
… フォントの大きさを
定義します
10pt     : 10ポイント
Color 色コードの設定
… 色のコード値を設定
します
BLACK        #000000  : 黒
WHITE        #ffffff  : 白
BLUE         #0000ff  : 
YELLOW       #ffff00  : 
GREEN        #008000  : 
RED          #ff0000  : 
SKYBLUE      #87ceeb  : 空色
PINK         #ffc0cb  : ピンク
Char_Color 文字カラーの設定
… 色コードを使って
文字の色を定義します
BLACK : 黒
BckGnd_Color 背景色の設定
… 色コードを使って
背景色を定義します
WHITE : 白
Show_Keisen 罫線の表示
… 罫線を表示するか
どうか決めます
*YES : 罫線を表示します
*NO  : 罫線は表示しません

[注意]このオプションは現在無効です
Expand_SFLRecord 上下に複数段の
SFL レコードがあれば
それを左右に一行の
SFL レコードに
拡大して表示するか
どうかを指示します
*YES : 複数段の SFL レコードを
       1 行に拡大して表示します

*NO  : 複数段の SFL レコードを
       1 行に拡大して表示しません
MENU_ICON メニュー項目の文字列に
含まれる特定の文字列で
メニューのアイコンを
設定します。
判別できなかった
メニュー項目には
*OTHER で定義されている
アイコンを設定します。
一覧表     /AS400-NET.USR/WWWMENU/PRT.GIF
明細表     /AS400-NET.USR/WWWMENU/PRT.GIF
印刷       /AS400-NET.USR/WWWMENU/PRT.GIF
出力       /AS400-NET.USR/WWWMENU/PRT.GIF
入力       /AS400-NET.USR/WWWMENU/DSP.GIF
明細       /AS400-NET.USR/WWWMENU/TXT.GIF
照会       /AS400-NET.USR/WWWMENU/QRY.GIF
登録       /AS400-NET.USR/WWWMENU/DSP.GIF
*OTHER     /AS400-NET.USR/WWWMENU/EDT.GIF

2. 実行環境の設定 (WEBENV)

実行環境の設定 (WEBENV) はAutoWeb の画面の実行環境を設定します。
この画面設定データは ライブラリー ASNET.USR のソース・ファイル HTTPCFG の
メンバー WEBENV として保管されます。

実行環境の設定 (WEBENV)を変更したときは、必ず HTTPサーバー:ALASKA を再起動してください。
ALASKA の再起動によって初めて 実行環境の設定 (WEBENV) が有効に機能します。

各行で文字 # の含まれている行はコメント行として扱われて、処理の対象から
外れることになります。

0001.00 # ******************************************************************* #
0002.00 #                                                                     #
0003.00 #         AUTOWEB  実行環境 V5R2M0 - V7R2M0                           #
0004.00 #                                                                     #
0005.00 #           ( この変更には ALASKA の再起動が必要です )                #
0006.00 # ******************************************************************* #
0007.00 #  CCSID=5035
0008.00 #------------------------------------------------------
0009.00 # NOTE:  "#"  から始まる行はコメント行です。
0010.00 #------------------------------------------------------
0011.00 #
0012.00 #------------------------------------------------------
0013.00 #   使用ユーザーの設定                  *USE/*EXCLUDE
0014.00 #
0015.00 #         AUTOWEB を使用できるユーザー・プロフィールを
0016.00 #         制限または特定することができます。
0017.00 #
0018.00 #         ALWUSER     ( ユーザー )     *USE :  使用可能
0019.00 #         ALWUSER     ( ユーザー )     *EXCLUDE :  使用不可
0020.00 #         ALWUSER     OTHER            *USER または *EXCLUDE
0020.00 #         ALWUSER     OTHER            *USER または *EXCLUDE
0021.00 #
0022.00 #         -- OTHER  はその他のユーザーを示します。
0023.00 #            *USE  または *EXCLUDE  で指定された残りのユーザーに
0024.00 #            ついて指定してください。
0025.00 #            OTHER は ALWUSER の最後に指定してください。
0026.00 #------------------------------------------------------
0027.00    ALWUSER       QSECOFR              *EXCLUDE
0028.00    ALWUSER       OTHER                *USE
0029.00 #------------------------------------------------------
0030.00 #   Basic認証                             *YES/*NO
0031.00 #------------------------------------------------------
0032.00    BASICAUTH    *NO
0033.00 #------------------------------------------------------
0034.00 #   フォーム認証
0035.00 #------------------------------------------------------
0036.00    FORMAUTH     /AS400-NET.USR/TEMPLATE/LOGIN/LOGIN.HTM
0037.00 #------------------------------------------------------
0038.00 #   表示装置サイズ       1=24 * 80, 2=27 * 132, 5=99 * 255
0039.00 #------------------------------------------------------
0040.00    DSPSIZ        5
0041.00 #------------------------------------------------------
0042.00 #   端末ジョブ名の取得    *AUTO, *PC   または *USER*
0043.00 #             + ライブラリー指定可能
0044.00 #          *AUTO = QPADEVXXXX 形式で自動発生
0045.00 #          *PC   = PC の名前を装置名として使用
0046.00 #          *USER = ログイン・ユーザー名を装置名として使用
0047.00 #------------------------------------------------------
0048.00    DEVNAME       *AUTO
0049.00 #  DEVNAME       *PC
0050.00 #  DEVNAME       *USER
0051.00 #------------------------------------------------------
0052.00 #   装置の自動生成
0053.00 #     QAUTOVRT=1  のときに装置が使用中であれば
0054.00 #     代替装置名を自動生成します。
0055.00 #     SUBDEV には自動発生で付加する文字列を指定します。
0056.00 #     指定できる文字列は一通りだけです。
0057.00 #    [ 例 ]
0058.00 #     S01 : S01, S02, .... と付加します。
0059.00 #     1   : 1, 2, ....  と付加します。
0060.00 #     A   : A, B, ...   と付加します。
0061.00 #------------------------------------------------------
0062.00     SUBDEV     S01
0063.00 #------------------------------------------------------
0064.00 #   WINDOWS メッセージの送信                  *YES/*NO
0065.00 #------------------------------------------------------
0066.00    SNDWINMSG     *YES
0067.00 #------------------------------------------------------
0068.00 #  コマンド入力行の許可    *YES/*NO + ライブラリー指定可能
0069.00 #      例 :  ライブラリー QTROBJ からだけの起動を *YES
0070.00 #            ALWCMDLINE   *NO
0071.00 #            ALWCMDLINE   *YES   QTROBJ
0072.00 #------------------------------------------------------
0073.00    ALWCMDLINE    *YES
0074.00 #------------------------------------------------------
0075.00 #  コマンド入力行へ JOBLOG を表示する         *YES/*NO
0076.00 #------------------------------------------------------
0077.00    JOBLOG        *YES
0078.00 #------------------------------------------------------
0079.00 #  コマンド入力行へ自動応答の履歴を表示する   *YES/*NO
0080.00 #------------------------------------------------------
0081.00    AUTOREPLY     *YES
0082.00 #------------------------------------------------------
0083.00 #  ツリー・メニューの表示  *YES/*NO + ライブラリー指定可能
0084.00 #      例 :  ライブラリー QTROBJ からだけの起動を *YES
0085.00 #            TREE_MENU    *NO
0086.00 #            TREE_MENU    *YES   QTROBJ
0087.00 #
0088.00 # [ 注 ] この設定を変更した場合は、ブラウザのキャッシュを
0089.00 #        すべて消去してからやり直してください。
0090.00 #------------------------------------------------------
0091.00    TREE_MENU     *YES
0092.00 #  TREE_MENU     *NO
0093.00 #------------------------------------------------------
0094.00 #  スプールの表示          *YES/*NO
0095.00 #    SPOOL ライター・フリークライアントが導入されていて
0096.00 #    *YES であれば、スプールを表示することができます。
0097.00 #------------------------------------------------------
0098.00    SPOOL         *YES
0099.00 #------------------------------------------------------
0100.00 #   メニューの定義
0101.00 #------------------------------------------------------
0102.00 #  MENU_TREE :  この文字列が含まれているときに、
0103.00 #               これがメニューであることを示します。
0104.00 #               下位メニューに展開を指示します。
0105.00 #
0106.00    MENU_TREE     メニュー
0107.00    MENU_TREE     xpャー
0108.00    MENU_TREE     MENU
0109.00    MENU_TREE     MENU
0110.00    MENU_TREE     タスク
0111.00    MENU_TREE     TASKS
0112.00    MENU_TREE     文字作成ユーティリティー
0113.00
0114.00 #------------------------------------------------------
0115.00 #  MENU_OPT  :  メニュー・オプション番号の表記方法
0116.00    MENU_OPT             9.
0117.00    MENU_OPT            99.
0118.00 #  MENU_OPT            9.
0119.00 #  MENU_OPT             9:
0120.00 #  MENU_OPT            99:
0121.00 #  MENU_OPT            99
0122.00 #  MENU_OPT            D99
0123.00 #  MENU_OPT            Y99
0124.00 #------------------------------------------------------
0125.00 #  MENU_RETURN   上位メニューに戻るための機能キーを
0126.00 #                定義します。
0127.00 #
0128.00 #               ツリー構造メニューで上位に戻るためには
0129.00 #               この定義が必要となります。
0130.00 #------------------------------------------------------
0131.00    MENU_RETURN         CF12
0132.00 #------------------------------------------------------
0133.00 #   機能キー・ボタン化の定義
0134.00 #------------------------------------------------------
0135.00    FKEY_START_LINE     23
0136.00    FKEY_END_LINE       24
0137.00    FKEY_TEXT           F9=
0138.00    FKEY_TEXT           F99=
0139.00    FKEY_TEXT           CF9=
0140.00    FKEY_TEXT           CF99=
0141.00 #------------------------------------------------------
0142.00 #  POPUPウィンドウ定義
0143.00 #------------------------------------------------------
0144.00 #  WINDOW キー・ワード以外にも次のキー・ワードが
0145.00 #  指定されているレコードを POPUP ウィンドウとして
0146.00 #  表示します。
0147.00    POPUP               CLRL(*NO)
0148.00    POPUP               ASSUME
0149.00 #------------------------------------------------------
0150.00 #   POPUP機能キーの定義
0151.00 #------------------------------------------------------
0152.00 #   POPUP-WINDOW を表示する機能キーを定義すると
0153.00 #   より高速に動作します。
0154.00 #  POPUP_FKEY          CF04
0155.00 #------------------------------------------------------
0156.00 #  選択オプション番号の表記
0157.00 #------------------------------------------------------
0158.00    OPTION_NUMBER       9=
0159.00    OPTION_NUMBER       99=
0160.00 #------------------------------------------------------
0161.00 #  プログラム・メッセージ
0162.00 #------------------------------------------------------
0163.00    PGMMSG   プログラム・メッセージの表示
0164.00 #------------------------------------------------------
0165.00 #  自動応答の処置
0166.00 #------------------------------------------------------
0167.00    DEFAULT_ACTION   続行するためには,実行キーを押してください。   ENTE
0168.00    DEFAULT_ACTION   Press Enter to continue.  ENTER
0169.00    DEFAULT_ACTION    応答を入力して,実行キーを押してください。   ENTER
0170.00 #  DEFAULT_ACTION    メッセージ表示  ENTER
0171.00    DEFAULT_ACTION    PCと連絡することはできません。  ENTER
SOSI       DEFAULT_ACTION    応答を入力して(必要な場合),実行キーを押してく *
0173.00 #------------------------------------------------------
0174.00 #  エラー・メッセージを記述
0175.00 #        次の文字列があればエラーと判断して
0176.00 #        エラー・メッセージを出力します。
0177.00 #
0178.00 #   ( 注 ) オーガナイザーを利用するには
0179.00 #         ブラウザの設定を
0180.00 # [ インターネットオプション ]-[ セキュリティ ] で
0181.00 #   信頼済みサイトに登録してください。
0182.00 #   スマート・スクリーン・フィルター機能を無効に設定すると
0183.00 #   簡単な操作ができます。
0184.00 #
0185.00 #------------------------------------------------------
0186.00    ERROR_MESSAGE   PCと連絡することはできません。
0187.00 #------------------------------------------------------
0188.00 #  ジョブの終了
0189.00 #------------------------------------------------------
0190.00 #  X ボタンで終了させるときに内部で押す機能キーを定義します。
0191.00    ENDJOB          CF03
0192.00 #------------------------------------------------------
0193.00 #  ジョブの回復
0194.00 #------------------------------------------------------
0195.00    RECOVERY_JOB    対話式ジョブの回復の試み  90
0196.00 #------------------------------------------------------
0197.00 #  S/36 メッセージの処理
0198.00 #------------------------------------------------------
0199.00    S36MSG          システム/36プログラム・メッセージ
0200.00 #------------------------------------------------------
0201.00 #   エラー・メッセージ除外
0202.00 #    -- 24 行目にあってもエラーではないと判断する文字列を記入
0203.00 #------------------------------------------------------
0204.00    IGNORE_LINE24       COPYRIGHT
0205.00    IGNORE_LINE24       オプション
0206.00    IGNORE_LINE24       続く  ...
0207.00    IGNORE_LINE24       終わり
0208.00 #------------------------------------------------------

ディレクティブ意味選択
ALWUSER 使用ユーザーの設定
… ユーザー名を指定して
使用を制限します
社外にAutoWebを
公開しても不用意に
QSECOFRなどで
アクセスされるのを
防ぐことができます
*USE     : 使用を許可します
*EXCLUDE : このユーザーの使用を禁止します
BASICAUTH BASIC認証
… BASIC認証ダイアログ
によってユーザー、
パスワードを要求します
*YES : BASIC認証を必要とします
*NO  : 認証は行いません
FORMAUTH フォーム認証
… 独自の認証ダイアログ
を定義します
BASIC認証が *NO の
ときに有効です
/AS400-NET.USR/TEMPLATE/LOGIN/LOGIN.HTM
DSPSIZ 表示装置サイズ
… 表示装置サイズを
指定します
1 : 24 * 80
2 : 27 * 132

				
DEVNAME 端末ジョブ名の取得
*AUTO : QPADEVXXXX 形式で自動発生
*PC   : PC の名前を装置名として使用
*USER : ログイン・ユーザー名を装置名として使用
SNDWINMSG WINDOWS メッセージの送信
*YES : WINDOWSメッセージを送信します
*NO  : 送信しません

※このオプションは現在では不要です
ALWCMDLINE コマンド入力行の許可
… コマンド入力行の
表示を行います
ライブラリーの指定が
可能です
*YES : コマンド入力行を表示します
*NO  : 表示しません
JOBLOG コマンド入力行へ JOBLOG を
表示します
*YES : JOBLOG をコマンド行に出力します
*NO  : 出力しません
AUTOREPLY コマンド入力行へ自動応答の
ログを出力します
*YES: 自動応答ログを出力します
*NO : 出力しません
TREE_MENU ツリー・メニューの表示
*YES : メニューをツリー・メニューによって
       階層表示します
*NO  : ツリー・メニューではなく画面表示します
SPOOL 印刷スプールを表示します
*YES: スプールを表示します
*NO : 表示しません

※ このオプションには SPOOLライターが必要です
                       (フリー・クライアント)
外字サポート

3. Webフォントの作成 (CRTWEBFNT)

CRTWEBFNT(Webフォントの作成)はIBM 外字QIGC2424またはQICG3232から
Webフォントを作成します。

   CRTWEBFNT                DBCS フォント・テーブル IGCTBL [ QIGC2424 ] -----
                                                           [ QIGC3232 ]

                            WEB フォント名 WEBFNT [ WEBFONT.WOFF ]
【パラメータの説明】

DBCS フォント・テーブル(IGCTBL)

IBM外字テーブルの名前を指定します。
指定したテーブルからWebフォントを生成します。

WEB フォント名(WEBFONT.WOFF)

生成するWebフォントの名前を指定してください。
潟Iフィスクアトロの製品が使用するWebフォント名は WEBFONT.WOFF
ですので必ずこの名前で作成してください。
Webフォントは次のフォルダーとして生成されます。

/QIBM/UserData/OS400/Fonts/TTFonts/WEBFONT.WOFF

このフォルダーは変更できません。
Webフォントをこのように追加したらHTTPサーバー: Alaskaに
次のPass記述を追加してからAlaskaを再起動してください。

Pass /QIBM/UserData/OS400/Fonts/TTFonts/

【注意】

このPASS名の追加は5250エミュレータのCCSIDは5035に変更してから
行ってください。

デバッグ

11. AUTOWEB ログ開始 (STRAUTLOG)

AUTOWEBのログを指示すると、AutoWeb を動作させたときのログが
OUTQ: ASNET.USR/QNETJOBLOG (GO SERVERメニューの 10. QNETJOBLOG の表示)に
出力されて参照することができます。
STRAUTLOG によってログ出力を有効化するために
Alaska(HTTPサーバー)を再起動する必要はありません。

AutoWeb のログは障害を調査する上での重要な手がかりとなります。

                         AUTOWEB ログ開始  (STRAUTLOG)

 選択項目を入力して,実行キーを押してください。

 ディバッグ :
   仮想端末 (VT5250) . . . . . .   *ON           *ON, *OFF
   AutoWeb (CVT5250)  . .   *ON           *ON, *OFF
 表示装置ファイル  . . . . . . .   *NONE          名前 , *NONE
   ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB, *PRV
 表示レコード  . . . . . . . . .   *ALL           名前 , *ALL

                    追加のパラメーター

5250 ストリーム・トレース  . . .   *NONE         *NONE, *IN, *OUT
 メモリー・リークを検査  . . . .   *NO           *YES, *NO
STRAUTLOG DEBUG ( )
DSPF ( )
DSPRCD ( )
TRACE ( )
MALLOC ( )
【パラメータの説明】

ディバッグ(DEBUG)

仮想端末(VT5250)

5250ストリームの処置をデバッグします。

*ON
ログの開始
*OFF
ログは開始しません

AutoWeb (CVT5250)

5250ストリームの画面の変換処理をログ出力します。

*ON
ログの開始
*OFF
ログは開始しません

表示装置ファイル / ライブラリー(DSPF)

特定の表示装置ファイルの実行だけをログする場合は名前を指定してください。
*NONE の場合はすべての表示装置ファイルに対する実行をログします。

表示レコード(DSPRCD)

表示装置ファイルを指定したときにさらに表示レコードを
指定する必要があれば名前を指定してください。

5250 ストリーム・トレース(TRACE)

5250仮想端末装置との対話の処理がトレースされます。
トレースを潟Iフィスクアトロに送付すれば
ヘルプ・デスクでお客様環境を完全に再現することが
できますので障害の再現と調査に役立ちます。

*NONE
トレース処理は行いません(省略値)
*IN
トレースからの入力を開始します
*OUT
トレースに出力します

トレースとして出力されるのは

  • QUSRTEMP/VTDTAQ *DTAQ
  • QUSRTEMP/STM5250 *DTAQ

の二つのデータ待ち行列です。

メモリー・リークを検査(MALLOC)

ログが終了するまでのあいだの実行中に メモリー・リークを検査します。
メモリー・リークとは(主に C言語での)メモリーの使用における 漏洩を検査するものです。
つまり定義されている変数の範囲を超えた出力が ないかどうかの品質検査を行います。
メモリー・リークは IBM が提供する 「デバッグ・メモリ・マネージャー」によって監視されます。
もし実行中にメモリー・リークが発生すれば MCH 例外メッセージ が発生します。 (詳しくはこちらで)

*NO
メモリー・リークを検査しません
*YES
メモリー・リークを検査します
【AutoWebのログの例】
********************************************
*           VT5250  DEBUG MODE (558)     *
*                                          *
*     SRCDATE   = Dec  4 2015 15:01:07
*                                          *
*     CGI       = MN00CL, CGILIB = QTROBJ
*     MENU      = MAIN, MNULIB = *LIBL
*     INZTYP    = P
*     JOB       = DSP01
*     USER      = MN00
*     JOBNBR    = 619552
*     TYPE      = *MNU
*     QAUTOCFG  = 1
*     QAUTOVRT  = 32767
*     QCCSID    = 65535
*     QCNTRYID  = JP
*     DFTCCSID  = 5026
*     LMTCPB    = *NO
*                                          *
********************************************
VT5250[609] 読取り命令コード : 3 WRITE & RECEIVE  NO MORE DATA.
*------------------*
*  writeDisplay  3 *
*------------------*
VTBASE5[615] **RTVDSPRCD**
VT5250-ReadScreen (*MNU- 7 BYTES)
VTBASE5[1753] *C5250Query 5555-C01 DSPSIZ = 2
VT5250[1021]  m_dspmod = _VTRQS_
VT5250[1029]  m_opcode = _GETJOB_
*------------------------------*
* VT5250[1104] receiveDisplay 3 *
*------------------------------*
VT5250[1104] * 仮想端末 API(VTAPI) からの問合せ要求がありました。
*****************************************
**  WRITE[639]  WRTLEN = 75
**             CURSOR = (1, 1)
**             FKEY   =
*****************************************
VT5250[609] 読取り命令コード : C MSG LIGHT NO MORE DATA.
VT5250[609] 読取り命令コード : 3 WRITE & RECEIVE  NO MORE DATA.
*------------------*
*  writeDisplay  3 *
*------------------*
VTBASE5[615] **RTVDSPRCD**
     ****************************************
     *            ACTIVE DSPF (1) VTBASE5(667)*
     *  DSPF = MN00      , DSPFLIB = QTROBJ
     *  RECORD = MN00FMT   , FORMTYPE =
     ****************************************
VT5250-ReadScreen (*MNU- 1227 BYTES)
VTBASE5[1847]  *HeaderStart MSGLOC = 24
VT5250[2413] (25)*SetAddress = (1, 1)
VT5250[2912] (28)*Data(1, 2)=[MN00]
VT5250[2912] (33)*Data(1, 7)=[]
VT5250[2413] (34)*SetAddress = (1, 19)
VT5250[2912] (37)*Data(1, 20)=[ メイン・メニュー ]
[2116]  メイン・メニュー  =>MENU である。
VT5250[2123]>  IsMenu によって、これは _MENU_ であると  判定しました。
VT5250[2912] (56)*Data(1, 39)=[]
VT5250[2413] (57)*SetAddress = (3, 1)
VT5250[2912] (60)*Data(3, 2)=[ 次の中から1つを選んでください :]
VT5250[2912] (94)*Data(3, 36)=[]
VT5250[2413] (95)*SetAddress = (4, 4)
VT5250[2477] (99)*AgainAddress = (4, 77) + 72 bytes of 0x40
   :
   :

12. AUTOWEB ログ終了 (ENDAUTLOG)

ENDAUTLOG は先の STRAUTLOG で開始したログ出力モードを終了します。
ログ終了を有効化するために Alaska (HTTPサーバー) を再起動する必要はありません。
また通常の使用で ENDAUTLOG でオプションは下記のように用意されていますが
特にオプションを指定せずに ENDAUTLOG + [実行] で十分です。

                        AUTOWEB ログ終了  (ENDAUTLOG)

選択項目を入力して,実行キーを押してください。

ディバッグ :
  仮想端末 (VT5250) . . . . . .   *OFF          *ON, *OFF
  AutoWeb (CVT5250)  . .   *OFF          *ON, *OFF

                   追加のパラメーター


5250 ストリーム・トレース  . . .                 *NONE, *IN, *OUT
 メモリー・リークを検査  . . . .                 *YES, *NO
ENDAUTLOG DEBUG ( )

TRACE ()

MALLOC ()
【パラメータの説明】

ディバッグ(DEBUG)

仮想端末 (VT5250)

5250ストリームの処置をデバッグを終了します。

*OFF
ログを終了します

AutoWeb (CVT5250)

5250ストリームの画面の変換処理をログ出力を終了します。

*OFF
ログを終了します

5250 ストリーム・トレース(TRACE)

5250トレース処理を終了します。
トレースを潟Iフィスクアトロ ヘルプ・デスクに送る場合は

  • QUSRTEMP/VTDTAQ *DTAQ
  • QUSRTEMP/STM5250 *DTAQ

の二つのデータ待ち行列を
ダウンロードの上、お送りください。

メモリー・リークを検査(MALLOC)

メモリー・リークの検査を終了します。

HELP 用の HTML を PNLGRP で作成する

ユーザー・アプリケーションにパネル・グループ(PNLGRP)によって F1-ヘルプ機能を追加しておくと
そのヘルプをAutoWeb でのヘルプ用のHTMLに変換することができます。

IBM i に用意されているパネル・グループ(PNLGRP)は HTMLと同じ原理でありタグ言語です。
タグ言語とは行や桁位置などを指定せずに文節や文脈、文字句の両端を
タグと呼ばれる記号で囲んだタグを組み合わせて記述して、
タグを表示するブラウザによって左寄せや中央揃えなどのレイアウトを自動的に行う言語です。
言語と言っても条件分岐などの論理処理はありません。
IBM i に提供されているヘルプ機能はすべてパネル・グループ(PNLGRP)によって記述されています。
適用業務にもパネル・グループ(PNLGRP)によるヘルプを追加しておくと
AutoWeb によってWeb化したときにもヘルプ機能を使うことができるようになります。

【例】 PGM201 :受注の入力 におけるヘルプ表示

DSPF に対してパネル・グループのヘルプをどのように定義するかは
生成の元となるUIMヘルプ」を参照してください。

21. HELP パネル・グループの表示 (DSPHLPPNL)

ヘルプとして用意されているパネル・グループの表示テストを行います。

                   HELP パネル・グループの表示  (DSPHLPPNL)

 選択項目を入力して,実行キーを押してください。

 パネル・グループ  . . . . . . .                  名前
   ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
DSPHLPPNL PNLGRP ( パネル・グループ名 )
【パラメータの説明】

パネル・グループ/ライブラリー(PNLGRP)

ヘルプとして用意されているパネル・グループと
それが保管されているライブラリーの名前を指定してください。

22. HELP 用 HTML の作成 (CRTHLPHTM)

ヘルプとして用意されているパネル・グループをヘルプ用の HTMLに変換します。

                        HELP 用 HTML の作成  (CRTHLPHTM)

  選択項目を入力して,実行キーを押してください。

  プログラム  . . . . . . . . . .                  名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
  ソース・ファイル  . . . . . . .   QPNLSRC        名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
 PNLGRP ソース・メンバー  . . . .   *PGM           名前 , *PGM
CRTHLPHTM PGM ( プログラム名 )
SRCF ( ソース・ファイル名 )
SRCMBR ( )
【パラメータの説明】

プログラム/ライブラリー(PGM)

ヘルプが定義されているプログラムと
そのプログラムが保管されているライブラリーの名前を指定してください。

ソース・ファイル/ライブラリー(SRCF)

パネル・グループが保管されているソース・ファイルと
そのソース・ファイルが保管されているライブラリーの名前を指定してください。

PNLGRP ソース・メンバー(SRCMBR)

パネル・グループ (PNLGRP) のソース・メンバー名を指定してください。

【解説】

生成されるヘルプ用の HTMLは

/AS400-NET.USR/TEMPLATE/(ライブラリー名)/
(プログラム名)/(PNLGRPソース・メンバー名).HTM

の形式で生成されます。
例えばライブラリー QTROBJ のプログラム : PGM201 に対するPNLGRPの名前が PGM201H であるとき
ヘルプ用の HTML は

/AS400-NET.USR/TEMPLATE/QTROBJ/PGM201/PGM201H.HTM

として生成されます。

23. HELP 用 HTML の表示 (DSPHLPHTM)

先の CRTHLPHTM によって PNLGRP から HTML に変換されたヘルプHTMLを表示します。

                        HELP 用 HTML の表示  (DSPHLPHTM)

  選択項目を入力して,実行キーを押してください。

  パネル・グループ  . . . . . . .                  名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
  プログラム名  . . . . . . . . .                  名前
DSPHLPHTM PNLGRP ( パネル・グループ名 )
PGM ( プログラム名 )
【パラメータの説明】

パネル・グループ/ライブラリー(PNLGRP)

変換元のパネル・グループとそれが保管されているライブラリーの名前を指定します。

プログラム名(PGM)

ヘルプを使用しているプログラムの名前を指定します。

【解説】

HELP 用 HTML の表示 (DSPHLPHTM) では上記の入力されたパラメータによって

/AS400-NET.USR/TEMPLATE/
(ライブラリー名)/(プログラム名)/(パネル・グループ名).HTM

をHELP用のHTMLであると想定して、そのHTMLを表示します。

WEB 化プログラム開発

AutoWeb は単なる Web フェーシング・ツールとして
5250 画面をそのまま Web 化するのに留まりません。
ここでは Web 表示のための 5250 画面の拡張方法を紹介します。

31. 5250 ハンドラーの追加 (ADD5250HLR)

ADD5250HLR コマンドは既存の RPG/COBOL ソースに
5250 ハンドラーの記述を自動的に追加します。
既存の RPG ソースには手動で 5250 ハンドラーの記述を追加することも
できますが ADD5250HLR コマンドを使って追加したほうが
挿入漏れや記述のミスもありません。
さらに元の RPG ソースが RPG III である場合は ADD5250HLR によって
ILE-RPG ソースに変換される利点もあります。

ADD5250HLR コマンドは既存の RPG ソースに直接、5250 ハンドラーを挿入するのではなく
5250 ハンドラーが挿入された ILE-RPG ソースを新たに作成します。
従って ADD5250HLR による新しい ILE-RPG ソースの受入れソース・ファイルを
予め用意しておく必要があります。

既存の COBOL に ADD5250HLR コマンドで 5250ハンドラーの記述を追加するためには
元の COBOL ソースは DSPFは外部記述であることが必要です。
さらに COBOL では DSPF への入出力は

     WRITE DISP-REC FORMAT IS "XXXXXXXXXX"    または
     READ  YYYYYYYYYY INTO XXXXXXXXXX-I FORMAT IS "XXXXXXXXXX"

のように WRITE DISP-REC または READ INTO ... によって FORMAT 句を
伴って記述されていなければなりません。
これ以外の特殊な記述を行っていいる場合は弊社ヘルブ・デスクまで
ご相談ください。

				5250 ハンドラーの追加  (ADD5250HLR)

選択項目を入力して,実行キーを押してください。

FROM ソース・ファイル  . . . . .   QRPGLESRC      名前 , QRPGSRC, QRPGLESRC
ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
FROM メンバー  . . . . . . . . .                  名前
TO ファイル  . . . . . . . . . .   QRPGLESRC      名前
ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
TO メンバー  . . . . . . . . . .   *FROMMBR       名前 , *FROMMBR
レコードの置き換えまたは追加      *NONE         *NONE, *ADD, *REPLACE
コンパイル・プロセッサー  . . .   *NO           *NO, *YES

		追加のパラメーター

追加ソースのカラー化  . . . . .   *WHT          *BLU, *RED, *WHT, *YLW...
行数を示すフィールド名  . . . .   GYOSU          文字値
ADD5250HLR FROMSRCF ( )
FROMMBR ( メンバー名 ) TOSRCF ( ファイル名 )
TOMBR ( ) MBROPT ( )
COMPILE ( ) COLOR ( )
GYOSU ( )
【パラメータの説明】

FROM ソース・ファイル/ライブラリー(FROMSRCF)

変換元の RPG/COBOL ソース・ファイルとそれが
保管されているライブラリー名を指定してください。

FROM メンバー(FROMMBR)

変換元の RPG/COBOL ソース・メンバー名を指定してください。

TO ファイル/ライブラリー(TOSRCF)

変換先となる RPG/COBOL ソース・ファイルとそれが保管されている
ライブラリーを指定してください。
ソース・ファイルは「ユーザー指定の DBCS データ=*YES」
CCSID=65535 で作成することをお勧めします。

TO メンバー(TOMBR)

変換先となる RPG/COBOL ソース・メンバー名を指定してください。

*FROMMBR
変換元のメンバーと同じ名前

レコードの置き換えまたは追加(MBROPT)

ソース・レコードを追加するかまたは既存のレコードを
上書きで置換えるのかを指示します。

コンパイル・プロセッサー(COMPILE)

*YES
eStudio で CTRL キー+ F7 キーでの
コンパイルするための記述を自動生成します。
*NO
コンパイル・プロセッサーは生成されません。

追加ソースのカラー化(COLOR)

どのようなソースが追加されたのかを
指定したカラーで表示することができます。

*WHT
*BLU
*RED
*YLW
*GRN
*PNK
ピンク
*TRQ
トルコ
*NONE
カラーを指定しません

行数を示すフィールド名(GYOSU)

プログラム・ソース中で SFL 行数を表すフィールドとして
使用されているフィールド名を指定してください。
そのフィールドが演算される直前に適切な演算命令を挿入します。

【RPGソースの変換について】

ADD5250HLR は元の FROM メンバーが RPG III である場合(ソース・タイプが RPG) は
自動的に ILE-RPG ソース(ソース・タイプ= RPGLE )に変換します。
このとき i5/OS の CVTRPGSRC コマンドによってソースは ILE-RPG に変換されますが
CVTRPGSRC でも変換エラーとなるソースは正しい ILE-RPG ソースになるように
ADD5250HLR の中で補正されます。
それでも、お客様の RPG ソースで変換エラーとなる場合は
潟Iフィスクアトロのヘルプ・デスクまでお知らせください。

32. 拡張表示装置ファイルの作成 (CRTEXDSPF)

CRTDSPF コマンドに代わるCRTEXDSPF コマンドは DSPF の拡張を可能にします。
CRTEXDSPF は DSPF を作成するという点で CRTDSPF と同じ機能ですが
さらに

  • 複数の表示レコードを合成する。
  • 24*80 を超える項目の指定を可能にする

という拡張機能を備えています。
つまり CRTDSPF の代わりに CRTEXDSPF を使えば
表示装置ファイル(DSPF)の機能を拡張することができます。

					  拡張表示装置ファイル作成  (CRTEXDSPF)

  選択項目を入力して,実行キーを押してください。

  ファイル  . . . . . . . . . . .                  名前
    ライブラリー  . . . . . . . .     *CURLIB      名前 , *CURLIB
  ソース・ファイル  . . . . . . .   *NONE          名前 , *NONE
    ライブラリー  . . . . . . . .                  名前 , *LIBL, *CURLIB
  ソース・メンバー  . . . . . . .   *FILE          名前 , *FILE
  生成重大度レベル  . . . . . . .   20            0-30
  フラグづけ重大度レベル  . . . .   0             0-30
  表示装置  . . . . . . . . . . .   *REQUESTER     名前 , *NONE, *REQUESTER
				 値の続きは+
  表示レコードの合成  . . . . . .   *NONE          名前 , *NONE
				 値の続きは+
  ユーザー指定の DBCS データ  . .   *NO           *NO, *YES
  外字  . . . . . . . . . . . . .   *YES          *YES, *NO
  テキスト ' 記述 ' . . . . . . .   *SRCMBRTXT
【パラメータの説明】

CRTEXDSPF は CRTDSPF コマンドの拡張ですので
CRTDSPFコマンドのパラメータと同じパラメータはIBM マニュアルを参照してください。
拡張されたパラメータは次のとおりです。

  表示装置  . . . . . . . . . . .   *REQUESTER     名前 , *NONE, *REQUESTER
				 値の続きは+

ここでは最大3つまでの表示レコードの合成を指示することができます。
合成された結果の表示レコードは「SUMMRCD」という名前のレコードとして合成されます。

33. プログラムの WEB 呼出し (CALLWEB)

CALLWEB コマンドとは適用業務プログラムを
ブラウザ上で AutoWeb として呼び出して実行するコマンドです。
ユーザー・メニュー上で IBM CALL コマンドは
適用業務プログラムを 5250 環境で呼び出して実行しますが
CALLWEB コマンドは 5250 環境から
ユーザー適用業務プログラムを AutoWeb として単独で実行することができます。

ユーザー・メニュー上では CALL コマンドではなく、CALLWEB コマンドで呼び出すように
しておくと CALLWEB のニュー・オプションが選択されると自動的にブラウザが
起動されてユーザー・プログラムはそのブラウザの上で起動されます。

CALLWEB PGM ( )
PARM ( ..... ) DEV ( )
PORT ( ) ADDURL ( )
STRPCO ( )
【パラメータの説明】

プログラム/ライブラリー(PGM)

CALL 命令と同じように呼び出して
実行するプログラムとそれが保管されているライブラリーの名前を指定します。
呼び出すプログラムは *PGM であれば
RPG/COBOL/CLP/C/REXX など何であっても構いません。

パラメーター(PARM)

このプログラムに渡すパラメータがあれば指定します。
パラメータは文字または数値のどちらでも渡すことができますが
文字の場合は 32バイトまで、数字の場合は P(15,0)です。

装置(DEV)

実行する装置の名前を具体的に指定することが できます。

*GEN
装置名は自動生成されます。
CALLWEB を実行した装置名に S01, S02, ...などを付加するか
または QPADEVxxxx 形式の装置名であれば
次に利用可能な QPADEVxxxx が利用されます。

PORT 番号(PORT)

HTTP サーバーが起動されている PORT の番号を指定します。
ALASKA の PORT 番号を指定してください。
ALASKA が PORT=80 で起動されているときは指定する必要はありません。
*SEARCH を指定すると CALLWEB は ALASKA の PORT 番号を自動検索します。
この省略値は *SEARCH です。

追加のURL表示(ADDURL)

表示

スプリット・ウィンドウとして表示するかどうかを指定します。

*YES
スプリット・ウィンドウとして表示します
*NO
スプリット・ウィンドウは使いません
別のタブで表示します。

位置

スプリット・ウィンドウとして表示する位置を指定します。

*TOP
上部に追加表示します
*BOTTOM
下部に追加表示します
*RIGHT
右側に追加表示します
*LEFT
左側に追加表示します

PCオーガナイザー開始(STRPCO)

このコマンドの実行時に STRPCO を実行するかを指定します。
このコマンドが実行されるときに PC オーガナイザーが既に起動されているのであれば、
この開始を *NO に指定して STRPCO を開始しないことをお勧めします。
STRPCO を続けて実行するとそこで実行が停止してしまう可能性があるからです。
このコマンドの実行前に STRPCO が開始されていないのであれば
このパラメータを *YES にセットして STRPCO を開始してください。

【CALLWEBの処理構造】

CALLWEB が実行された環境のユーザー、パラメータおよび
ライブラリー・リスト, *LDA が AutoWeb で実行される対話式ジョブに継承されます。

CALLWEB は、IBM i の HTTP IP アドレスとして登録されている
IP アドレスを PC オーガナイザーを経由して HTTPサーバー: ALASKA にアクセスします。
ALASKA 内では AutoWeb が起動されて対話式ジョブが別途、生成されて実行されます。

Aでの実行環境のライブラリー・リストはCまで伝えられて
Cでは指定されたプログラムの実行前にはAと同じライブラリー・リストが
セットされてから実行されます。

上記の3つのジョブは別々に動作していますが密接な関係は維持されています。
エンド・ユーザーはAの 5250 エミュレータ上で最初に実行していますが
BCでエラーが発生すればそれはすべてAに戻されて表示されます。
従ってAを実行しているエンド・ユーザーはBおよびCの処理が
正常に実行されたのかを知ることができます。

CALLWEB で使われる装置名

CALLWEB で呼び出されるプログラムは、現在実行されているジョブとは
別の異なるジョブとして生成されますので装置も異なります。

  • 最初に CALLWEB が実行されたジョブの装置が固定の名前であれば
    同じ装置を使用することはできませんので
    派生して生成されたジョブでは元の固定の名前に「xxxxS01」、「xxxxS02」のように
    Sxx が付加された装置名が生成されます。
  • CALLWEB を実行した装置名が 10 桁などで S01, ... などの派生ができない場合は
    CALLWEB は仮想端末の自動生成機能の可能性を試みます。
    このとき
    システム値 自動構成装置 QAUTOCFG = '1' :オン
    かつ
    仮想装置の自動構成 : QAUTOVRT = *NOMAX
    であれば CALLWEB は次に利用可能な既存の仮想端末(QPADEV xxxx )の中から
    タイプ : 5555 で使用可能な最初の仮想端末を選んで接続します。
    ( 他のプログラムによって使用中の装置は選択されません。) 該当する使用可能な装置が見つからないときは CALLWEB の実行は失敗します。

仮想端末装置をオンにするには

自動生成の仮想端末装置 (QPADEVxxxx) は IPL の直後はオフ (VRYOFF) のままです。
これらの既存の仮想端末装置をオンにしなければ、
新しい仮想端末装置が生成されてしまいます。
このことは CALLWEB 独自のものではなく
PCOMM などの 5250 エミュレータ一般に言えることです。
事前に既存の仮想端末をオン (VRYON) に変更しておけば既存の装置が選択されます。

そこで IPL の直後に

VRYCFG CFGOBJ(QPADEV*) CFGTYPE(*DEV) STATUS(*ON)

を実行すれば仮想端末をまとめてオンに設定することができます。
さらにスタートアップ (QSTRUP) に上記のコマンド実行を登録しておけば
自動的に IPL 直後に仮想端末をオンに変更することができます。

継承される環境

CALLWEB が実行された環境のうち、次のものが (C)の実行環境に継承(COPY)されます。

ユーザー

CALLWEB が実行された環境のユーザー・プロフィールでの
同じユーザーの実行環境が継承されます。
実行ユーザー名も同じでありあたかも同じユーザー名で
サイン・オンして実行したのと同じとなります。

パラメータ

呼び出すプログラムの実行に指定されたパラメータ

ライブラリー・リスト

CALLWEB が実行された環境のライブラリー・リストと
同じライブラリー・リストが継承されます。

*LDA

CALLWEB が実行された環境の *LDA (ただし 1020 バイトのみ)
と同じ *LDA がセットされます。

CALLWEB の実行権限

CALLWEB コマンドを実行するために必要は特殊権限はありません。
従って CALLWEB で呼び出されるジョブも元の CALLWEB が実行された環境の
ユーザーと同じユーザーとして起動しますが、そのために必要な権限は
ありませんので、どのような適用業務にでも CALLWEB を組み込むことができます。

CALLWEB の終了

CALLWEB で呼び出したプログラムはプログラム自身の持つ終了の機能キー(F3=終了)を
押すか、またはブラウザ右上の ボタンを押すと終了します。
このとき

  • サーバー (IBM i) 側で起動していたジョブも同時に終了する。
  • 終了キーによってブラウザやブラウザのタブも閉じて消失する。

ことが行われます。
ただしブラウザやブラウザのタブが正しく消失しない場合もあります。
これはブラウザの設定に依存しています。
ブラウザの設定 (インターネット・オプション) によって
IBM i 接続の IP アドレスを「信頼済みサイト」として次のように登録してください。
この登録によって終了キーとともにブラウザも正しく閉じられるようになります。

34. グラフ作成 ( CRTGRAPH )

CRTGRAPH コマンドは 与えられた数値を基にブラウザを起動してグラフに表示するコマンドです。
5250 エミュレータ環境で CRTGRAPH コマンドを実行すると
ブラウザが自動的に起動されてグラフを表示します。

CRTGRAPH GRAPH ( )
TEXT ( )
ITEMS (( ラベル 数量 ) ..... )
ADDURL ( )
STRPCO ( )
【パラメータの説明】

グラフ(GRAPH)

作成するグラフの種類を指定します。

*COLUMN
縦棒グラフ
*BAR
横棒グラフ
*LINE
折れ線グラフ
*AREA
面グラフ
*PIE
円グラフ

見出しタイトル(TEXT)

グラフを説明する最上部に表示する表題を指定します。

項目 x 30(ITEMS)

各項目の見出し ( 20A ) と表示する数量 ( 11,2 ) のセットを
最大 30 個まで指定します。

追加のURL表示(ADDURL)

表示

スプリット・ウィンドウとして合わせて表示するかどうかを指定します。
表示を *NO と指定した場合は別のタブとして表示されます。

*YES
スプリット・ウィンドウとして表示します
*NO
スプリット・ウィンドウは使いません
別のタブで表示します。

位置

スプリット・ウィンドウとして表示するときは
このウィンドウをどの位置に追加するかを指定します。

*TOP
上部に追加表示します
*BOTTOM
下部に追加表示します
*RIGHT
右側に追加表示します
*LEFT
左側に追加表示します

PC オーガナイザー開始(STRPCO)

このコマンドを開始するときに合わせて STRPCO も開始するかどうかを指定します。
このコマンドの実行前に既に PC オーガナイザーが開始されていると
わかっているときはこの値は *NO として STRPCO は開始しないでください。
STRPCO を続けて開始するとそこで実行が停止する場合があるのを避けるためです。

グラフのサンプル

GO QTROBJ/GRAPH または GO QTROBJ/DDS メニューの「6. 画像およびグラフ・メニュー 」を
選択すればグラフのサンプル・メニューを表示することができます。

【解説】

11.縦棒グラフ〜 15. 面グラフ を選択すると各種のグラフをブラウザに表示することができます。
グラフのさらに詳しい解説は こちら をご覧ください。

APP.WIZARD でプログラムを自動生成する

App.Wizard はデータ・ベースに基づいて DSPF ソース、PRTF ソース、RPG ソースなどを
生成してプログラム開発を支援します。
一般に新規開発とはいっても社内のソフトウェア資産をコピーして作成するという事例が多いようですが
App.Wizard を使うとわずかな時間で高品質なソースを生成することができます。
また生成の基礎となるテンプレート・ソースも自社用のソースを基盤として生成することも可能です。

41. DSPFソースの生成 (CRTDSPSRC)

CRTDSPSRC は基礎となるデータ・ベースに基づいて
それを使用する適用業務に必要な DSPF ソースを生成します。
CRTDSPSRC は DFU のような 1 レコード 1 画面の単票形式の画面から SFL 型の照会画面や
入力画面まで様々なパターンの DSPF ソースを生成することができます。

CRTDSPSRC SRCF ( )
SRCMBR ( ) TEXT ( )
TYPE ( ) USE ( )
DSPSIZ ( ) FILE ( 基礎ファイル名 )
MBROPT ( )
【パラメータの説明】

原始ファイル / ライブラリー(SRCF)

DSPF ソースを入れるソース・ファイルとライブラリー名を指定します。

原始メンバー(SRCMBR)

生成する DSPF ソースのメンバー名を指定します。

テキスト(TEXT)

DSPF の表題を指定します。
表題は DSPF のテキストとしても使用されます。

タイプ(TYPE)

アプリケーションのタイプを指定します。
この指定するタイプによって生成される DSPF ソースが異なります。

*RECORD
1 レコード 1 画面の DFU 形式を生成します
*SFL
SFL レコードの画面を生成します
*POPUP
POPUP ウィンドウの画面を生成します

使用目的(USE)

更新用なのか照会目的なのかを指定します。

*UPDATE
DSPF は更新用として使われます。
*INQUIRY
DSPF は照会用として使われます

画面サイズ(DSPSIZ)

DSPF の画面サイズを指定します。

*DS3
24 X 80形式
*DS4
27 X 132形式
*FREE
5250 ハンドラーによるフリー・サイズ
*HNDY
この画面はハンディ・ターミナルに使用します。

基礎ファイル / ライブラリー(FILE)

生成の基礎となるデータ・ベース名 (PF/LF) を指定してください。
ただし、これはユニークなキーつきのファイルでなくてはなりません。

レコードの置き換えまたは追加(MBROPT)

既存のソース・ファイルへの置換えまたは追加を指定します。

*ADD
初めてのレコードとして追加します。
もし既存のソース・メンバーがあれば
エラーとして上書きは行いません。
*REPLACE
既存のソース・メンバーがあれば上書きで置換えます。
【解説】

DSPF ソースは ASNET.USR/QDSPSRC のソース・メンバーから生成されます。
お客様はこれらのソース・メンバーを自社独自のものに置換えたり
ASNET.USR/QDSPSRC のメンバーをカスタマイズすることができます。

ソース・ファイルメンバー説明
ASNET.USR/QDSPSRC RECORD DFU タイプの 1 レコード 1 画面形式の
更新系 DSPF
DSPLY DFU タイプの 1 レコード 1 画面形式の
照会系 DSPF
SFL SFL レコードの照会画面
SFLUPD SFL レコードの更新画面
WINDOW POPUP レコードの照会画面

DSPF ソースの更新規則

お客様はこの規則に準じた独自のソース・メンバーを生成の基礎となる
ソース・メンバーとして上記と同じ名前で登録することができます。
ただし結果についてはお客様の責任の範囲内としてお願い致します。

  • <...> ....... < >内の文字列を可変長の文字列として置換える
  • [ ... ] ....... [   ]内の文字列を指定した文字列と同じ長さで置換える
[DSPF]
DSPF の名前
<TEXT>
DSPF のテキスト
[SRCINFO]
ソース情報
[DATE]
本日の日付
[TIME]
現在の時刻
[USER]
ユーザー名

キー・フィールドの更新

*KEY-FROM 〜 *KEY-END のあいだのソース・レコードで次の条件を満たすもの

<KEYCOL>
キー・フィールド名
[KEYFLD]
同上
<KEYTXT>
キー・フィールドのテキスト
<KEYCOL>
同上

データ・フィールドの更新

*DTA-FROM 〜 *DTA-END のあいだのキー・フィールドでないフィールド

[DTAFLD]
データ・フィールド名
<DTACOL>
データ・フィールドの欄見出し
<FLDTXT>
データ・フィールドのテキスト
<PGM>
プログラム名
<TEXT>
DSPF のテキスト

CRTDSPSRC の実行画面

CRTDSPSRC               DSPF ソースの生成         QTRSRC/QDSPSRC(PGM661FM)
                                                  *RECORD
  表示する項目を指定して実行キーを押してください。

 使用 :H= 縦方向に並べる D= 横方向に並べる

    順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
0001   1.00   H    SHCODE        A       10       商品 コード
0002   2.00   H    SHNAME        O       24       商品名
0003   3.00   H    SHTANK        S        7   0   単価
0004   4.00   H    SHSCOD        A        4       品種 コード

F3= 終了     F15= 他のデータ・ベースの取込み       F21= すべての選択
【解説】

使用

このフィールドを縦方向に配置するのか横方向へ配置するのかを
指定します。 ( H=縦方向, D=横方向 )
使用の指定のないフィールドは表示用に出力されません。

F15= 他のデータ・ベースの取込み

他のデータ・ベースをインクルードします。

 CRTDSPSRC                他のデータ・ベースの取込み

  選択項目を入力して、実行キーを押してください。

    ファイル名 . . . . . . . . . . . HINSHU          名前 , リストは F4 キー
      ライブラリー . . . . . . . . .    QTRFIL       名前 , *CURLIB, *LIBL
【解説】

インクルードしたいデータ・ベースの名前を指定してください。

 CRTDSPSRC               DSPF ソースの生成         QTRSRC/QDSPSRC(PGM661FM)
                                                   *RECORD
   表示する項目を指定して実行キーを押してください。

  使用 :H= 縦方向に並べる D= 横方向に並べる

     順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
 0001   1.00   H    SHCODE        A       10       商品 コード
 0002   2.00   H    SHNAME        O       24       商品名
 0003   3.00   H    SHTANK        S        7   0   単価
 0004   4.00   H    SHSCOD        A        4       品種 コード

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  - - -

  他のデータ・ベースの取込み                              QTRFIL/HINSHU
              X= 選択
 0001               HNSCOD        A        4       品種 テーn゙
 0002          X    HNSNAM        O       14       品種名
【解説】

インクルードを指定したデータ・ベースのレイアウトが下部に表示されます。
インクルードしたいフィールドを「X=選択」を指定してください。

 CRTDSPSRC               DSPF ソースの生成         QTRSRC/QDSPSRC(PGM661FM)
                                                   *RECORD
   表示する項目を指定して実行キーを押してください。

  使用 :H= 縦方向に並べる D= 横方向に並べる

     順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
 0001   1.00   H    SHCODE        A       10       商品 コード
 0002   2.00   H    SHNAME        O       24       商品名
 0003   3.00   H    SHTANK        S        7   0   単価
 0004   4.00   H    SHSCOD        A        4       品種 コード
 0005   5.00   H    HNSNAM        O       14       品種名

F3= 終了     F15= 他のデータ・ベースの取込み       F21= すべての選択
【解説】

インクルードしたフィールドが最下部に追加されます。
必要であれば順序番号を更新して表示順序を入れ替えてください。

修正を指示せずに実行キーを押せば DSPF ソースが生成されます。
生成された DSPF ソースは CRTDSPF または PRTEXDSPF によって DSPF を作成してください。

42. PRTFソースの生成 (CRTPRTSRC)

CRTPRTSRC は基礎となるデータ・ベースに基づいて
それを使用する適用業務に必要な PRTF ソースを生成します。
CRTPRTSRC は伝票形式の縦型のレコード印刷や、一覧表形式の印刷のための
PRTF ソースを生成することができます。

CRTPRTSRC SRCF ( )
SRCMBR ( ) TEXT ( )
TYPE ( ) ORIENT ( )
FILE ( 基礎ファイル名 )
MBROPT ( )
PAGESIZE ( )
LPI ( ) CPI ( )
【パラメータの説明】

原始ファイル / ライブラリー(SRCF)

PRTF ソースを入れるソース・ファイルと
ライブラリー名を指定します。

原始メンバー(SRCMBR)

生成する PRTF ソースのメンバー名を指定します。

テキスト(TEXT)

PRTF の表題を指定します。
表題は PRTF のテキストとしても使用されます。

タイプ(TYPE)

アプリケーションのタイプを指定します。
この指定するタイプによって生成される PRTF ソースが異なります。

*RECORD
1 レコード 1 画面の伝票形式を生成します。
*REPORT
一覧表形式の PRTF を生成します。

印刷の向き(ORIENT)

印刷する方向を指定します。

*LANDSCAPE
横方向の一覧形式
*PORTRAIT
縦方向の伝票形式

基礎ファイル / ライブラリー(FILE)

生成の基礎となるデータ・ベース名 (PF/LF) を指定してください。
ただし、これはユニークなキーつきのファイルでなくてはなりません。

レコードの置き換えまたは追加(MBROPT)

既存のソース・ファイルへの置換えまたは追加を指定します。

*ADD
初めてのレコードとして追加します。
もし既存のソース・メンバーがあれば
エラーとして上書きは行いません。
*REPLACE
既存のソース・メンバーがあれば上書きで置換えます。

ページ・サイズ(PAGESIZE)

用紙のページの大きさを指定します。
ページ・サイズ情報は DDS の作成には必要ではありませんが
CRTPRTF コマンドで印刷ファイルを作成するときに指定する項目として
ここで指定したページ・サイズをオーバーすることがないかどうか検査が行われます。

長さ --1 ページ当たりの行数

1ページ当たりの行数を示します。
66 または 88 を指定してください

幅 --1 行当たりの文字数

用紙の長さが 66 のときは 132 を、
用紙の長さが 88 のときは 198 を指定してください

測定方法

*ROWCOL
ページの長さおよびページ幅は、
行数と桁数で測定されます。
*UOM
ページの長さおよびページ幅は、
UOM パラメーターに指定して単位で測定されます。

行/インチ(LPI)

1インチ当たりの行数を指定します。
ページ・サイズが 66 のときは 6 と指定します。
ページ・サイズが 88 のときは 8 と指定します。

1 インチ当たりの文字数(CPI)

1インチ当たりの文字数を指定します。
ページ・サイズが 66 のときは 10 と指定します。
ページ・サイズが 88 のときは 15 と指定します。

【解説】

PRTF ソースは ASNET.USR/QPRTSRC のソース・メンバーから生成されます。
お客様はこれらのソース・メンバーを自社独自のものに置換えたり
ASNET.USR/QPRTSRC のメンバーをカスタマイズすることができます。

ソース・ファイルメンバー説明
ASNET.USR/QPRTSRC REPORT 一覧表形式の PRTF
RECORD 単票形式の印刷 PRTF

PRTF ソースの更新規則

お客様はこの規則に準じた独自のソース・メンバーを生成の基礎となる
ソース・メンバーとして上記と同じ名前で登録することができます。
ただし結果についてはお客様の責任の範囲内としてお願い致します。

  • <...> ....... < >内の文字列を可変長の文字列として置換える
  • [ ... ] ....... [   ]内の文字列を指定した文字列と同じ長さで置換える
[PRTF]
PRTF の名前
<TEXT>
PRTF のテキスト
[SRCINFO]
ソース情報
[DATE]
本日の日付
[TIME]
現在の時刻
[USER]
ユーザー名

キー・フィールドの更新

*KEY-FROM 〜 *KEY-END のあいだのソース・レコードで次の条件を満たすもの

<KEYCOL>
キー・フィールド名
[KEYFLD]
同上
<KEYTXT>
キー・フィールドのテキスト
<KEYCOL>
同上

データ・フィールドの更新

*DTA-FROM 〜 *DTA-END のあいだのキー・フィールドでないフィールド

[DTAFLD]
データ・フィールド名
<DTACOL>
データ・フィールドの欄見出し
<FLDTXT>
データ・フィールドのテキスト
<PGM>
プログラム名
<TEXT>
PRTF のテキスト

CRTPRTSRCの実行画面

 CRTPRTSRC               PRTF ソースの生成         QTRSRC/QPRTSRC(PGM611P)
                                                   *REPORT
   表示する項目を指定して実行キーを押してください。
                                                            用紙方向  *LANDSCAPE
  使用 :H= 縦方向に並べる D= 横方向に並べる

     順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
 0001   1.00        SHCODE        A       10   0   商品 コード
 0002   2.00        SHNAME        O       24   0   商品名
 0003   3.00        SHTANK        S        7   0   単価
 0004   4.00        SHSCOD        A        4   0   品種 コード

F3= 終了     F15= 他のデータ・ベースの取込み       F21= すべての選択
【解説】

使用

このフィールドを縦方向に配置するのか
横方向へ配置するのかを指定します。 ( H=縦方向, D=横方向 )
使用の指定のないフィールドは表示用に出力されません。

F15= 他のデータ・ベースの取込み

他のデータ・ベースをインクルードします。

CRTPRTSRC                他のデータ・ベースの取込み

 選択項目を入力して、実行キーを押してください。

   ファイル名 . . . . . . . . . . . HINSHU          名前 , リストは F4 キー
     ライブラリー . . . . . . . . .    QTRFIL       名前 , *CURLIB, *LIBL

F3= 終了       F4= プロンプト                       F12= 前画面
【解説】

インクルードしたいデータ・ベースの名前を指定してください。

 CRTPRTSRC               PRTF ソースの生成         QTRSRC/QPRTSRC(PGM611P)
                                                   *REPORT
   表示する項目を指定して実行キーを押してください。
                                                            用紙方向  *LANDSCAPE
  使用 :H= 縦方向に並べる D= 横方向に並べる

     順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
 0001   1.00        SHCODE        A       10       商品 コード
 0002   2.00        SHNAME        O       24       商品名
 0003   3.00        SHTANK        S        7   0   単価
 0004   4.00        SHSCOD        A        4       品種 コード

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  他のデータ・ベースの取込み                              QTRFIL/HINSHU
              X= 選択
 0001               HNSCOD        A        4       品種 テーn゙
 0002          X    HNSNAM        O       14       品種名
【解説】

インクルードを指定したデータ・ベースのレイアウトが下部に表示されます。
インクルードしたいフィールドを「X=選択」を指定してください。

CRTPRTSRC               PRTF ソースの生成         QTRSRC/QPRTSRC(PGM611P)
                                                  *REPORT
  表示する項目を指定して実行キーを押してください。
                                                           用紙方向  *LANDSCAPE
 使用 :H= 縦方向に並べる D= 横方向に並べる

    順序   使用   フィールド  TYPE  長さ   DEC  欄見出し
0001   1.00        SHCODE        A       10   0   商品 コード
0002   2.00        SHNAME        O       24   0   商品名
0003   3.00        SHTANK        S        7   0   単価
0004   4.00        SHSCOD        A        4   0   品種 コード
0005   5.00        HNSNAM        O       14   0   品種名

F3= 終了     F15= 他のデータ・ベースの取込み       F21= すべての選択
【解説】

インクルードしたフィールドが最下部に追加されます。
必要であれば順序番号を更新して表示順序を入れ替えてください。

修正を指示せずに実行キーを押せば PRTF ソースが生成されます。
生成された PRTFソースは CRTPRTF または PRTEXPRTF によって PRTF を作成してください。

43. RPG ソースの生成 (CRTRPGSRC)

生成された DSPF または PRTF を処理するための
ILE-RPG ソースを自動生成することができます。

CRTRPGSRC SRCF ( )
SRCMBR ( ) TEXT ( )
FILE ( 基礎ファイル名 )
DSPF ( 表示装置/印刷装置ファイル名 )
P5250GLR ( ) MBROPT ( )
【パラメータの説明】

原始ファイル / ライブラリー(SRCF)

RPG ソースを入れるソース・ファイルとライブラリー名を指定します。

原始メンバー(SRCMBR)

生成する RPG ソースのメンバー名を指定します。

テキスト(TEXT)

RPG の表題を指定します。

基礎ファイル / ライブラリー(FILE)

生成の基礎となるデータ・ベース名 (PF/LF) を指定してください。
ただし、これはユニークなキーつきのファイルでなくてはなりません。

表示装置/印刷装置ファイル / ライブラリー(DSPF)

処理の対象となる DSPF または PRTF の名前を指定します。
CRTRPGSRC は、このファイルを解析してどのような RPG ソースを生成するかを決定します。

5250 ハンドラーの追加(P5250GLR)

生成された RPG ソースに 5250 ハンドラーを追加します。

レコードの置き換えまたは追加(MBROPT)

既存のソース・ファイルへの置換えまたは追加を指定します。

*ADD
初めてのレコードとして追加します。
もし既存のソース・メンバーがあればエラーとして上書きは行いません。
*REPLACE
既存のソース・メンバーがあれば上書きで置換えます。
【解説】

CRTRPGSRC コマンドは 指定された DSPF や PRTF のタイプに応じた ILE-RPG ソースを
ASNET.USR/QRPGLESRC のメンバーの中から選択して自動生成します。
お客様はこれらのソース・メンバーを自社独自のものに置換えたり
ASNET.USR/QDSPSRC のメンバーをカスタマイズすることができます。

ソース・ファイルメンバー説明
ASNET.USR/QRPGLESRC RECORD DFU タイプの 1 レコード 1 画面形式の DSPF 用の更新系 RPGソース
DSPLY DFU タイプの 1 レコード 1 画面形式の DSPF 用の照会系 RPG ソース
SFL SFL レコード照会系 RPG ソース
SFLUPD SFL レコードの更新系 RPG ソース
WINDOW POPUP ウィンドウの照会系 RPG ソース
REPORT 一覧表印刷出力のための RPG ソース
DENPYO 単票形式の印刷出力 RPG ソース

RPGソースの更新規則

お客様はこの規則に準じた独自のソース・メンバーを生成の基礎となる
ソース・メンバーとして上記と同じ名前で登録することができます。
ただし結果についてはお客様の責任の範囲内としてお願い致します。

  • <...> ....... < >内の文字列を可変長の文字列として置換える
  • [ ... ] ....... [   ]内の文字列を指定した文字列と同じ長さで置換える
<PGM>
可変長のプログラム名
[TEXT]
固定長のテキスト名
[FILE]
固定長の基礎となるファイル名
[DSPF]
固定長の DSPF または PRTF 名
[DSPLIB]
固定長の DSPF/PRTF のライブラリー名
[SRCINFO]
ソース情報
[DATE]
本日の日付
[TIME]
現在の時刻
[USER]
ユーザー名
[KEYFLD]
キー・フィールド名

44. MENU ソースの生成 (CRTMNUSRC)

MENU を作成するための PNLGRP (=パネル・グループ)のソースを作成します。

CRTMNUSRC SRCF ( )
SRCMBR ( )
TEXT ( )
ITEM (( オプション番号 項目 ' テキスト コマンドまたは CALL 文 ) ..... )
MBROPT ( )
【パラメータの説明】

原始ファイル / ライブラリー(SRCF)

MENU ソースを入れるソース・ファイルとライブラリー名を指定します。

原始メンバー(SRCMBR)

生成する MENU ソースのメンバー名を指定します。

テキスト(TEXT)

MENU の表題を指定します。

メニュー項目(ITEM)

メニュー項目は オプション番号 + 項目テキスト + コマンド または
CALL 文の組み合わせを最大 24 個まで登録することができます。

レコードの置き換えまたは追加(MBROPT)

既存のソース・ファイルへの置換えまたは追加を指定します。

*ADD
初めてのレコードとして追加します。
もし既存のソース・メンバーがあれば
エラーとして上書きは行いません。
*REPLACE
既存のソース・メンバーがあれば上書きで置換えます。
【解説】

MENUソースの作成はパネル・グループ (*PNLGRP) のソースを生成します。
ユーザーのソース・ライブラリーには、あらかじめ

CRTSRCPF FILE(MYSRCLIB/QMNUSRC) RCDLEN(92)
    IGCDTA(*YES) CCSID(65535) AUT(*ALL)

によって 92 バイトの漢字処理可能なソース・ファイルを作成しておいてください。

MENU ソースの生成が完了すれば

CRTMNU MENU(MYLIB/MENU) TYPE(*UIM)
    SRCFILE(MYSRCLIB/QMNUSRC) AUT(*ALL)

のようにして *UIM を指定してメニューを作成してください。

パネル・グループとは
IBM のユーティリティー・メニューの 90% 以上が
このパネル・グループによるメニューです。
WRKQRY, WRKOUTQ, WRKACTJOB などの
ユーティリティーのインターフェースも
パネル・グループ (*PNLGRP) と呼ばれるオブジェクトによってできており
DSPF は使用されていません。
パネル・グループは IBM の開発用のインターフェースであり
パフォーマンスに優れた、HTML のようなタグ言語です。
F1 キーを押して表示されるヘルプもパネル・グループです。
まだパネル・グループ (*PNLGRP) に馴染みのない方も
この機会にパネル・グループを
積極的にご利用されることをお勧め致します。
AutoWeb ではパネル・グループを HTML に変換する等、
パネル・グループに関する ユーティリティーも用意されています。
ストアド・プロシージャー

SQL. RPG または QUERY/400などからストアド・プロシージャーを作成します。
ストアド・プロシージャーとは SQLアーキテクチャーによって
データ・ベースにアクセスしてデータを抽出するプロシージャーのことです。
かつてはストアド・プロシージャーは内部記憶式プロシージャーとも呼ばれていました。
SQL文を利用したデータ抽出の仕組みをプログラムとして保管したものと考えてよいでしょう。

ただしストアド・プロシージャーというオブジェクトが *PGM や *QRYDFN のように
オブジェクト・タイプとして存在しているわけではありません。
ストアド・プロシージャーとして登録/作成することはできますが
あるオブジェクトを DSPPGM などのコマンドを使って
それがストアド・プロシージャーであることを簡単に識別することはできません。
( ストアド・プロシージャーがどこにどのように登録されているかは後述します。)

ストアド・プロシージャーが重要であるのは ストアド・プロシージャーが
IBM i のデータ・ベースを簡単に抽出できる汎用的な機能だからです。
例えば ODBCドライバーという機能名を聞いたことがあると思いますが
ODBCドライバーは クライアント/サーバー・モデル( C/S ) においてクライアントからの要求を
ODBCドライバーが結果セットをクライアントの VisualBASICのプログラムなどへ戻す役割を担っています。
このODBCドライバーがサーバー内でアクセスしているのがストアド・プロシージャーです。
ODBCドライバーは SQL文を直接、実行しているように見えますが
実は一時的にストアド・プロシージャーを作成して、
そのストアド・プロシージャーにデータを要求しているのです。
つまりデータ・ベースを直接、アクセスしているのはストアド・プロシージャーに他なりません。

ここで紹介する機能を使ってストアド・プロシージャーを作成すれば、
もちろん C/S モデルを実現することができますが
C/S モデルはもはや衰退したソリューションです。
Web化が進んだ今日では C/S モデルは廃止の運命にあります。
代わって登場したのが Webであり、Web上ではストアド・プロシージャーは
簡単にデータ・ベースをアクセスできるという利点を生かして次のような場面に応用されます。

AutoWeb

  • 動的なコンボボックス
  • POPUP検索

eStudio 系

  • 各種グラフの表示 (縦棒、横棒、円グラフ, 折れ線グラフ)
  • 生産計画などのシミュレーション適用業務

ただし、これらの機能を実現するために必ずしも
ストアド・プロシージャーの作成が必要となるわけではありません。
DDSソースの簡単な記述でデータ・ベースを十分にアクセスできるのであれば
DDSソースに適切な記述をしておけばストアド・プロシージャーの作成は必要ありません。
例えば担当者マスターを読んでコンボボックスにしたい場合、
担当者が全員でも 20名であれば、すべての担当者レコードを読むだけで済みますから
DDSの記述だけで十分であり、あえてストアド・プロシージャーを作成する必要もありません。
しかし支店別に支店を指定して担当者を表示するように制御したい場合や
特定の条件によって担当者レコードを抽出したいのであれば条件に適うような
ストアド・プロシージャーを作成することを考慮しなければなりません。

ストアド・プロシージャーの種類は大別して

SQL

動的コンボボックスや POPUP検索用に REFFLD+TEXT記述の検査でよい場合は
CRTDSPF して実行すれば SQLストアド・プロシージャーは自動生成されます。
事前に プロシージャーを作成しておく必要はありません。
簡易ではなく独自に SELECT文を記述してプロシージャーを作成したい場合に
SQLプロシージャーとして作成することができます。

RPG/COBOL または C

事前にRPG/COBOLまたは C言語によって
細かな制御を必要とするプロシージャーを作成するのであれば
RPG/COBOLまたは C言語によって作成したプログラムを
プロシージャーとして登録することができます。

QUERY/400(QRYDFN)

事前に作成したQUERYをプロシージャーとして登録することもできます。
QUERYであればレコード選択をわかりやすく抽出することができ
簡単にレコード選択が正しいことを
QUERYの実行によって検証することができます。

ストアド・プロシージャーのさらにくわしい説明は「ストアド・プロシージャーとは?」を参照してください。

51. SQL ストアド・プロシージャーの作成 (CRTSQLPRC)

CRTSQLPRC コマンドは SQL, プログラム(RPG, COBOL, C)
または QUERY/400定義からストアド・プロシージャーを作成します。
プログラムやQRYDFN からストアド・プロシージャーを作成するのであれば
それらのプログラムや QRYDFN定義は事前に作成しておく必要があります。
作成したストアド・プロシージャーは AutoWeb の動的コンボボックスや
POPUP検索に利用することができますが
動作を確認するにはあとで紹介する「ODBCドライバーの実行」によって確認することができます。

                    ストアドプロシージャーの作成  (CRTSQLPRC)

  選択項目を入力して,実行キーを押してください。

  ストアド・プロシージャー  . . .   *NONE          名前 , *NONE
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
  タイプ  . . . . . . . . . . . .   *SQL          *SQL, *RPG, *COBOL...
  ポップアップ検索  . . . . . . .   *NO           *YES, *NO
  SQL 文   . . . . . . . . . . . .   SELECT





                                                                     ...
  レコードの選択  . . . . . . . .   *NO           *KEY, *RRN, *NO
CRTDSQLPRC PROC ( )
TYPE ( ) SELECT ( SELECT )
POPUP ( )
PGM ( )
SELRCD ( )
REPLACE ( )
【パラメータの説明】

ストアド・プロシージャー/ライブラリー(PROC)

ストアド・プロシージャー と、それが保管されている
ライブラリーの名前を指定してください。

タイプ(TYPE)

ストアド・プロシージャー作成の基底となる
プログラムのオブジェクト・タイプを指定してください。
*SQL, *RPG, *COBOL, *QRYDFN または *C を指定します。
*SQL 以外では作成の基底となるプログラムが既に存在していなければなりません。

SQL文(SELECT)

タイプに *SQL と指定した場合は
ここで SQL の SELECT 文を入力してください。

ポップアップ検索(POPUP)

作成しようとするストアド・プロシージャーを
POPUP 検索として利用するのであれば *YES として指定してください。

プログラムまたは QUERY/ライブラリー(PGM)

タイプに *SQL 以外を指定した場合は
ここにプログラム名とそれが保管されているライブラリーの名前を指定してください。

レコードの選択(SELRCD)

実行時にレコードを選択したい場合は
*KEY(キーによる選択)または *RRN(RRNによる選択)を指定してください。

既存のプロシージャーの置換え(REPLACE)

同じ名前のプロシージャーが既に存在している場合に、
これを置換えてよいかどうかを指示します。

*YES
同じ名前があれば上書きします。
*NO
同じ名前があれば上書きしません。

ストアド・プロシージャーの保管

対話式SQL では

SELECT * FROM SYSIBM/SQLPROCEDURES

を実行するとストアド・プロシージャーの一覧を表示することができます。
またストアド・プロシージャーの一覧は

  • SYSIBM/SQLPROCS (論理ファイル)

または

  • QSYS2/SYSROUTINE (物理ファイル)

というファイルに保存されています。

52. ODBC ドライバーの実行 (ODBCDVR)

ODBCドライバーとはクライアントに代わってストアド・プロシージャーを起動して、
ストアド・プロシージャーからの結果セットのデータを
クライアントに戻す機能を果たすプログラムのことです。
ここで提供されるODBCドライバーとは C/Sモデルのためのものではなく
ストアド・プロシージャーを実行してテストしたり、
結果セットをXML やデータとして TCP/IP通信 でブラウザへ戻すためのものです。
この ODBCドライバーはブラウザからの要求に応えて
ストアド・プロシージャーからの結果セットをブラウザに戻すだけでなく、
ユーザーが作成したストアド・プロシージャーをテストすることができます。

				ODBC ドライバー  (ODBCDVR)

選択項目を入力して,実行キーを押してください。

ストアド・プロシージャー  . . .   *NONE          名前 , *NONE
ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
サービス・プログラム  . . . . .   *NONE          名前 , *NONE
ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
ポップアップ検索  . . . . . . .   *NO           *YES, *NO
SQL 文   . . . . . . . . . . . .   SELECT





WHERE 句   . . . . . . . . . . .   *NONE



出力するレコードの数  . . . . .   *END           数値 , *END
出力形式  . . . . . . . . . . . > *XML          *DATA, *XML, *CSV
文字セット  . . . . . . . . . .   *SHIFT_JIS    *SHIFT_JIS, *UTF-8
出力  . . . . . . . . . . . . .   *PRINT        *, *PRINT, *TCPIP

追加のパラメーター

コピー開始レコード番号  . . . .   *START         数値 , *START
コピー終了レコード番号  . . . .   *END           数値 , *END
ODBCDVR PROC ( )
SRVPGM ( )
POPUP ( )
SELECT ( SELECT ) WHERE ( )
NBRRCDS ( ) OUTFMT ( )
CHARSET ( ) OUTPUT ( )
FROMRCD ( )
TORCD ( )
FROMKEY ( (キーの値 キーの値 キーの値 ... ) )
TOKEY ( (キーの値 キーの値 キーの値 ... ) )
DEBUG ( )
【パラメータの説明】

ストアド・プロシージャー/ライブラリー(PROC)

ストアド・プロシージャー と、それが保管されている
ライブラリーの名前を指定してください。

サービス・プログラム/ライブラリー(SRVPGM)

サービス・プログラム と、それが保管されている
ライブラリーの名前を指定してください。

ポップアップ検索(POPUP)

POPUP検索として利用するのであれば *YES として
指定してください。

SQL文(SELECT)

ストアド・プロシージャーを指定しない(*NONE)場合は
SQL SELECT文を直接、打鍵してください。

出力するレコードの数(NBRRCDS)

出力したいレコード数を指定することができます。
*END であれば最後のレコードに至るまで出力されますが
レコード数を指定することもできます。

出力形式(OUTFMT)

出力様式を指定してください。
*DATA, *XML または *CSV を指定することができます。

文字セット(CHARSET)

ODBC ドライバーの出力をブラウザに戻す場合の出力文字セットを指定します。

SHIFT_JIS
シフト JIS コード
UTF-8
UNICODE の URF-8 を指定します

出力(OUTPUT)

出力の方法を指定します。

*PRINT
印刷出力
*TCPIP
TCP/IP通信
*
画面出力

コピー開始レコード番号 / 終了レコード番号(FROMRCD〜TORCD)

選択するレコード番号の開始番号と終了番号を指定することができます。

コピー開始レコード・キー / 終了レコード・キー(FROMKEY〜TOKEY)

選択するレコード・キーの開始キーと終了キーを指定することができます。

デバッグ・モード(DEBUG)

障害のときの原因の調査のためのデバッグ情報を出力します。

*YES
デバッグ情報を出力する
*NO
デバッグ情報を出力しない

53. SQL ストアド・プロシージャーの処理 (WRKSQLPRC)

WRKSQLPRCコマンドを使えば、現在、どのようなストアド・プロシージャーが
IBM i に登録されているかを調べることができます。
一般にストアド・プロシージャーの一覧を調べるコマンドは i5/OS には提供されていませんので
この WRKSQLPRC がストアド・プロシージャーを知るための唯一のコマンドとなります。

 WRKSQLPRC            SQL ストアド・プロシージャーの処理

 ユーザー・プロフィール . . . . :

 オプションを入力して,実行キーを押してください。
   2= 変更   4= 削除   5= 表示

 OPT   プロシージャ    ライブラリー      タイプ    テキスト
       RPGSET      TEST.COM    *RPGLE    ストアド・プロシージャー結果
       P3          QTROBJ      *SQL     SQL PROCEDURE P3
       P1          QGPL        *SQL     SQL PROCEDURE P1
       P2          QGPL        *SQL     SQL PROCEDURE P2
       P4          R610OBJ     *SQL     SELECT TKCODE, TKNMJ FROM QTRF
       QACXSQBC9R  QUSRTEMP    *SQL     SQL PROCEDURE QACXSQBC9R
       P1          QRPLOBJ     *SQL     SQL PROCEDURE P1
       QACXW858RG  QUSRTEMP    *SQL     SELECT SHCODE,SHNAME,SHTANK FR
       QACX0RKQL7  QUSRTEMP    *SQL     SELECT TACODE, TTNAMJ FROM QTR
       QACX6QR8YV  QUSRTEMP    *SQL     SELECT TACODE, TTNAMJ FROM QTR
       QACX0RJHY8  QUSRTEMP    *SQL     SELECT TACODE, TTNAMJ FROM QTR
       QACXNCM226  QUSRTEMP    *SQL     SELECT TACODE, TTNAMJ FROM QTR
       QACXLAHG7R  QUSRTEMP    *SQL     SELECT TACODE, TTNAMJ FROM QTR
                                                                       続く ...
 F3= 終了   F12= 取消し
 (C) COPYRIGHT OFFICE QUATTRO 2016.
【パラメータの説明】

プロシージャー/ライブラリー

登録されているプロシージャーの名前とそれが保管されているライブラリーの名前です。
ライブラリー QUSRTEMP に保管されている 「QACXSQBC9R」のような
名前は AutoWeb によって自動生成されたプロシージャーです。
DDS に記述した動的なコンボボックスや
PROMPT 検索要求に必要なプロシージャーは AutoWeb によって自動生成されます。
これも実行の都度、生成されるのではなく一度でも生成されると次にはそれが再利用されますので
実行の都度、無制限に増えていくことはありません。

タイプ

*SQL
SQL文によるストアド・プロシージャー
*RPGLE
ILE-RPG によるストアド・プロシージャー(ユーザー作成)
*CBL
COBOL によるストアド・プロシージャー(ユーザー作成)
*QRYDFN
QUERY/400 によるストアド・プロシージャー(ユーザー作成)

54. SQL ストアド・プロシージャーの削除 (DLTSQLPRC)

DLTSQLPRC コマンドは既存の SQL ストアド・プロシージャーを削除します。
ストアド・プロシージャーはユーザーの目に見えないところに管理されていますので
DLTPGM コマンドなどで簡単に削除することができません。
従ってストアド・プロシージャーを削除するには、この DLTSQLPRC コマンドが必要になります。

DLTSQLPRC PROC ( )
【パラメータの説明】

PROC(ストアド・プロシージャー/ライブラリー)

削除したいプロシージャー名とライブラリー名を明示的に指定してください。

【解説】

これが *QRYDFN から生成されたストアド・プロシージャーである場合は
DLTQRY によって *QRYDFN も削除されます。
すべてのストアド・プロシージャーは DLTPGM によって *PGM が削除されます。

LINE BOTメニュー

55.LINE BOT の実行およびデバッグ


	LINEBOT                        LINE BOT メニュー
									システム :   S
	次の中から1つを選んでください。

	LINE BOT の実行およびデバッグ
	1. LINE BOT CGI のデバッグ                 LINE
	2. AUTOWEB ログ開始                        STRAUTLOG
	3. AUTOWEB ログ終了                        ENDAUTLOG
	4. QNETJOBLOG の表示                       ASNET.USR/QNETJOBLOG

	環境データ・ベースの初期化
	11. 日本語データ・ベースの初期化           INZWORDDB
	12. 知識データ・ベースの初期化             INZKNOWDB
	13. 経験データ・ベースの初期化             INZEXPRDB
	14. LINE BOT プログラム相互参照作成        CRTPGMREF
	15. LINE BOT フィールド参照の作成          CRTPGMFFD

	環境データ・ベースの登録
	21. 日本語データ・ベースの登録             WRKWORDDB
	22. 知識データ・ベースの登録               WRKKNOWDB
	23. 経験データ・ベースの登録               WRKEXPRDB

	
    
LINE BOT の実行およびデバッグ
1. LINE BOT CGI のデバッグ(LINE)

LINEコマンド(LINE)はLINE BOTの動作検証を行うことができます。
検証の目的は

・データ・ベース登録の妥当性を検査する
...日本語データ・ベースや知識データ・ベースなどへの登録が
有効であるかの妥当性を検査するためにLINE BOTを
シミュレーションで動作させる。
・出口プログラムを対話式環境でデバッグする
...ユーザーが作成した出口プログラムをSTRDBGコマンドで
デバッグ開始させてから、このLINEコマンドによって
出口プログラムを呼出してデバッグする。
			LINE CGI デバッグ  (LINE)

選択項目を入力して,実行キーを押してください。

入力  . . . . . . . . . . . . . >  得意先検索

オプション  . . . . . . . . . . > *DEBUG        *DEBUG, *EXEC
プログラム  . . . . . . . . . .   PGM902         名前 , *NONE
	ライブラリー  . . . . . . . .     QTROBJ       名前 , *LIBL, *CURLIB
サービス・プログラム  . . . . .   *NONE          名前 , *NONE
	ライブラリー  . . . . . . . .                  名前 , *LIBL, *CURLIB
		
【パラメータの説明】

入力 (WORD)

80桁までのLINE BOTに対する入力値を打鍵して入力します。

オプション(OPTION)

*EXEC
LINE BOTによる実行をシュミレートします。
LINE BOTが実際にLINEに送信するメッセージが表示それます。
*DEBUG
LINE BOTに実行はデバッグ・モードとして
LINE BOTの処理の明細が適宜メッセージ出力されます。
これによってLINE BOTが内部でどのような処理を行っているかを知ることができます。
またプログラムやサービス・プログラムの名前を指定すれば
指定したプログラムまたはサービス・プログラムを
デバッグ・モード(STRDBG)で開始します。
終了と同時にENDDBGも実行されます。
2. AUTOWEB ログ開始(STRAUTLOG)

STRAUTLOGコマンドはLINE BOTのログを開始させます。
STRAUTLOGコマンドが実行された後のLINE BOTはすべてログが印刷出力されます。

                      AUTOWEB ログ開始  (STRAUTLOG)

選択項目を入力して,実行キーを押してください。

デバッグ :
  仮想端末 (VT5250) . . . . . .   *OFF          *ON, *OFF
  AutoWeb (CVT5250)  . .   *OFF          *ON, *OFF
 LINE デバッグ  . . . . . . . .   *ON           *ON, *OFF
表示装置ファイル  . . . . . . .   *NONE          名前 , *NONE
  ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB, *PRV
表示レコード  . . . . . . . . .   *ALL           名前 , *ALL
【解説】

LINEデバッグだけを*ONにしてログ開始を指示します。
ログの印刷はOUTQ: ASNET.USR/QNETJOBLOG に出力されます。

3. AUTOWEB ログ終了(ENDAUTLOG)

ENDAUTLOGはAUTOWEBのログ印刷をすべて終了させます。

AUTOWEB ログ終了  (ENDAUTLOG)

選択項目を入力して,実行キーを押してください。

デバッグ :
	仮想端末 (VT5250) . . . . . .   *OFF      セッション・ファイル    *ON, *OFF
	AutoWeb (CVT5250)  . .   *OFF          *ON, *OFF
	LINE デバッグ . . . . . . . .   *OFF          *ON, *OFF
【解説】

すべてのAUTOWEBログ出力を終了します。

    
    
環境データ・ベースの初期化

LINE BOTを初めて使うときにはあらかじめ基本となる情報を
データ・ベースに登録しておくと会話をスムースに行うことが
できます。

11. 日本語データ・ベースの初期化(INZWORDDB)

LINE BOTは最初にユーザーからの文章の助詞、接続詞、接頭語も接尾語などを
文章の中から除去すると同時に除去した語句の持つ意味によって
文章の意味を判断します。

▼日本語データ・ベースの初期化

位置 名詞コード 意味 実行コマンド 決定 次の名詞コード
LST 知りたい ASK
MID RMV
TOP こんにちは HLW はい、こんにちは

例えば「NV-CF1の在庫を知りたい。」という文章に対して
この文章中の助詞「を」や「。」、「知りたい」という語句を
日本語データ・ベースに登録しておいてこれらを文章すら除去すると
「NV-CF1」「在庫」という用語が残ります。

この残った用語がユーザーが求めている文章の対象であり
これら残った語句のことをキー・ワードと呼びます。
最終的にLINE BOTはキー・ワードを調べればよいことになります。
日本語の解析とはキー・ワードを求めることです。

この日本語データ・ベースは導入時に既に登録されていますが
後に紹介する「日本語データ・ベースの登録」(WRKWORDDB)で
ユーザーが独自の日本語の語句を追加することができますが
何らかの事情で日本語データ・ベース(ASNET.USR/WORDDB)を
 導入時の状態に戻したい場合はこのコマンド:INZWORDDBを
 実行してください。

日本語データ・ベースの初期化  (INZWORDDB)

選択項目を入力して,実行キーを押してください。

追加オプション  . . . . . . . .   *INZ          *INZ
		
【解説】

日本語データ・ベース(ASNET.USR/WORDDB)を導入時の状態に戻します。

12. 知識データ・ベースの初期化(INZKNOWDB)

知識データ・ベース(ASNET.USRKNOWDB)とはIBM iのオブジェクト名が
登録されているデータ・ベースです。
日本語でIBM iのオブジェクトを指定できるようにするための
テーブルです。
例えば「商品」や「商品マスター」と言ってもLINE BOTはどのオブジェクトを
参照すればよいかわかりません。
そこで「商品」と言えば「商品マスター」のことであり
「商品マスター」とはオブジェクトとして

「QTRFIL/SHOHIN」(=ライブラリーQTRFILのファイル: SHOHIN)

であると登録していればLINE BOTはQTRFIL/SHOHINを参照することができます。
このように日本語の用語をIBM iのオブジェクト名に置換えるための
登録がこの知識データ・ベース(ASNET.USR/KNOWDB)です。

▼知識データ・ベースの初期化

位置 名詞コード 意味 実行コマンド 決定 次の名詞コード オブジェクト
MID 商品 ASK 商品マスター
MID 商品マスター DBS QTRFIL/SHOHIN *FILE

また通常の語句も意味をLINE BOTに教えるために登録する日本語も
知識データ・ベースに登録されます。

ここでは知識データ・ベースの初期化(INZKNOWDB)について解説します。
知識データ・ベースの初期化(INZKNOWDB)とはIBM iのオブジェクト名と
オブジェクトのテキストの組合せを自動的に登録することです。

				知識データ・ベース初期化  (INZKNOWDB)

選択項目を入力して,実行キーを押してください。

ファイル  . . . . . . . . . . . > *ALL           名前 , *ALL
	ライブラリー  . . . . . . . . >   QTRFIL       名前 , *CURLIB
オプション  . . . . . . . . . .   *INZ          *INZ, *REMOVE, *ADD, *REPLACE
オブジェクト・タイプ  . . . . .   *FILE         *ALL, *ALRTBL, *AUTL...
属性  . . . . . . . . . . . . .   *BOTH         *ALL, *BOTH, CLP, CLE...
	
【解説】

これが *QRYDFN から生成されたストアド・プロシージャーである場合は
DLTQRY によって *QRYDFN も削除されます。
すべてのストアド・プロシージャーは DLTPGM によって *PGM が削除されます。

【パラメータの説明】

ファイル (FILE)

ファイルを個別に指示することもできますしライブラリーを指定して
その中のすべてのファイルについて*ALLとして指示することもできます。
知識データ・ベース(ASNET.USR/KNOWDB)への登録はオブジェクトの名前を
登録しますのでライブラリー名を明示的に指定してファイル名は*ALLの
指定でまとめて登録するとよいでしょう。

オプション

*ADD
既存の知識データ・ベースにこれからのレコードを追加します。
*REMOVE
既存の知識データ・ベースからここで指定したレコードの分を除去します。
*INZ
導入時の値に知識データ・ベースを戻します。
*REPLACE
指定した知識データ・ベースにすべて置換えます。

オブジェクト・タイプ(*OBTYPE)

*FILE
推薦するオブジェクト・タイプは*FILEです。
IBM iのデータ・ベースの値を検索することが
目的であれば*FILEを指定してください。
ただし他のオブジェクト・タイプを指定することも
できます。

属性(*OBJATR)

オブジェクトの属性を指定します。PF, LFのようにIBM iのオブジェクト属性を
指定することもできますがさらに次の特殊値を指定することができます。

*BOTH
属性 PF, LFの両方を指定します。
*PF
属性: PFおよびPF-DTAを指定します。
*PF
属性: LFを指定します。
13. 経験データ・ベースの初期化(INZEXPRDB)

  知識データ・ベースにはオブジェクトの名前を登録していめのに対して
この経験データ・ベースにはデータ・ベースのレコード単位での
情報が保管されることが多くなります。

  あるライブラリーのデータ・ベースのレコードを特定するのに
必要なキーなどの情報は経験データ・ベースに保管されます。
例えば「NV-CF1の在庫を知りたい」という質問に対して
NV-CF1の意味が商品を意味していると教えられたら
「NV-CF1-->商品」という情報は経験データ・ベースに保管されて
「商品-->商品マスター」-->「商品マスター--> QTRFIL/SHOHIN」と
 リンクを重ねて商品マスター(QTRFIL/SHOHIN)に辿りつきさらに
「NV-CF1」を含む商品マスター(QTRFIL/SHOHIN)のレコードを
抽出することができます。

▼経験データ・ベース(QUSRTEMP/EXPRDB)

位置 名詞コード 意味 実行コマンド 決定 次の名詞コード オブジェクト
MID NV-CF1 商品マスター

  これは始めから「NV-CF1」が商品マスター(QTRFIL/SHOHIN)であることが
わかっていれば「NV-CF1」と聞くだけでただちに検索できるはずです。
このようにキーになるデータを登録しておくことを「経験データ・ベースの初期化」
 と呼びます。
「経験データ・ベースの初期化」とは指定したデータ・ベースのキー検索対象となる
 キーの部分を登録することです。
( 複数個のキー・フィールドのデータ・ベースやキーのないデータ・ベースは
登録されません。)

			知識データ・ベース初期化  (INZKNOWDB)

選択項目を入力して,実行キーを押してください。

ファイル  . . . . . . . . . . . > *ALL           名前 , *ALL
ライブラリー  . . . . . . . . >   QTRFIL       名前 , *CURLIB
オプション  . . . . . . . . . .   *INZ          *INZ, *REMOVE, *ADD, *REPLACE
オブジェクト・タイプ  . . . . .   *FILE         *ALL, *ALRTBL, *AUTL...
属性  . . . . . . . . . . . . .   *BOTH         *ALL, *BOTH, CLP, CLE...
		
【解説】

この表示はファイルを個別に指定してファイル別に経験データ・ベースに 登録を指示する典型的な入力画面を例示しています。

【パラメータの説明】

ファイル (FILE)

ファイルを個別に指示することもできますしライブラリーを指定して
その中のすべてのファイルについて*ALLとして指示することもできます。
ただしこの経験データ・ベース(QUSRTEMP/EXPRDB)には各ファイルの
   レコード数と同じ数のレコードが追加されることになりますので
慣れないうちにいきなり*ALLで指定することは避けてください。
検索の対象と予想されるデータ・ベースを個別に指定することを
お奨めします。

オプション

*ADD
既存の知識データ・ベースにこれからのレコードを追加します。
*REMOVE
既存の知識データ・ベースからここで指定したレコードの分を除去します。
*INZ
導入時の値に知識データ・ベースを戻します。
*REPLACE
指定した知識データ・ベースにすべて置換えます。

オブジェクト・タイプ(*OBTYPE)

*FILE
推薦するオブジェクト・タイプは*FILEです。
IBM iのデータ・ベースの値を検索することが
目的であれば*FILEを指定してください。
ただし他のオブジェクト・タイプを指定することも
できます。

属性(*OBJATR)

オブジェクトの属性を指定します。PF, LFのようにIBM iのオブジェクト属性を 指定することもできますがさらに次の特殊値を指定することができます。

*BOTH
属性 PF, LFの両方を指定します。
*PF
属性: PFおよびPF-DTAを指定します。
*PF
属性: LFを指定します。
14. LINE BOTプログラム相互参照作成(CRTPGMREF)

LINE BOT プログラム相互参照作成(CRTPGMREF)とは
プログラム相互参照(DSPPGMREF)をデータ・ベースとして保管したものです。
これによりあるファイルがどのプログラムによって使用されているかを
知ることができます。

▼プログラム相互参照ファイル(QUSRTEMP/DSPPGMREF)

ライブラリー プログラム 参照オブジェクト ライブラリー ...
QTROBJ ANS001 SHOHIN QTRFIL
		LINE BOT プログラム参照作成  (CRTPGMREF)

選択項目を入力して,実行キーを押してください。

プログラム  . . . . . . . . . . > *ALL           名前,総称* , *ALL
	ライブラリー  . . . . . . . .     QTROBJ       名前 , *LIBL, *CURLIB...
出力  . . . . . . . . . . . . . > *OUTFILE      *, *PRINT, *OUTFILE
オブジェクト・タイプ  . . . . .   *PGM          *ALL, *PGM, *SQLPKG...
				値の続きは+
出力を受け取るファイル  . . . . > DSPPGMREF      名前
	ライブラリー  . . . . . . . . >   QUSRTEMP     名前 , *LIBL, *CURLIB
出力メンバー・オプション :
	出力を受け取るメンバー  . . . > *FIRST         名前 , *FIRST
	レコードの置き換えまたは追加  > *REPLACE      *REPLACE, *ADD
【解説】

このコマンドを実行するには必ずライブラリー名を明示的に指定してください。
その他のパラメータ値は初期値のままで実行してください。

【パラメータの説明】

プログラム (PGM)

ライブラリー名を明示的に指定してください。
指定したライブラリー内のプログラムの相互参照が作成されます。

出力(OUTPUT)

出力はファイル出力(*OUTFILE)を指定してください。

出力を受け取るファイル(OUTFILE)

出力ファイルは QUSRTEMP/DSPPGMREF を指定します。

出力メンバー・オプション(OUTMBR)

出力を受け取るメンバーは必ず*FIRSTを指定します。
レコードの置き換えまたは追加は始めは*REPLACEを指定しますが
2回目以降でレコードを追加したい場合は*ADDと指定してください。

15. LINE BOT フィールド参照の作成(CRTPGMFFD)

LINE BOT フィールド参照の作成(CRTPGMFFD)はフィールド個別の使用状況を
提供するデータを作成します。

▼フィールド相互参照ファイル(QUSRTEMP/DSPPGMFFD)

プログラム ライブラリー フィールド 使用 演算命令
PGM201 QTROBJ JHCODE U MOVEL SEL001 JHCODE
			プログラム別参照ファイル作成  (CRTPGMFFD)

選択項目を入力して,実行キーを押してください。

プログラム  . . . . . . . . . . > *ALL           名前 , *ALL
	ライブラリー  . . . . . . . . >   QTROBJ       名前 , *LIBL, *CURLIB
出力  . . . . . . . . . . . . .   *OUTFILE      *, *PRINT, *OUTFILE
オブジェクト・タイプ  . . . . .   *PGM          *ALL, *PGM, *SQLPKG...
				値の続きは+
出力を受け取るファイル  . . . .   DSPPGMFFD      名前
	ライブラリー  . . . . . . . .     QUSRTEMP     名前 , *LIBL, *CURLIB
出力メンバー・オプション :
	出力を受け取るメンバー  . . .   *FIRST         名前 , *FIRST
	レコードの置き換えまたは追加    *REPLACE      *REPLACE, *ADD
【解説】

プログラム別参照ファイル作成(CRTPGMFFD))は実行時のプログラムのソース・ファイルを
参照しますのでこの実行区画にソース・ライブラリーも存在している必要があります。

【パラメータの説明】

プログラム (PGM)

プログラム名を個別に指定するはまたは*ALLとして
ライブラリー名は必ず明示的に指定してください。
指定したライブラリー内のプログラムのフィード参照が作成されます。

出力(OUTPUT)

出力はファイル出力(*OUTFILE)を指定してください。

出力を受け取るファイル(OUTFILE)

出力ファイルは QUSRTEMP/DSPPGMREF を指定します。

出力を受け取るファイル(OUTFILE)

出力ファイルは QUSRTEMP/DSPPGMFFD を指定します。

    
環境データ・ベースの登録
21. 日本語データ・ベースの登録(WRKWORDDB)

WRKSQLPRCコマンドを使えば、現在、どのようなストアド・プロシージャーが
IBM i に登録されているかを調べることができます。
一般にストアド・プロシージャーの一覧を調べるコマンドは i5/OS には提供されていませんので
この WRKSQLPRC がストアド・プロシージャーを知るための唯一のコマンドとなります。

	      WRKWORDDB   日本語データ・ベースの登録
	                                                状況
オプションを入力して、実行キーを押してください。
1= 追加   2= 変更   4= 削除   5= 表示

                                文章の
OPT   位置    名詞コード          意味     実行コマンド

       LST     ?               ASK
       LST     。               RMV         TESTAA
       LST     を知りたい       ASK
       LST     ありますか       EXT
       LST     ありません       NO
       LST     ください         ASK
       LST     にあります       RMV
       LST     のことです       RMV
       LST     ました           RMV
       LST     が知りたい       ASK
       LST     ございます       RMV
       LST     です             RMV
       LST     ですか           ASK
                                             続く ...
F3= 終了   F5= 再表示   F11= ビュー2   F12= 取消し
(C) COPYRIGHT OFFICE QUATTRO 2022.
	
【解説】

LINE BOTはこの日本語データ・ベースに基づいて位置が

LST > TOP  >  MID

の順に見つかった語句をLINEからの文章から除去していきます。
最後に残った語句をキー・ワードと呼びますが
キー・ワードを後述する知識データ・ベースと経験データ・ベースを
参照して処理を行います。
( 知識データにも経験データにも見つからない場合はLINEユーザーに質問して
その答えを経験データ・ベースに追加します。)

【名詞コード】

処理の対象となる語句を登録します。
この名詞コードをLINEの文章から検索して見つかれば除去します。
除去と同時に文章の意味でこの文章を判断します。

の順に見つかった語句をLINEからの文章から除去していきます。
最後に残った語句をキー・ワードと呼びますが
キー・ワードを後述する知識データ・ベースと経験データ・ベースを
参照して処理を行います。
( 知識データにも経験データにも見つからない場合はLINEユーザーに質問して
その答えを経験データ・ベースに追加します。)

【文章の意味】
ASK
これは質問または要求です。処理が必要と判断します。
RMV
これは除去するだけの語句です。文章の意味には影響しません。
YES
これは肯定文です。
NO
これは否定文です。
HLW
これは挨拶文です。実行コマンドに登録されている返答を返して 終了します。
SUR
これは数量を尋ねる疑問文です。
WHO
これはオブジェクトを使っているユーザーを尋ねています。
TOP
これは接頭語で除去するだけで文章の意味には影響しません。
EXT
これは存在しているかを尋ねる疑問文です。
【実行コマンド】

日本語データ・ベースでは使いません。

【次の名詞コード】

これは次のレコードへのリンクを示しますが
日本語データ・ベースでは使いません。

22. 日本語データ・ベースの登録(WRKWORDDB)

知識データ・ベース(ASNET.USR/KNOWDB)とはIBM iのオブジェクトを
日本語で検索できるようにするためのデータ・ベースです。
IBM iのオブジェクト特にデータ・ベースに正しく日本語のテキストを指定して
作成されていれば前述の「12. 知識データ・ベースの初期化(INZKNOWDB)」で
自動的に知識データ・ベースに登録されるはずですが
登録しきれていないものや適切な名前を与えたほうがよいオブジェクト(データ・ベース)には
ここで手動で登録することができます。

WRKKNOWDB                 知識データ・ベースの登録
		                                                     状況
オプションを入力して、実行キーを押してください。
1= 追加   2= 変更   4= 削除   5= 表示

文章の
OPT   位置    名詞コード                 意味     実行コマンド

MID     ?−チェックフィールド           DBS     QTRFIL/DSCFLD
MID     ?−チェック選択値               DBS     QTRFIL/FLDCHK
MID     カレンダー                       DBS     QTRFIL/CALENDR
MID     コードマスター                   DBS     QTRFIL/CODEMST
MID     ショッピング家具ファイ           DBS     QTRFIL/SHOPPRD
MID     シフトコード検索                 DBS     QTRFIL/UTUTEST
MID     フィールド 100 個テス            DBS     QTRFIL/FLD100P
MID     フィールド 128 個テス            DBS     QTRFIL/FLD128P
MID     メール・アドレス                 DBS     QTRFIL/MAIL
MID     グラフィックフィールド           DBS     QTRFIL/GRAPHIC
MID     ジャーナル用トランザク           DBS     QTRFIL/TRNJRN
MID     プログラム                       PGM
                                                                 続く ..
F3= 終了   F5= 再表示   F11= ビュー2   F12= 取消し
                                     (C) COPYRIGHT OFFICE QUATTRO 2022.
	
【解説】

知識データ・ベースはIBM iのオブジェクトを日本語で検索するためのテーブルです。
例えばこの例ではライブラリーQTRFILにあるカレンダー・ファイル(CALENDR)は
「カレンダー」というテキストで保管されていますので
「12. 知識データ・ベースの初期化(INZKNOWDB)」によって
「カレンダー」という名詞コードで文章の意味はDBS(=Databaseの意)で
実行コマンドが「QTRFIL/CALENDR」として登録されています。
これよってLINE BOTは「カレンダー」というキー・ワードを見つけると
それは「QTRFIL/CALENDR」というIBM iのオブジェクトのことであると
判断することができます。

【解説】
[位置]
知識データ・ベースではすべてMIDとします。
[名詞コード]
IBM iオブジェクトを検索するための日本語のテキストを登録します。
オブジェクトにテキストが登録されていない場合は
「12. 知識データ・ベースの初期化(INZKNOWDB)」を実行しても
この知識データ・ベースには登録されません。
[文章の意味]
これは肯定文です。
[実行コマンド]
オブジェクトのタイプがわかるように登録します。
DBS: データ・ベース
PGM: プログラム
[決定]
実行コマンドでオブジェクトが決定されている場合は決定済みと
ということで * を記述しておきます。
[次の名詞コード]
[例]
名詞コード 実行コマンド 次の名詞コード
商品   商品マスター
商品マスター QTRFIL/SHOHIN
23. 経験データ・ベースの登録(WRKEXPRDB)

経験データ・ベース(QUSRTEMP/EXPRDB)とはデータ・ベースのレコードを特定するための
キー・フィールドの値を登録するテーブルです。
LINE BOTはキー値を知らされるだけでどのデータ・ベースを調べればよいか
理解して実行コマンドに登録されているデータ・ベースを読んで
指定したキー・フィールドが含まれているレコードを特定します。
 さらにこれはそのレコードの中からLINEユーザーが求める項目の値を
抽出するのに使用されます。

WRKEXPRDB                 経験データ・ベースの登録
		                                              状況
オプションを入力して、実行キーを押してください。
1= 追加   2= 変更   4= 削除   5= 表示

                                       文章の
OPT   位置    名詞コード                 意味     実行コマンド

      MID    とう                       EXT     QTROBJ/PGM901
      MID    在庫                       DBS     QTRFIL/SHZAIKO
      MID    得意先検索                 EXT     QTROBJ/PGM901
      MID    A004                       DBS     QTRFIL/SHOHIN
      MID    A005                       DBS     QTRFIL/SHOHIN
      MID    NV-BS30S                   DBS     QTRFIL/SHOHIN
      MID    NV-BS50S                   DBS     QTRFIL/SHOHIN
      MID    NV-CF1
      MID    NV-CF1                     DBS     QTRFIL/SHOHIN
      MID    NV-CF2                     DBS     QTRFIL/SHOHIN
      MID    NV-CF81                    DBS     QTRFIL/SHOHIN
      MID    NV-CF9                     DBS     QTRFIL/SHOHIN
						                                         続く ..
F3= 終了   F5= 再表示   F11= ビュー2   F12= 取消し
  
【解説】

経験データ・ベース(QUSRTEMP/EXPRDB)にはLINE BOTがLINEユーザーに質問して
得られた回答を登録しておくテーブルです。
上のデータでは「NV-CF1とは何ですか?」とLINE BOTが質問したところ
LINEユーザーは「商品です」と答えました。
そこでLINE BOTは経験データ・ベースに

位置 名詞コード 意味 実行コマンド 次の名詞コード
MID NV-CF1     商品

と登録します。
知識データ・ベースには

位置 名詞コード 意味 実行コマンド 次の名詞コード
MID 商品     商品マスター
MID 商品マスター   QTRFIL/SHOHIN  

との記述があるので NV=CF1は QTRFIL/SHOHIN を調べればよいと
判断することができるのです。

[位置]
経験データ・ベースではすべてMIDとします。
[名詞コード]
データ・ベースのキー値またはレコードを特定できる値を登録してください。
[文章の意味]
DBS(=Database)と登録してください。
[実行コマンド]
ライブラリー/データ・ベース名の型式でIBM iのオブジェクト名を 記述してください。
[決定]
*で決定済みを示してください。
[オブジェクト
タイプ]
*FILEと指定してください。
[次の名詞コード]
次の名詞にリンクさせる場合は存在する名詞コードの名前を記述してください。
IOTメニュー

56.IoT 管理メニュー

                              IOT 管理メニュー
                                                         システム :
                                                         通信 : 通信中
次の中から1つを選んでください。

  サーバーの開始/終了
     1. MQTT ブローカーの開始                    STRMQTBKR
     2.        停止                       ENDMQTBKR
     3. ジョブ・ログの表示                       QNETJOBLOG
     4. ログの消去                               CLRLOG

  MQTT 配布リスト
    11. SUBSCRIBE 配布リスト処理                 WRKSUBSCR
    12. 配布リストのリセット                     CLRPFM
    13. MQTT ブローカー設定ファイル              IOTCFG
  MQT クライアントとコマンド
    21. MQTT 接続の開始                          CONNECT
    22. SUBSCRIBE( チャンネル登録 )              SUBSCRIBE
    23. PUBLISH( 投稿 )                          PUBLISH
    24. UNSUBSCRIB( チャンネル削除 )             UNSUBSCRIB
    25. MQTT 接続の切断                          DISCONNECT

  割込み処理
    31. SIGNAL 待機                              SIGNAL
    32. SIGNAL 転送                              TFRSIG

  問題の分析
    91. サーバー JOB の活動状況                  WRKACTJOB
    92. 操作員メッセージの表示                   DSPMSG QSYSOPR
    93. ジョブ・ログの表示                       QNETJOBLOG
    94. 削除済みスプール                         QRCL/QSPRCLOUTQ


※ メニューの右上には現在、IoTクライアントと通信中かどうかを示すメッセージが表示されます。
  またF5キーを押すと通信状況が表示されます。

サーバーの開始/終了
1. MQTT ブローカーの開始(STRMQTBKR)

MQTTブローカーという名前のサーバーを開始します。
MQTTブローカーはIoTクライアント(機器)どうしの情報交換の仲介役として
働きます。
MQTTブローカーの仲介によってIoTクライアント(機器)どうしの1:N(=複数)の
通信が可能になります。

                      MQTT ブローカーの開始  (STRMQTBKR)

 選択項目を入力して,実行キーを押してください。

MQTT サーバー :
   開始  . . . . . . . . . . . .   *YES          *YES, *NO
   待機 PORT . . . . . . . . . .   1883           文字値
SBMJOB スケジュール :
   開始日  . . . . . . . . . . .   *CURRENT      *CURRENT, *WEEKLY, *ALL
   開始時刻  . . . . . . . . . .   090000        000000-235959
 ユーザー  . . . . . . . . . . .   QTMHHTTP       文字値 , *CURRENT
 アクセス・ログ  . . . . . . . .   *NO           *YES, *NO
 マルチスレッド  . . . . . . . .   *YES          *YES, *NO
 標準出力をリダイレクト  . . . .   *NO           *YES, *NO
 デバッグ  . . . . . . . . . . .   *YES          *YES, *NO

[パラメータの説明]

開始

 
*YES
MQTTプローカーを開始します。
*NO
MQTTプローカーは開始しません。

待機PORT

1883
MQTTプローカーの待機PORT番号は1883と決められています。
特別な理由がない限り必ず1883番を指定してください。
番号
MQTTプローカーが待機するPORT番号の指定

SBMJOB スケジュール

開始日
MQTTブローカーを開始する日を指定します。
*CURRENT : 現在の日付を指定します。
*WEEKLEY : (月)〜(金)を指定します。
*ALL : 毎日を指定します。
開始時刻
MQTTブローカーを開始する時刻を指定します。
開始日に*CURRENTを指定した場合は
開始時刻も現在時刻と解釈されます。
それ以外の時刻は 000000-235959で指定してください。

ユーザー

QTMHHTTP
実行するユーザーをQTMHHTTPで開始します。
ユーザー名
それ以外の指定ユーザー名で開始します。

アクセス・ログ

*YES
アクセス・ログを MQTTLIB/QNETJOBLOGに出力します。
*NO
アクセス・ログは出力しません。

マルチスレッド

*YES
MQTTブローカーはマルチ・スレッドで実行します。
通常は*YESを指定してください。
*NO
MQTTブローカーはシングル・スレッドで実行します。

標準出力をリダイレクト

*YES
標準出力(STDOUT)はリダイレクトされます。
*NO
標準出力(STDOUT)は通常印刷出力されます。

デバッグ

*YES
デバッグがMQTTLIB/QNETJOBLOGに出力されます。
*NO
デバッグは出力されません。
[解説]

「MQTT ブローカーの開始 (STRMQTBKR)は通常ではパラメータを変更する必要はありません。
省略値のままで実行キーを押してMQTTプローカーを開始してください。
MQTTプローカーかぜ開始されたどうかは IoTメニューでF5キーを押すと確認することができます。

2. MQTT ブローカーの停止(ENDMQTBKR)

活動中のMQTTプローカーを提示します。

                       MQTT ブローカー終了  (ENDMQTBKR)

 選択項目を入力して,実行キーを押してください。

 サーバーの停止  . . . . . . . .   *YES          *YES, *NO

[パラメータの説明]

サーバーの停止(MQTT_SVR)

 
*YES
MQTTブローカーを停止させます。
*NO
停止はさせません。
[解説]

MQTTプローカーを停止させます。
MQTTプローカーが停止したかどうかはIoTメニューでF5キーを押すと確認することができます。

3. ジョブ・ログの表示(QNETJOBLOG)

MQTTブローカーのジョブ・ログを表示します。
MQTTブローカーのジョブログは OUTQ: MQTTLIB/QNETJOBLOG に出力されています。

                              出力待ち行列処理

待ち行列 :   QNETJOBLOG     ライブラリー:   MQTTLIB        状況 :   RLS

オプションを入力して,実行キーを押してください。
  1= 送信   2= 変更   3= 保留   4= 削除   5= 表示   6= 解放   7= メッセージ
  8= 属性   9= 印刷状況の処理

OPT   ファイル    ユーザー   ユーザー・データ  STS   ページ    部数    用紙 タイプ  PTY
     QPACCLOG    QTMHHTTP                RDY       4       1   *STD         5
     QPACCLOG    QTMHHTTP                RDY       2       1   *STD         5
     QPACCLOG    TESTMQT                 RDY       1       1   *STD         5
     QPACCLOG    QTMHHTTP                RDY       2       1   *STD         5
     QPACCLOG    TESTMQT                 RDY       1       1   *STD         5
     QPACCLOG    QTMHHTTP                RDY       2       1   *STD         5
     QPACCLOG    TESTMQT                 RDY       1       1   *STD         5
     QPACCLOG    QTMHHTTP                RDY       2       1   *STD         5
     QPACCLOG    QTMHHTTP                RDY       1       1   *STD         5


[解説]

WRKOUTQ MQTTLIB/QNETJOBLOG によってOUTQの一覧が表示されます。

4. ログの消去(CLRLOG)

OUTQ: MQTTLIB/QNETJOBLOG の不要なスプールを除去します。
このログの消去(CLRLOG)は CLROUTQコマンドのようにすべてのスプールをクリヤーするのではなく
保留(*HLD)にしたスプールだけは残してクリヤーすることができます。
残しておきたいスプールは *HLDにしておいてください。

ログの消去  (CLRLOG)

 選択項目を入力して,実行キーを押してください。

 ジョブ・ログ待ち行列  . . . . .   QNETJOBLOG     名前 , *NONE
 ライブラリー  . . . . . . . . .   MQTTLIB      名前 , *LIBL, *CURLIB
 保留中のログも消去  . . . . . .   *NO           *YES, *NO

[パラメータの説明]

ジョブ・ログ待ち行列 (CLRLOG)

 
ジョブ・ログ待ち行列
消去する待ち行列の名前。

保留中のログも消去(CLRHLDLOG)

 
*YES
*HLD として保留中のスプールも除去します。
*NO
*HLD として保留中のスプールは除去しません。
MQTT 配布リスト
11. SUBSCRIBE 配布リスト処理(WRKSUBSCR)

SUBSCRIBE配布リストとはIoTクライアント(機器)から送られてきた情報(PUBLISH)を
再びどのIoTクライアント(機器)に送るべきたの送付先を示すデータです。

 WRKSUBSCR                 SUBSCRIBE 配布データ処理


オプションを入力して,実行キーを押してください。
  1= 追加   2= 変更   4= 削除   5= 表示 

        クライアント
OPT          ID           トピック (  話題 )                  データ待ち行列

                         $SYS/#                                 MQT962287
                         TESTTOPIC                              MQT961569
         mqttjs_cbf      TESTTOPIC                              MQT961573
         mqttjs_116      TESTTOPIC                              MQT961572
         mqttjs_20f      TESTTOPIC                              MQT961569
         mqttjs_57d      TESTTOPIC                              MQT962199
         QTR             TOPIC                                  MQT961298
         3311784451      TOPIC                                  MQT962189


                                                                       終わり
F3= 終了   F5= 再表示   F12= 取消し
(C) COPYRIGHT OFFICE QUATTRO 2022. 

[解説]

SUBSCRIBE 配布データはライブラリー: MQTTLIB内の SUBSCRIBEという名前の
データ・ベースに保管されています。
SUBSCRIBEコマンド要求によって自動的にレコードが追加されて
UNSUBSCRIBEコマンドまたはDISCONNECT(切断)コマンドによって
レコードは削除されます。
お客さまは手動でこのファイルを保守する必要はありません。
このファイルはSUBSCRIBEコマンドによって自動的にレコードが追加されて
PUBLISHコマンドが実行されるとこのファイルを調べて
PUBLISHと同じトピックのクライアントにPUBLISHのデータ(PAYLOAD)が
配布されます。
このようにしてこのSUBSCRIBEファイルによって1:N(=複数)のデータ配布を
実現しています。

[クライアントID(10A)] + [トピック)32A)]が物理ファイル SUBSCRIBEの固有のキーです。

クライアントID(10A)
CONNECTコマンドで指定されたIoTクライアントを
識別する固有の名前であるクライアントIDです。
トピック(32A)
情報のカテゴリーや種類の識別です。
使用するユーザーで決めます。
データ待ち行列(10A)
PUBLISHの情報を転送先のMQTTブローカーの子スレッドの
ジョブ番号を名前で命名したデータ待ち行列名が
自動的に生成されます。
[オプションの説明]

オプション操作によるSUBSCRIBE保守は必要ありませんが
データ保守のためにオプションん゛用意されています。

1= 追加
SUBSCRIBEレコードを追加します。
2= 変更
SUBSCRIBEレコードを変更します。
4= 削除
SUBSCRIBEレコードを削除します。
5= 表示
SUBSCRIBEレコードを表示します。
MQTT クライアントとコマンド

MQTTクライアントのために5つのコマンドが用意されています。
これらの5つのコマンドを使うことによってIBM iのジョブをひとつの
IoTクライアント(装置)として動作させてIoTの動作を体感することができます。
コマンドの操作の実施にはチュートリアルを参照してください。

12. 配布リストのリセット CLRPFM
                      物理ファイル・メンバー消去  (CLRPFM)

 選択項目を入力して,実行キーを押してください。

 物理ファイル  . . . . . . . . . > WRKSUBSCR      名前
  ライブラリー  . . . . . . . . . . . >   MQTTLIB      名前 , *LIBL, *CURLIB
 メンバー  . . . . . . . . . . .   *FIRST         名前 , *FIRST, *LAST, *ALL
[解説]

不要になった配布リスト(MQTTLIB/SUBSCRIBE)をクリスーします。
通信を終了すれば配布リストのレコードも自動的に削除されるはずですが
通信を終了しているのに配布リストが残ったままになっているような場合は
このCLRPFMコマンドによって一括して配布リストを削除することができます。
ただし通信中であるのにCLRPFMで配布リストを削除すると予測できない
結果を生じる可能性がありますのでこのコマンドの使用はユーザーの責任において
なさってください。

13. MQTT ブローカー設定ファイル IOTCFG
0001.00 # ******************************************************************* #
0002.00 #                                                                     #
0003.00 #         IoT  設定レコード VER1.0                                    #
0004.00 #                                                                     #
0005.00 #                                                                     #
0006.00 #    ( 設定変更を適用するには MQTT ブローカーを再起動してください )   #
0007.00 # ******************************************************************* #
0008.00 #------------------------------------------------------
0009.00 # NOTE:  "#" から始まる行はコメント行です。
0010.00 #------------------------------------------------------
0011.00 #
0012.00 #------------------------------------------------------
0013.00 #   IoT 基本テンプレート
0014.00 #------------------------------------------------------
0015.00 #
0016.00 #-----------------------------------------------------
0017.00 #  REJECT : 接続を拒否するリモート・アドレス
0018.00 #          不適切なクライアントからの着信を拒否することが
0019.00 #          できます。
0020.00 #-----------------------------------------------------
0021.00    REJECT  209.126.151.117
0022.00    REJECT  87.236.176.146
0023.00    REJECT  167.248.133.118
0024.00    REJECT  65.49.20.66
0025.00 #-----------------------------------------------------
[解説]

このIBM iがグローバル公開されている場合、不明な歓迎されないIPアドレスからの
接続要求がある場合があります。
そのような接続要求があるとQSYSOPRメッセージには
ユーザー・プロファイル のパスワードが正しくない。
167.248.133.118 からのログイン要求でエラーがありました。
FROM . . : QTMHHTTP 22/10/31 23:31:07

のようなメッセージが報告されます。
このIPアドレスをIoT設定レコードにREJECTとして登録しておくと
次回からはこのIPあどれすからの着信を拒否することができます。
IoT設定レコードを登録するとMQTTブローカーの再起動が必要です。

21. MQTT 接続の開始(CONNECT)
                          MQTT 接続の開始  (CONNECT)

選択項目を入力して,実行キーを押してください。

 送信先 IP アドレス  . . . . . .   '127.0.0.1'
PORT 番号  . . . . . . . . . . .   1883           文字値
CONNECT メッセージ :
   クライアント ID . . . . . . .   QPADEV00H0     文字値 , *NOE
  WILL トピック  . . . . . . . .   'WILLTOPIC'
  WILL メッセージ  . . . . . . .   'WILLMSG'
   ユーザー ID . . . . . . . . .   QTR            文字値
   パスワード  . . . . . . . . .   *USRPRF        文字値
 デバッグ  . . . . . . . . . . .   *NO           *YES, *NO

[解説]

MQTT接続の開始(CONNECT)コマンドはMQTTプローカーへの接続を開始します。
送信先 IP アドレス: 127.0.0.1 とはLOOPBACKと呼ばれていて
このIBM i自身を指しています。
PORT番号はIoTでは必ず1883番を使用します。
クライアントIDとはこのクライアント自身を示しています。
現在、サインオンしているジョブ名が初期値として表示されます。

ユーザーIDの初期値には現在のこのジョブのユーザー名が初期値として
表示されます。
現在のユーザーを指定する場合はパスワードは*USRPRFのままで
指定する必要はありませんが他のユーザーを指定する場合は
そのユーザーのパスワードの指定が必要です。
パスワードは正しいか妥当性検査されます。

またCONNECTコマンドが終了してもこのジョブとMQTTブローカーとのあいだの通信は
保持されています。
GO IOTメニューの右上には「通信中」と表示されてDISCONNECTコマンドによって
通信が切断されるまで通信は持続しています。

22. SUBSCRIBE( チャンネル登録 )(SUBSCRIBE)
SUBSCRIBE( チャンネル登録 ) (SUBSCRIBE)

選択項目を入力して,実行キーを押してください。

トピック ( 送信先 ) . . . . . .   TOPIC
               値の続きは+
デバッグ  . . . . . . . . . . .   *NO           *YES, *NO

[解説]

SUBSCRIBE(チャンネル登録)とはトピック(=話題、カテゴリー)に関するPUBLISHの通知が
あれば自分にも情報を転送するようにMQTTブローカーに依頼します。
これによって1:N(=複数)の情報通信が可能になります。
最大10個までのトピックを同時に登録することができます。

SUBSCRIBEを依頼するとSUBSCRIBEデータ(MQTTLIB/SUBSCRIBE)にレコードが追加されます。
SUBSCRIBEデータによってPUBLISHによる最配布先が決まります。
SUBSCRIBEを実行するには事前にCONNECTでMQTTプローカーへの接続が必要です。

PUBLISHの実行によってSUBSCRIBEしていたジョブがPUBLISHからの応答を受取ると
このジョブがどのような処理を実行中であったとしても割込みで次のような画面が
表示されます。

                                                                 日付   22/10/13
                                                                 時刻    9:23:19


    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃   PUBLISH 転送を受取りました                           ┃
    ┃                                                        ┃
    ┃    トピック     TOPIC                                  ┃
    ┃                                                        ┃
    ┃    ペイロード   PAYLOAD                                ┃
    ┃                                             F3= 終了   ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛


これはトビック: TOPICに対して情報: PAYLOAD を受取ったことを
示しています。
F3キーを押して終了すると画面は元の処理に復帰します。
このような割込み処理をSIGNAL転送と呼びます。
ジョブはあたかもマルチ・スレッド処理のようにシグナルを待ち受けていたかの
ように見えますが内部でシグナルを待機していました。
このシグナル転送はお客さまでも使えるように一般化したものが
後で示すSIGNAL転送です。

23.PUBLISH( 投稿 )(PUBLISH)
                           PUBLISH( 投稿 ) (PUBLISH)

 選択項目を入力して,実行キーを押してください。

 トピック ( 送信先 ) . . . . . .   TOPIC
 ペイロード ( 送信データ ) . . .   PAYLOAD
 デバッグ  . . . . . . . . . . .   *NO           *YES, *NO

[解説]

PUBLISH( 投稿 )とはIoTクライアント(機器)からの情報の公開(投稿)です。
公開する情報のことをベイロード(PAYLOAD)と呼びます。
例えば温度センサーからの情報公開はペイロードは温度計からの温度の数値です。
梱包機からのペイロードは梱包した数量です。
PUBLISHによる情報(ペイロード)はMQTTプローカーに伝達されて
SUBSCRIBEによっと配布先として登録されているSUBSCRIBEデータ(MQTTLIB/SUBSCLIBE)
に基づいてこのデータを必要としている同じトピックのIoTクライアントに再配布されます。
温度センサーからの情報は温度をトピックとして要求しているIoTクライアントにだけ
再配布されます。
別のトピックを待っているクライアントには配布されません。

24.UNSUBSCRIB( チャンネル削除 )(UNSUBSCRIB)
                   SUBSCRIBE( チャンネル取消 ) (UNSUBSCRIB)

 選択項目を入力して,実行キーを押してください。

 トピック ( 送信先 ) . . . . . .   TOPIC
                値の続きは+
 デバッグ  . . . . . . . . . . .   *NO           *YES, *NO
[解説]

UNSUBSCRIB( チャンネル削除 )とはIoTの情報の再配布の待機を取消します。
具体的にはSUBSCRIBEデータ(MQTTLIB/SUBSCLIBE)から指定したレコードを
削除します。

25. MQTT 接続の切断(DISCONNECT)
                        DISCONNECT 切断  (DISCONNECT)

選択項目を入力して,実行キーを押してください。

不要な終了待機も終了  . . . . .   *YES          *YES, *NO
デバッグ  . . . . . . . . . . .   *NO           *YES, *NO

[解説]

DISCONNECT 切断 (DISCONNECT)はMQTTプローカーとの通信を切断します。
不要な終了待機も終了とは切断後も通信SOCKETはしばらく保留されていて
完全にクローズされません。
このためすぐに再接続することができなくなります。
不要な終了待機も終了を指示するとこのような保留中の通信SOCKETも
強制的に終了させることができます。

割込み処理
割込み処理とはIoT管理の開発中に発見された割込みの機能を
お客さまでも使えるように一般化したものです。
割込みを受けるユーザーはあらかじめSIGNAL待機を設定しておくと
SIGNAL転送を受けるとどのようなジョブを処理中であっても
他のジョブからのSIGNAL転送を受けることができます。
SIGNAL転送を受けると送信側が指示したコマンドやプログラムが
受信側で中断して実行されます。

割込み処理
31. SIGNAL 待機(SIGNAL)
                             SIGNAL 待機  (SIGNAL)

 選択項目を入力して,実行キーを押してください。

 スイッチ  . . . . . . . . . . .   *ON           *ON, *OFF

[解説]

SIGNAL待機(SIGNAL)とはSIGNAL転送を受けるために待機状態を設定します。
SIGNAL待機(SIGNAL)を実行するとこのコマンド終了後も内部では
SIGNALを待機する状態が保持されます。
このスイッチを*OFFにするまで待機状態は保持されます。
SIGNAL待機状態にしておくとSIGMAL転送を受け入れることができます。

32. SIGNAL 転送(TFRSIG)
                              SIGNAL 転送  (TFRSIG)

  選択項目を入力して,実行キーを押してください。

  コマンド  . . . . . . . . . . .   *NONE


  コマンドを受け取るユーザー  . .                  文字値 , *ALLUSR
  またはジョブ名  . . . . . . . .   *              名前 , *
    ユーザー  . . . . . . . . . .                  名前
    番号  . . . . . . . . . . . .                 000000-999999
[解説]

SIGNAL 転送(TFRSIG)とはSIGNALを待機中のジョブに対して
コマンドを転送して割込みで実行させます。
例えばコマンドとして「CALL MYPGM」というコマンドを転送させれば
MYPGMというプログラムを割込みで実行させることを意味します。
SIGNAL 転送はSNDBRKMSGと良く似ていますがSNDBRKMSGは
メッセージを割込みで送信するのに対してSIGNAL 転送は任意の
コマンドやプログラムを割込みで送信することができます。
ただし送信先では実行に必要なライブラリー・リストなどの
環境が必要です。 コマンドを受け取るユーザーまたはジョブを指定することができます。
受取りをユーザー名として指定した場合はそのユーザーで実行中の
すべてのジョブにSIGNAL 転送が行われます。
ジョブを一意的に指定した場合はそのジョブだけにSIGNAL転送されます。

出口プログラムの登録
出口プログラムを環境変数として登録しておくと
前出の5つのコマンドの実行時点で指定した出口プログラムを
呼び出すことができます。

出口プログラムの登録
41. 環境変数の処理(WRKENVVAR)
                            環境変数 (*JOB) の処理

オプションを入力して,実行キーを押してください。
  1= 追加   2= 変更   4= 除去   5= 詳細の表示   6= 印刷

OPT   名前                        値

     LANG                        '/QSYS.LIB/JA_5035.LOCALE          ' >
     SOCKET                      '0'
[解説]
環境変数の処理(WRKENVVAR)とはIBMユーティリティです。

環境変数に出口プログラム名を登録しておくと
コマンドの実行時に出口プログラムが呼び出されて実行されます。

[例]
環境変数 CONNECTに出口プログラム OBJLIB/PGM001 を
環境変数
CONNECT OBJLIB/PGM001

のようにして登録します。他のコマンド: SUBSCRIBE, PUBLISH, UNSUNSCRIB, DISCONECT
についても同様に登録することができます。

出口プログラムを登録しておくとIoTの動作の記録をデータ・ベースに保存したり
一覧表にして印刷することもできます。
なお出口プログラムに渡されるパラメータはコマンドによって異なります。
パラメータの詳細はIoTマニュアルを参照してください。
国際言語化

国際言語化の手法を解説します。
AutoWeb による国際言語化とは日本語環境と日本語データ・ベースのままで
インターフェースだけを国際言語に切替えて表示することを趣旨としています。
国際言語を二次言語として IBM i に導入する必要もありません。
DSPF オブジェクトを日本語用と国際言語用の両方を用意する必要もありません。

AutoWeb の国際言語化とは表題や欄見出しなどの固定情報を
メッセージ・ファイルの MSGID による記述に置換えて
このメッセージ・ファイルを日本語と国際言語用に用意するだけです。

固定情報をメッセージ・ファイルの MSGID で記述しておくと
DSPF は実行時に MSGF の記述を参照します。
OVRMSGF で中国語の MSGF に一時変更しておけば
固定情報が中国語で表示されます。

また基本的にはインターフェースの国際言語化を指向していますが
ジョブ環境の変更によって国際言語の入力や複数の国際言語の同時表示なども
実現することができます。

これは AutoWeb の HTML インターフェースがユニコード (UTF-8) であることが
基盤となっているからです。
EBCDIC や ASCII ではどれかひとつだけの言語だけしか表現することが
できませんがユニコード (UTF-8) はすべての国際言語を重複することなく
同時に表現することができるからです。

また AutoWeb は IBM i の実行環境の省略時の CCSID に対して UTF-8 との
コード変換を行うことを原則としています。
このため実行ジョブの CCSID は 65535 として国コードだけを変更すると
国コードに関連する CCSID との変換が行われますので
二次言語が導入されていない環境下であっても
どのような言語でも変換することができます。

61. メッセージ・ファイルの作成 (CRTMSGF)

国際言語化用の日本語メッセージ・ファイルと 国際語メッセージ・ファイルの両方の
メッセージ・ファイルを CCSID を併せて指定して作成します。

                            メッセージ・ファイル作成  (CRTMSGF)

  選択項目を入力して,実行キーを押してください。

  メッセージ・ファイル  . . . . . > CHINA          名前
   ライブラリー  . . . . . . . . . . .     CHINALIB     名前 , *CURLIB
  テキスト ' 記述 ' . . . . . . .   中国語メッセージ・ファイル


                   追加のパラメーター

  ファイル・サイズ :
    初期記憶域サイズ  . . . . . .   10             キロバイト
    記憶域増分サイズ  . . . . . .   2              キロバイト
    最大増分値  . . . . . . . . .   *NOMAX         数値 , *NOMAX
  権限  . . . . . . . . . . . . .   *ALL           名前 , *LIBCRTAUT, *CHANGE...
  コード化文字セット ID . . . . .   935           *HEX, *MSGD, *JOB...
CRTMSGF
MSGF ( )
TEXT ( )
SIZE ( 10 2 *NOMAX )
AUT ( ) CCSID ( )
【解説】

「F10= 追加のパラメーター」キーを押してすべてのパラメータを表示して
CCSID (コード化文字セット ID) を指定してください。
メッセージ・ファイルは日本語用と国際言語用の少なくとも 2 つ以上作成する必要があります。

【パラメータの説明】

メッセージ・ファイル(MSGF)

作成するメッセージ・ファイルの名前と
それを保管するライブラリーの名前を指定します。

テキスト(TEXT)

メッセージ・ファイルの内容を表すテキストを記述します。

ファイル・サイズ(SIZE)

メッセージ・ファイルの初期サイズと拡張の指示を行いますが
初期値のまま指定してください。

権限(AUT)

*ALL に変更してください。

コード化文字セット ID(CCSID)

CCSID を指定してください。

AutoWeb はこの CCSID によって UTF-8 ヘコード変換を
行いますので必ず正しい値で指定してください。

  • 日本語 CCSID = 5026, 5035 または 1399
  • 中国簡体字(北京、上海など) = 935
  • 中国繁体字(香港、台湾) = 937
  • 韓国 = 833

62. メッセージ記述の登録 (ADDMSGD)

日本語メッセージ・ファイルに日本語のテキストを登録してください。

                          メッセージ記述追加  (ADDMSGD)

     選択項目を入力して,実行キーを押してください。

    メッセージ ID . . . . . . . . .   MSG0001        名前
     メッセージ・ファイル  . . . . .   JAPAN          名前
      ライブラリー  . . . . . . . . . . .     MYLIB        名前 , *LIBL, *CURLIB
     第 1 レベル・メッセージ・テキスト . . . . .    部課マスターの登録


     第 2 レベル・メッセージ・テキスト . . . . .   *NONE

                                                                     ...
     重大度コード  . . . . . . . . .   00            0-99
ADDMSGD
MSGID ( )
MSGF ( )
MSG ( ) SECLVL (*NONE)
SEV (00)
【解説】

後の国際言語の登録のときに日本語を参照できるようにメッセージ ID (MSGID) と
メッセージ・ファイル (MSGF) と第 1 レベル・メッセージ・テキスト (MSG) だけを連続で登録してください。
その他のキー・ワード記述する必要はありません。

DDS の表題や欄見出しのような固定情報を次のようにメッセージ記述に書き換えて
その書き換えたメッセージ記述をここで登録します。

【例】DDS固定情報の書換え
  A                                  1 27' 部課マスターの登録

を次のようなメッセージ記述に書き換えます。

  A            TITLE_        20A  O  1 27MSGID(MSG0001 QTROBJ/USRMSG)
【パラメータの説明】

メッセージ ID(MSGID)

メッセージ識別子 (MSGID) を記述します。
MSGID は必ず頭 3桁 の英文字 + 数字 4桁 (【例】MSG0001 )として
構成してください。(それ以外の形式はエラーとなります。)
また数字 4桁 は最初の 0001 に始まる連続番号にしてください。

メッセージ・ファイル(MSGF)

メッセージ・ファイルの名前とそれが保管されている
ライブラリーの名前を指定してください。

第 1 レベル・メッセージ・テキスト(MSG)

テキストとする文字列を 131 バイト以内で記述してください。
この文字列が表題や欄見出しの固定情報として表示されます。

第 2 レベル・メッセージ・テキスト(SECLVL)

*NONE のままにしておいてください。

重大度コード(SEV)

0 のままにしておいてください。

63. 国際言語の登録 (WRKLANG)

日本語メッセージ・ファイルのメッセージに対応する国際語のメッセージを登録します。

                              国際言語の登録  (WRKLANG)

    選択項目を入力して,実行キーを押してください。

    日本語メッセージ・ファイル  . .   USRMSG         名前
      ライブラリー  . . . . . . . .     QTROBJ       名前 , *LIBL, *CURLIB
    国際言語メッセージ・ファイル      USRMSG         名前
      ライブラリー  . . . . . . . .     CHINALIB     名前 , *LIBL, *CURLIB
    国コード  . . . . . . . . . . .   CHS           JPN, ENU, CHS, CHT, KOR
WRKLANG
MSGQ ( )
LNGQ ( )
LANG ( )
【解説】

ここで日本語メッセージ・ファイルと対応する国際言語をメッセージ・ファイルに 登録します。

【パラメータの説明】

日本語メッセージ・ファイル(MSGQ)

日本語のメッセージ・ファイルの名前と
それが保管されているライブラリーの名前を指定します。

国際言語メッセージ・ファイル(LNGQ)

国際言語のメッセージ・ファイルの名前と
それが保管されているライブラリーの名前を指定します。

国コード(LANG)

上記の国際言語メッセージ・ファイルとして
指定した国際言語の国コードを指定します。

【例】
  • 米国: ENU
  • 中国簡体字: CHS
  • 中国繁体字: CHT
  • 韓国: KOR

【解説】

上記を正しく指定して実行キーを押すと自動的に AutoWeb が起動されて次の画面が表示されます。

【解説】

左の列には日本語メッセージ・ファイルの内容が表示されています。
初期値では日本語の入力は不可です。
右の列には国際語のメッセージ・ファイルの内容が表示されて入力/修正を行うことができます。
左上には「Google翻訳」ボタンが用意されていますのでこれを押すと
次のように Google翻訳サイトが起動されます。

【解説】

最初に左側の翻訳元は日本語を選択しておき右の翻訳先には翻訳したい国際語を
選択しておきます。
翻訳元の欄に日本語の文字列を貼り付けておいて
右の「翻訳」ボタンを押すと翻訳先のダイアログに翻訳された文節が表示されますので
これをコピーして WRKLANG の画面に戻ってください。

国際語の欄に翻訳した言語を貼り付けてこれを繰り返してから最後に
F10 キーを押すと国際言語のメッセージ・ファイルに更新することができます。

日本語を修正したい場合は「F11=切替」によって日本語の入力モードに切替える
ことができます。
もう一度、F11 キーを押すと国際語の入力に戻ります。
日本語と国際語の同時入力はできません。

またこの「WRKLANG:国際語の登録」というプログラム自身が国際語の入力プログラムを
開発したいのであれば高度な使用方法を示すサンプルでもあります。
開発者はこのサンプル・ソースを開発の参考とすることができます。

【 CMD : WRKLANG ソース 】       
【 CLP : WRKLANGCL ソース 】    
【 DSPF : WRKLANGFM ソース 】 
【 RPG : WRKLANG ソース 】       
データ転送

ここに提供されているデータ転送機能とは PCOMM や ClientAccess (iAccess) から
AutoWeb へ移行されたユーザーのために、既存の転送記述 (.TTO) を
使ってデータ転送する仕組みを提供します。

データ転送の仕組み

PCOMM や ClientAccess でデータ転送を行っていたときは
PC や PC サーバーに保管されている転送記述 (.TTO) を読んで
PCSFT5.exe という PC 上のプログラムが転送を行っていました。

【旧来のデータ転送】

しかし AutoWeb に移行すると AutoWeb 内の PCSFT5 *PGM
という名前のプログラムが IFS にある転送記述を読んでデータ転送を行います。

【 AutoWeb のデータ転送】

転送するためには

AutoWeb の PCSFT5 *PGM が以前の転送記述を使ってデータ転送を
行うためには AutoWeb が /QNTC 経由で PC や PC サーバーに保管されている
転送記述を読取れることが必要です。

※ QNTC とは

/QNTC とは IBM が用意した他の PC や PC サーバーの共有フォルダーを
参照できる特殊フォルダーです。
/QNTC 経由で目的とする他の PC や PC サーバーのフォルダーを参照するためには

  • その外部フォルダーが共有フォルダとして設定されていること
  • その PC または PC サーバーに IBM i で使用するユーザーが
    ユーザー・アカウントとして登録されていること。

の二つの条件が必要となります。
QNTC の詳細は こちら を参照してください。

PCオーガナイザーに組み込まれた転送記述の実行

多くの適用業務ではデータ転送を PC サーバー等に保管しておいて
PCオーガナイザー (STRPCO) によって転送記述を起動することによって
データ転送を実行する、という例が多く見られます。
AutoWeb は、このような操作の実現をサポートしています。

【注意】

他社の Web フェーシング製品、例えば aXes ではこの機能の実現以前に
オーガナイザー自体を使うことができません。
PCオーガナイザー (STRPCO) が使えるのは AutoWeb だけです。

AutoWeb は PC オーガナイザーに埋め込まれた PC コマンドで
PCSFT5 の指定を見つけると転送記述を探して読取り、転送記述に従って
AutoWeb 自身の PCSFT5 *PGM によってデータ転送を行います。
従って

PC クライアントに PCOMM や ClientAccess が導入されていない PC であっても
転送記述さえ見つけることができればデータ転送を行うことができます。

65. データ転送 (PCSFT5)

データ転送 (PCSFT5) は通常、特に操作して使用することはなく
AutoWeb の内部でデータ転送が必要なときに
自動的に呼び出されて実行されるプログラムです。
しかし PC オーガナイザーの PC コマンド文がどのように実行されるのかを
このコマンドを使ってエミュレートすることができます。

PCSFT5 PFILE ( 転送記述 )
OPTION ( )
【パラメータの説明】

転送記述(PFILE)

PC オーガナイザーで指定する PC コマンドを指定します

出力オプション(OPTION)

出力の方法を指定します

*TCPIP
PCと通信に使用します
*PRINT
デバッグのために印刷します
*
デバッグのために表示します
*DEBUG
さらにデバッグを出力します

66. データ転送 (RTOPCB)

データ転送 (RTOPCB) は通常、特に操作して使用することはなく
AutoWeb の内部でデータ転送が必要なときに
自動的に呼び出されて実行されるプログラムです。
しかし PC オーガナイザーの PC コマンド文がどのように実行されるのかを
このコマンドを使ってエミュレートすることができます。

RTOPCB PFILE ( 転送記述 )
OPTION ( )
【パラメータの説明】

転送記述(PFILE)

PC オーガナイザーで指定する PC コマンドを指定します

出力オプション(OPTION)

出力の方法を指定します

*TCPIP
PCと通信に使用します
*PRINT
デバッグのために印刷します
*
デバッグのために表示します
*DEBUG
さらにデバッグを出力します

68. インポート・ファイルの変換 (CVTFRMIMPF)

インポート・ファイルの変換( CVTFRMIMPF )は IFS にある ASCII ストリーム・ファイルを
ライブラリー・システムの EBCDIC のデータ・ベースにコピーします。
ただしコピー元のストリーム・ファイルは 5250 エミュレータや AutoWeb のデータ転送によって
ダウンロードされた正しい形式のファイルでなくてはなりません。
AutoWeb では CVTFRMIMPF コマンドはデータ転送のアップロード機能でいったん IFS に
アップロードされたコピー元の ASCII ストリーム・ファイルを EBCDIC の外部記述による
データ・ベースにコピーするのに使われています。

ユーザーは IBM i ユーティリティ・コマンドの代わりに CVTFRMIMPF を使用することが
できます。


                     インポート・ファイルの変換  (CVTFRMIMPF)

  選択項目を入力して,実行キーを押してください。

  FROM ストリーム・ファイル   . . > '/AS400-NET.USR/TEMP/TEST.TMP'

  TO データベース・ファイル :
    ファイル  . . . . . . . . . . > UPDHIN         名前
      ライブラリー  . . . . . . . >   QTRFIL       名前 , *LIBL, *CURLIB
    メンバー  . . . . . . . . . .   *FIRST         名前 , *FIRST, *FROMMBR...
  レコードの置き換えまたは追加    > *REPLACE      *ADD, *REPLACE, *UPDADD
  ストリーム・ファイルの CCSID  .   943           1-65533, *STMF
  データベース・ファイル CCSID  .   *FILE         1-65533, *FILE
  レコード区切り文字  . . . . . .   *CRLF          文字値 , *ALL, *CRLF, *LF...
  ストリーム F のレコード様式   .   *FIXED        *DLM, *FIXED
  フィールド定義ファイル  . . . . > '/AS400-NET.USR/TEMP/TEST.FDF'

  または FDF ファイル   . . . . .                  名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB

【解説】

IFS の ASCII ストリーム・ファイルのデータを既存のデータ・ベースにコピーするのであれば
IBM i 提供の CPYSTMF, CPYFRMIMPF, COPY などを使用するより
この CVTFRMIMPF コマンドを使用するほうが実用的です。

【パラメータの説明】

FROM ストリーム・ファイル

コピー元である IFS 上の ASCII ストリーム・ファイルの名前を
フル・パスで指定してください。

TO データベース・ファイル

コピー先となるライブラリーのデータ・ベースの名前を
必要であればメンバー名も併せて指定してください。

レコードの置き換えまたは追加

通常は *REPLACE と指定してください。

ストリーム・ファイルの CCSID

コピー元の IFS 上の ASCII ストリーム・ファイルの CCSID を
指定してください。通常、Ftp などで STMF を IFS にアップロードすると
CCSID は 819 として設定されますが 819 は漢字をサポートしていません。
STMF の CCSID が 819 であっても漢字が含まれている場合は
943 と指定してください。

*CRLF レコード区切り文字

論理的なレコードの改行コードが何であるかを指定します。
通常、ASCII ストリーム・ファイルの改行コードは *CRLF ( 0x0d, 0x0a )です。

ストリーム F のレコード様式

データ・ベースに対応しているのであれば *FIXED (固定長)を指示します。

フィールド定義ファイルまたは FDF ファイル

FDF フィールド定義ファイルとして PCSFT5 または RTOPCB で作成された
FDF ストリーム・ファイル( .FDF )またはコピー先のデータ・ベースを
FDF ファイルとして指定します。
PCSFT5 の FDF 定義ファイルと RTOPCB で作成された FDF 定義ファイルの内容や
形式は異なりますがどちらを指定しても構いません。
(ただし ASCII コードのままで配置してください。)
これらの FDF 定義ファイルがないときはコピー先のデータ・ベースを
FDF 定義ファイルとして指定することもできます。
コピー先のデータ・ベースを FDF 定義として指定した場合は
データ・ベースより FDF 定義が自動的に一時的に生成されます。

参考既存の IBM i ユーティリティー・コマンドの問題点

CPYFRMSTMF

外部記述のデータ・ベースにはコピーすることはできません。
従って CPYFRMSTMF を使用することはできません。

CPYFRMIMPF

次の2つの大きな問題があります。

CCSID を変換することができない。FROMCCSID と TOCCSID パラメータは
用意されているが全く機能していない。従って ASCII/EBCDIC 変換できない。
FDF フィールド定義が必要であるが PCSFT5 や RTOPCB で作成された FDF とは
全く互換性がない。従って FDF は手動で ASCII で作成しなければならない。

COPY

COPY コマンドを使うと ASCII/EBCDIC 変換を行うことができるが
これも次の2つの大きな問題があります。
漢字が含まれていると EBCDIC 変換すると漢字より後ろのフィールドの位置がずれてしまう。
漢字が含まれていなくてもオープン・フィールドがあるだけで位置ずれを発生する。

WebQuery powered by AutoWeb

81. WEB QUERY の実行(WEBQRY)

WEB QUERY の実行(WEBQRY)は IBM RUNQRY と同じようにQUERY/400のプログラムの
実行を行うことに加えて既存のQUERY/400プログラムのWEB化を行えます。

                           WEB QUERY の実行  (WEBQRY)

  選択項目を入力して,実行キーを押してください。

  QUERY . . . . . . . . . . . . .                  名前 , *NONE
   ライブラリー  . . . . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
  QUERY ファイル :
    ファイル  . . . . . . . . . .                  名前 , *SAME
     ライブラリー  . . . . . . . . . .     *LIBL        名前 , *RUNOPT, *LIBL...
    メンバー  . . . . . . . . . .   *FIRST         名前 , *RUNOPT, *FIRST...
                 値の続きは+
  報告出力のタイプ  . . . . . . .   *HTML         *HTML, *EXCEL, *PDF...
  出力書式  . . . . . . . . . . .   *RUNOPT       *RUNOPT, *DETAIL, *SUMMARY
  レコード選択  . . . . . . . . .   *NO           *NO, *YES
  欄見出し  . . . . . . . . . . .   *COLHDG1      *FLDNAM, *COLHDG1...
  漢字データ・エラーを無視    . .   *NO           *YES, *NO
  QUERY 定義の印刷  . . . . . . .   *RUNOPT       *RUNOPT, *NO, *YES
  印刷装置  . . . . . . . . . . .   *RUNOPT        名前 , *RUNOPT, *PRINT
  用紙サイズ :
  用紙の長さ  . . . . . . . . .   *RUNOPT       1-255, *RUNOPT
  用紙の幅  . . . . . . . . . .   *RUNOPT       1-378, *MAX, *RUNOPT
  用紙タイプ  . . . . . . . . . .   *RUNOPT        文字値 , *RUNOPT, *STD
  コピー枚数  . . . . . . . . . .   *RUNOPT       1-255, *RUNOPT
  行送り  . . . . . . . . . . . .   *RUNOPT       *RUNOPT, 1, 2, 3
  出力ファイル :
    ファイル  . . . . . . . . . .   *RUNOPT        名前 , *RUNOPT
     ライブラリー  . . . . . . . . . .     *RUNOPT      名前 , *RUNOPT, *CURLIB
    メンバー  . . . . . . . . . .   *FIRST         名前 , *RUNOPT, *FIRST...
    オプション  . . . . . . . . .   *RUNOPT       *RUNOPT, *NEWFILE...
  権限  . . . . . . . . . . . . .   *RUNOPT        名前 , *RUNOPT...
				
WEBQRY QRY(QUERY/400の名前) QRYFILE(QUERYファイルの指定)
OUTTYPE (報告出力のタイプ )
COLHDG(欄見出しの指定) IGNIGCERR(漢字データ・エラーを無視)
FORMSIZE(用紙サイズ=用紙の長さ, 用紙の幅)
【パラメータの説明】

QUERYファイル(QRYFILE)

ファイル 
   ライブラリー
メンバー
QRYの名前を空欄のままにしてファイル名だけを
指定することもできます。
QURRY/400がない場合でもファイル名さえ指定すれば
QUERYプログラムとして実行してデータ・ベースを表示する
ことができます。
QRYを指定した場合はファイルを指定する必要はありません。

報告出力のタイプ(OUTTYPE)

*HTML
ブラウザへの出力を指示します。
ブラウザへの出力では横方向の制限はありません。
すべての項目を表示することができます。
元のデータ・ベースに漢字の不具合がある場合は
HTMLは出力されません。
*PDF
PDFに出力して表示します。
PDFの省略時の用紙幅は132桁ですので 132桁を超える項目は
出力されません。用紙幅を198桁のように拡張して指定すれば
表示できる項目は増えますが印刷を予定している場合は
印刷可能な用紙幅を超えないように注意してください。
最大378桁まで指定することができますがそのときも
378桁を超える印刷項目は表示されません。
*EXCEL
EXCELに出力します。
ブラウザによっては左下にメッセージが表示される場合が
ありますので「開く」を指示してください。
EXCELの場合も用方向の制限はありません。
元のデータ・ベースの漢字の不具合がある場合は
EXCELは出力されません。

欄見出しの指定(COLHDG)

報告書の欄見出しの出力を指定することができます。

*COLHDG1,2 3
フィールドの欄見出し1〜3のどれかを指定します。
*TEXT
フィールドのテキストを欄見出しとして指定します。
*FLDNAM
フィールド名を欄見出しとして指定します。
*ALLCOL
COLHDG1+ COLHDG2 + COLHDG3 を欄見出しとして指定します。

漢字データ・エラーを無視(IGNIGCERR)

*YES
漢字のシフト文字のどちらかに欠落があるような不具合が
データ・ベースに存在しているときは*HTMLや*EXCELは
そのままでは出力することはできませんが
ここで *YES を指定すると漢字の不具合が補正されて
損傷のあるデータ・ベースでも出力できるようになります。
*NO
漢字の不具合があっても補正しません。

用紙サイズ

用紙の幅
用紙の幅の桁数を指定します。省略時の値は132桁です。
用紙幅を超える項目は出力されません。
*MAX または 378を指定すると最大378桁まで指定することが
できます。
ただしやはり378桁を超える項目は出力されません。

82. データ・ベース妥当性検査(CHKDBVAL)

データ・ベース妥当性検査(CHKDBVAL)は既存のデータ・ベースに損傷があるか
どうかを検出することができます。
WEBQRYで正しく実行できなかったデータ・ベースの損傷を検査することが
できます。
エラーがあればエラー部分とエラーの内容が印刷されます。

                       データ・ベース妥当性検査  (CHKDBVAL)

  選択項目を入力して,実行キーを押してください。

  ファイル  . . . . . . . . . . .                  名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB
  メンバー  . . . . . . . . . . .   *FIRST         名前 , *FIRST, *LAST, *ALL
  漢字 :
   OE のみを検査  . . . . . . . .   *YES          *YES, *NO, *YES, *NO
   OF のみを検査  . . . . . . . .   *YES          *YES, *NO, *YES, *NO
  数字 :
   PACK 形式を検査  . . . . . . .   *YES          *YES, *NO, *YES, *NO
   ZONE 数字を検査  . . . . . . .   *YES          *YES, *NO
  出力  . . . . . . . . . . . . .   *PRINT        *PRINT, *, *BOTH
				
【パラメータの説明】

ファイル 
   ライブラリー
メンバー
検査する対象となるデータ・ベースの名前を
指定してください。
漢字 : 
 OEのみを検査
 OFのみを検査
漢字のシフト・コードに欠落がないかどうかを
検査します。
数字 : 
 PACK形式を
 検査
 ZONE数字を
 検査
数字のPACK形式やZONE 10進数の形式を検査します。

【エラー報告例】
                                                   スプール・ファイルの表示
ファイル . . . :   QPRINT                                                                            ページ/行     1/6
制御 . . . . . .                                                                                     桁             1 - 127
検索 . . . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+..
21/12/06 作成                                      データ・ベース妥当性検査                                                PAGE
 ファイル QTRFIL/CODEMST(*FIRST)
-------------------------------------------------------------------------------------------------------------------------------
 レコード  エラー        テキスト           エラー                                     データ
 番号      フィールド                       メッセージ
-------------------------------------------------------------------------------------------------------------------------------
    6816    CDFLG3       F3               OF がありますが始まりの OE がありません。   CC6F44444470444444444444444444444444444
                                                                                        21060000001F000000000000000000000000000
                               処理件数 . . . . . . . .         1
					
【解説】

データ・ベース QTRFIL/CODEMST のレコード番号(RRN) 6816番目のレコードにシフト文字0x0Fはあるが対応する0x0E のない フィールド : CDFLG3 が見つかりました。

DSPF の DDS ソースを改善する

84. 不要な DSPFキー・ワードの除去 (RMVDSPKWD)

RMVDSPKWDコマンドは既存のDSPFソースから
不要なキー・ワードを文法に準じて除去することができます。
PUTOVR , OVRDTA キー・ワードなどの不要なキー・ワードが大量に含まれているDSPFソースから
キー・ワードを指定して一括して除去することができます。

                      DSPF キー・ワードの除去  (RMVDSPKWD)

  選択項目を入力して,実行キーを押してください。

 DSPF ソース・ファイル  . . . . .   QDSPSRC        名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
  ソース・メンバー  . . . . . . .   *FIRST         文字値
  除去するキー・ワード  . . . . .                  文字値
                 値の続きは+
  出力ソース・ファイル  . . . . .   QDSPSRC        名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
  出力メンバー  . . . . . . . . .   *SRCMBR        文字値
RMVDSPKWD DSPF ( )
SRCMBR ( ) RMVKWD ( 除去するキー・ワード )
OUTSRC ( )
OUTMBR ( )
【パラメータの説明】

DSPFソース・ファイル / ライブラリー(DSPF)

不要なキー・ワードを除去したい DSPF ソース・ファイルの名前と
それが保管されているライブラリーの名前を指定してください。

ソース・メンバー(SRCMBR)

不要なキー・ワードを除去したい DSPF ソース・メンバー名を指定します。

除去するキー・ワード(RMVKWD)

除去したいキー・ワードを最大10個まで指定することができます。

出力ソース・ファイル / ライブラリー(OUTSRC)

不要なキー・ワードを除去した DSPF を出力する DSPFソース・ファイルの名前と
それが保管されているライブラリーの名前を指定してください。
このファイルは存在している必要があります。

出力メンバー(OUTMBR)

出力する DSPF ソース・メンバー名を指定します。
このメンバーが存在していない場合でもメンバーは追加されます。

85. DSPF のレコードを WINDOW タイプに変換 (CVT2WND)

AutoWeb で POPUPウィンドウとして表示されるレコードは
DSPF の WINDOW タイプのレコードだけです。
OVERLAY だけで仮想的なWIDNOWSを実現している場合があれば CVT2WND コマンドによって
WINDOWレコードに変換することができます。

                        DSPF を WINDOW へ変換  (CVT2WND)

  選択項目を入力して,実行キーを押してください。

 DSPF ソース・ファイル  . . . . .   QDSPSRC        名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
  ソース・メンバー  . . . . . . .   *FIRST         文字値
 WINDOW 変換レコード  . . . . . .                  文字値
  出力ソース・ファイル  . . . . .   QDSPSRC        名前
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL
  出力メンバー  . . . . . . . . .   *SRCMBR        文字値
CVT2WND
DSPF ( )
SRCMBR ( ) WNDRCD ( WINDOW 変換レコード )
OUTSRC ( )
OUTMBR ( )
【パラメータの説明】

DSPF ソース・ファイル / ライブラリー(DSPF)

WINDOWタイプに変換したいDSPFソース・ファイルの名前と
それが保管されているライブラリーの名前を指定してください。

ソース・メンバー(SRCMBR)

WINDOWタイプに変換したい
DSPFソース・メンバー名を指定します。

WINDOW 変換レコード(WNDRCD)

WINDOWタイプに変換したい
表示レコードの名前を指定してください。

出力ソース・ファイル / ライブラリー(OUTSRC)

WINDOWタイプに変換したDSPFを出力する DSPFソース・ファイルの名前と
それが保管されているライブラリーの名前を指定してください。
このファイルは存在している必要があります。

出力メンバー(OUTMBR)

出力するDSPFソース・メンバー名を指定します。
このメンバーが存在していない場合でもメンバーは追加されます。