メニューの オプション 5 または GO 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 |
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
【パラメータの説明】
ディバッグ(DEBUG)
仮想端末 (VT5250)
5250ストリームの処置をデバッグを終了します。
- *OFF
- ログを終了します
AutoWeb (CVT5250)
5250ストリームの画面の変換処理をログ出力を終了します。
- *OFF
- ログを終了します
5250 ストリーム・トレース(TRACE)
5250トレース処理を終了します。
トレースを潟Iフィスクアトロ ヘルプ・デスクに送る場合は
- QUSRTEMP/VTDTAQ *DTAQ
- QUSRTEMP/STM5250 *DTAQ
の二つのデータ待ち行列を
ダウンロードの上、お送りください。
メモリー・リークを検査(MALLOC)
メモリー・リークの検査を終了します。
ユーザー・アプリケーションにパネル・グループ(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を表示します。
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 エミュレータ上で最初に実行していますが
BやCでエラーが発生すればそれはすべて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 の直後に
を実行すれば仮想端末をまとめてオンに設定することができます。
さらにスタートアップ (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 はデータ・ベースに基づいて 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 を指定してメニューを作成してください。
このパネル・グループによるメニューです。
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)
出力の方法を指定します。
- 印刷出力
- *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 が削除されます。
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
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)
- *BOTH
- 属性 PF, LFの両方を指定します。
- *PF
- 属性: PFおよびPF-DTAを指定します。
- *PF
- 属性: LFを指定します。
オブジェクトの属性を指定します。PF, LFのようにIBM iのオブジェクト属性を 指定することもできますがさらに次の特殊値を指定することができます。
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と指定してください。
- [次の名詞コード]
- 次の名詞にリンクさせる場合は存在する名詞コードの名前を記述してください。
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 として保留中のスプールは除去しません。
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クライアントのために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'
[解説]
環境変数に出口プログラム名を登録しておくと
コマンドの実行時に出口プログラムが呼び出されて実行されます。
[例]
環境変数 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 とは 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と通信に使用します
- デバッグのために印刷します
- *
- デバッグのために表示します
- *DEBUG
- さらにデバッグを出力します
66. データ転送 (RTOPCB)
データ転送 (RTOPCB
) は通常、特に操作して使用することはなく
AutoWeb の内部でデータ転送が必要なときに
自動的に呼び出されて実行されるプログラムです。
しかし PC オーガナイザーの PC コマンド文がどのように実行されるのかを
このコマンドを使ってエミュレートすることができます。
RTOPCB | PFILE ( 転送記述 ) | ||
OPTION ( ) | > |
【パラメータの説明】
転送記述(PFILE)
PC オーガナイザーで指定する PC コマンドを指定します
出力オプション(OPTION)
出力の方法を指定します
- *TCPIP
- PCと通信に使用します
- デバッグのために印刷します
- *
- デバッグのために表示します
- *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 変換すると漢字より後ろのフィールドの位置がずれてしまう。
漢字が含まれていなくてもオープン・フィールドがあるだけで位置ずれを発生する。
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の省略時の用紙幅は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 が見つかりました。
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ソース・メンバー名を指定します。
このメンバーが存在していない場合でもメンバーは追加されます。