帳表出力などのプログラムの実行で
データの出力範囲を指定できるようにしたい場合が
あるがそのようなときはDSPF+CLPを作るよりは
コマンド・プロンプト表示させたほうが便利である。
_
例えば
商品マスター一覧表 (PGM106) 選択項目を入力して,実行キーを押してください。 品種コード . . . . . . . . . . から 9999 まで 商品コード . . . . . . . . . . から , リストは F4 9999999999 まで 出力 . . . . . . . . . . . . . *PDF *PRINT, *PDF
これはコマンド・プロンプトによる範囲指定である。 ①DSPFの画面設計をする必要がない という利点がある。 [ コマンド:PGM106 ] ソースはこちらから さてここでメニューにコマンド・プロンプト表示させるには のようにコマンド文字列の先頭に「?」の文字を付加しておくだけで さてここからが問題であるがそれでは任意のパラメータの初期値を として表示する方法であるが のような表示になってしまい ?? を付加したパラメータ以外は表示されない。 のようにやはりコマンドの先頭に文字 ? を付加すると のようにしてすべてのパラメータも表示してしかも として非常にスマートで綺麗な表示となる。 ①コマンドの先頭に文字 ? を付加する ようにすればよいことになる。 なお IBM iマニュアルの CL コマンドの選択プロンプトの使用 は IBM i KnowledgeCenter の選択コマンド・プロンブトの設定方法を 詳細は IBM Knowledge Centerの説明を参照のこと。
DSPFで作るよりコマンド・プロンプト表示につたほうが
②OSによる画面レイアウトなのでつねに最適な画面レイアウトになる。
③エンド・ユーザーによる操作も統一される。
_
0001.00 CMD PROMPT(' 商品マスター一覧表 ')
0002.00 PARM KWD(HNSFROM) TYPE(*CHAR) LEN(4) CHOICE(*PGM) +
0003.00 CHOICEPGM(QTROBJ/PGM106P) +
0004.00 PROMPT(' 品種コード ')
0005.00 PARM KWD(HNSEND) TYPE(*CHAR) LEN(4) DFT(9999) +
0006.00 CHOICE(*PGM) CHOICEPGM(QTROBJ/PGM106P)
0007.00 PARM KWD(SHFROM) TYPE(*CHAR) LEN(10) CHOICE(*PGM) +
0008.00 CHOICEPGM(QTROBJ/PGM106PE) +
0009.00 PROMPT(' 商品コード ')
0010.00 PARM KWD(SHEND) TYPE(*CHAR) LEN(10) +
0011.00 DFT(9999999999) CHOICE(*PGM) +
0012.00 CHOICEPGM(QTROBJ/PGM106P)
0013.00 PARM KWD(OUTPUT) TYPE(*CHAR) LEN(8) RSTD(*YES) +
0014.00 DFT(*PDF) VALUES(*PRINT *PDF) +
0015.00 PROMPT(' 出力 ')
?PGM106
前述のようにコマンド・プロンプトされて各パラメータもすべて
表示される。
_
変更して表示するにはどのようにすればよいのだろうか?
よくあるのは
PGM106 ??OUTPUT(*PRINT)
これだと
商品マスター一覧表 (PGM106)
選択項目を入力して,実行キーを押してください。
出力 . . . . . . . . . . . . . > *PRINT *PRINT, *PDF
残りのすべてのパラメータも表示されるようにするには
?PGM106 ??OUTPUT(*PRINT)
商品マスター一覧表 (PGM106)
選択項目を入力して,実行キーを押してください。
品種コード . . . . . . . . . . から
9999 まで
商品コード . . . . . . . . . . から , リストは F4
9999999999 まで
出力 . . . . . . . . . . . . . > *PRINT *PRINT, *PDF
変更することもできる。
ただし ?? を付加したパラメータには初期値が変更されていることを
示す > が表示されてしまうのでこれは表示上、体裁は良くない。
この > も表示されないようにするには
初期値を変更するパラメータの先頭に ?? ではなく ?< を付加すると
> 記号が表示されずに
商品マスター一覧表 (PGM106)
選択項目を入力して,実行キーを押してください。
品種コード . . . . . . . . . . から
9999 まで
商品コード . . . . . . . . . . から , リストは F4
9999999999 まで
出力 . . . . . . . . . . . . . *PRINT *PRINT, *PDF
従って最善のコマンド・プロンプトにするには[結論]
②変更したいパラメータの先頭には文字列 ?< を付加する
これが結論である。(ただし第1番目のパラメータには ?< が使えない場合がある )
_
こちらで参照することができる。
まとめると
選択プロンプト
変更可能
>の表示
説明
??
○
×
パラメータ表示され入力可能
?*
×
○
パラメータ表示されるが変更不可
?<
○
×
パラメータ表示され入力可能
?/
×
×
IBMが使用
?-
N/A
N/A
パラメータは表示されない
?&
○
×
F9のみで表示
?%
×
×
F9のみで表示
_