プロンプト要求とは普段、使わないパラメータは隠しておいて
「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) だけ理解すればそれで十分である。
早速、自分のコマンドにも使って頂きたい。
