プロンプト要求とは普段、使わないパラメータは隠しておいて
「F10= 追加のパラメータ 」が押されたときだけに表示するもので
IBM iの操作をやっているとi5/OSのコマンドで
F10= 追加のパラメータを良く目にしたことがあると思う。
例えば次のようなコマンドである。
ファイル記述表示 (DSPFD) 選択項目を入力して,実行キーを押してください。 ファイル . . . . . . . . . . . 名前,総称* , *ALL ライブラリー . . . . . . . . . . . *LIBL 名前 , *LIBL, *CURLIB... 情報のタイプ . . . . . . . . . *ALL *ALL, *BASATR, *ATR... 値の続きは+ 出力 . . . . . . . . . . . . . * *, *PRINT, *OUTFILE ファイル属性 . . . . . . . . . *ALL *ALL, *DSPF, *PRTF, *DKTF... 値の続きは+ 終り F3= 終了 F4=プロンプト F5= 最新表示 F10= 追加のパラメーター F12= 取り消し F13= この画面の使用法 F24= キーの続き
ここで F10キーを押すと続きのパラメータが次のように表示される。
ファイル記述表示 (DSPFD) 選択項目を入力して,実行キーを押してください。 ファイル . . . . . . . . . . . 名前,総称* , *ALL ライブラリー . . . . . . . . . . . *LIBL 名前 , *LIBL, *CURLIB... 情報のタイプ . . . . . . . . . *ALL *ALL, *BASATR, *ATR... 値の続きは+ 出力 . . . . . . . . . . . . . * *, *PRINT, *OUTFILE ファイル属性 . . . . . . . . . *ALL *ALL, *DSPF, *PRTF, *DKTF... 値の続きは+ 追加のパラメーター システム . . . . . . . . . . . *LCL *LCL, *RMT, *ALL 終り F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き
[解説]
「追加のパラメーター」以降に表示されるパラメータが続きのパラメータである。
このように使用頻度が少ないパラメータは普段は隠しておくとエンド・ユーザーに
とってわかりやすく見やすくなる。
追加のパラメータとして隠しておくのは簡単でその例のソースを
次に紹介する。
商品明細表 (QRY001) 選択項目を入力して,実行キーを押してください。 品種 コード . . . . . . . . . . . から 9999 まで 商品 コード . . . . . . . . . . . から 9999999999 まで 出力 . . . . . . . . . . . . . *PRINT *PRINT, *, *OUTFILE ジョブ待ち行列へ投入しますか N Y=YES, N=NO ジョブ待ち行列 . . . . . . . QBATCH 名前 , *JOBD ライブラリー . . . . . . . QGPL 名前 , *LIBL, *CURLIB 終り F3= 終了 F4=プロンプト F5= 最新表示 F10= 追加のパラメーター F12= 取り消し F13= この画面の使用法 F24= キーの続き
[解説]
これはQUERYを使って印刷するプログラムのサンブルでサンブル・ライブラリー
QTROBJ に収められている。ソース・ライブラリーは QTRSRC である。
( サンプル・ライブラリーの入手はこちらで )
F10キーを押すと次のように表示される。
商品明細表 (QRY001) 選択項目を入力して,実行キーを押してください。 品種 コード . . . . . . . . . . . から 9999 まで 商品 コード . . . . . . . . . . . から 9999999999 まで 出力 . . . . . . . . . . . . . *PRINT *PRINT, *, *OUTFILE ジョブ待ち行列へ投入しますか N Y=YES, N=NO ジョブ待ち行列 . . . . . . . QBATCH 名前 , *JOBD ライブラリー . . . . . . . QGPL 名前 , *LIBL, *CURLIB 追加のパラメーター 印刷装置 . . . . . . . . . . . PRT01 名前 , *SAME, *USRPRF... 出力待ち行列 . . . . . . . . . QPRINT 名前 , *DEV ライブラリー . . . . . . . . QGPL 名前 , *LIBL, *CURLIB 実行優先順位 . . . . . . . . . 30 数値 終り F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き
[解説]
追加のパラメータとして表示されたのは印刷装置やOUTQ,実行優先順位などの
パラメータである。
普段はこれらの省略値のままで実行すればよいのだが
別のプリンタに印刷したい場合はここで変更することができる。
よくOUTQを別のオプションで変更できるようにしている例があるが
OUTQをF10キーで変更できるようにしておくと見た目にもスマートで
わかりやすくなる。
やはり省略値では必要最小限のものだけを表示するようにすると
非常にスマートな印象となる。
現代はあまり最初からごちゃごちゃと表示することは好まれない。
あくまでもスッキリでスマートが好まれる時代である。
そのように見せるためにF10で追加のパラメータとしてまとめておけば
スッキリするので試して頂きたい。
[商品明細表 (QRY001)コマンド]
ソースはこちらから
0001.00 CMD PROMPT(' 商品明細表 ') 0002.00 PARM KWD(SHSCOD01) TYPE(*CHAR) LEN(0004) + 0003.00 DFT( ) + 0004.00 CHOICE(PNL0075) + 0005.00 PROMPT(' 品種 コード') 0006.00 PARM KWD(SHSCOD02) TYPE(*CHAR) LEN(0004) + 0007.00 DFT(9999) + 0008.00 CHOICE(PNL0076) 0009.00 PARM KWD(SHCODE01) TYPE(*CHAR) LEN(0010) + 0010.00 DFT( ) + 0011.00 CHOICE(PNL0075) + 0012.00 PROMPT(' 商品 コード') 0013.00 PARM KWD(SHCODE02) TYPE(*CHAR) LEN(0010) + 0014.00 DFT(9999999999) + 0015.00 CHOICE(PNL0076) 0016.00 PARM KWD(OUTPUT) TYPE(*CHAR) LEN(8) RSTD(*YES) + 0017.00 DFT(*PRINT) VALUES(*PRINT * *OUTFILE) + 0018.00 PROMPT(' 出力 ') 0019.00 PARM KWD(PRTDEV) TYPE(*NAME) LEN(10) + 0020.00 SPCVAL((*SAME) (*USRPRF) (*SYSVAL) + 0021.00 (*WRKSTN)) PMTCTL(*PMTRQS) + 0022.00 PROMPT(' 印刷装置 ') 0023.00 PARM KWD(OUTQ) TYPE(OUTQ) PMTCTL(*PMTRQS) + 0024.00 PROMPT(' 出力待ち行列 ') 0025.00 OUTQ: QUAL TYPE(*NAME) LEN(10) SPCVAL((*DEV)) MIN(1) 0026.00 QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) + 0027.00 SPCVAL((*LIBL) (*CURLIB)) + 0028.00 PROMPT(' ライブラリー ') 0029.00 PARM KWD(JOBQ) TYPE(JOBQ) 0030.00 JOBQ: ELEM TYPE(*NAME) LEN(1) RSTD(*YES) DFT(N) + 0031.00 VALUES(Y N) CHOICE(PNL0074) + 0032.00 PROMPT(' ジョブ待ち行列へ投入しますか ') 0033.00 ELEM TYPE(JOBD) + 0034.00 PROMPT(' ジョブ待ち行列 ') 0035.00 JOBD: QUAL TYPE(*NAME) LEN(10) SPCVAL((*JOBD)) MIN(1) 0036.00 QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) + 0037.00 SPCVAL((*LIBL) (*CURLIB)) + 0038.00 PROMPT(' ライブラリー ') 0039.00 PARM KWD(RUNPTY) TYPE(*INT2) DFT(30) + 0040.00 PMTCTL(*PMTRQS) PROMPT(' 実行優先順位 ') 0041.00 OUTF: PMTCTL CTL(OUTPUT) COND((*EQ '*OUTFILE')) 0042.00 PARM KWD(OUTFILE) TYPE(OUTFILE) MIN(0) + 0043.00 PMTCTL(OUTF) + 0044.00 PROMPT(' 出力を受け取るファイル ') 0045.00 OUTFILE: QUAL TYPE(*NAME) LEN(10) MIN(1) 0046.00 QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) + 0047.00 SPCVAL((*LIBL) (*CURLIB)) + 0048.00 PROMPT(' ライブラリー ') 0049.00 PARM KWD(OUTMBR) TYPE(OUTMBR) MAX(1) PMTCTL(OUTF) + 0050.00 PROMPT(' 出力メンバー・オプション ') 0051.00 OUTMBR: ELEM TYPE(*NAME) LEN(10) DFT(*FIRST) + 0052.00 SPCVAL((*FIRST)) PROMPT(' メンバー ') 0053.00 ELEM TYPE(*CHAR) LEN(8) RSTD(*YES) DFT(*REPLACE) + 0054.00 VALUES(*REPLACE *ADD) + 0055.00 PROMPT(' レコードの置換または追加 ')
[解説]
タネ明かしは非常に簡単でありパラメータに PMTCTL(*PMTRQS) を指定するだけである。
このソースは真剣に読んで頂く必要はない。
PMTCTL(*PMTRQS) だけ理解すればそれで十分である。
早速、自分のコマンドにも使って頂きたい。