コマンド

1. ユーザー定義のコマンドを作成するには?

ユーザー作成のコマンドの使用を広くお勧めする。

ユーザー作成のコマンドといえば WRKOUTQ などのコマンドを入力する代わりに使用する

簡略コマンドと想像しがちだが、コマンドはプログラムの実行を動的に指示する

(つまりパラメータを与える)ための画面としての働きに注目していただきたい。

指示画面の代わりとしてコマンドを使用すると、

  • 画面レイアウトを作成する必要がない
  • 項目の増減だけで 画面が更新される
  • 表示バラメータを自由に制限できる(ユーザーに見せたくないバラメータ)
  • SAA 準拠のバランスのとれた画面
  • IBM コマンド操作と違和感なく統一のとれた画面

初めて見る指示画面が DSPF であれば、操作をどうすれば良いのかまず捜査員は考えるだろう。

コマンドであれば F3 や F12,F4=プロンプト など既に用意されており、操作方法に悩むようなことはない。

例えば PRT001 という名前のコマンドを作成したとする。

メニューには ?PRT001 と登録しておけば コマンドのプロンプト画面が表示されて指示画面として

表示することができる。

それでは簡単なコマンドの作成を紹介しよう。

【 コマンド原始 】
0001.00              CMD        PROMPT(' 請求書の発行 ')                      
0002.00              PARM       KWD(DATE) TYPE(*DEC) LEN(6 0) PROMPT(' 締日 ')
0003.00              PARM       KWD(OUTQ) TYPE(*CHAR) LEN(10) +           
0004.00                           PROMPT(' 印刷待ち行列 ')       
【 コマンドを処理するCLP原始 】
0001.00              PGM        PARM(&DATE &OUTQ)                     
0002.00 /*---------------------------------------------------------*/ 
0003.00 /*    PRT001    :    請求書の発行                          */ 
0004.00 /*---------------------------------------------------------*/ 
0005.00              DCL        VAR(&DATE) TYPE(*DEC) LEN(6 0)        
0006.00              DCL        VAR(&OUTQ) TYPE(*CHAR) LEN(10)        
0007.00                                                               
0008.00              CHGJOB     OUTQ(&OUTQ)                           
0009.00              CALL       PGM(MYLIB/PRT001) PARM(&DATE)         
0010.00              ENDPGM                          
【 コマンドのコンパイル 】
CRTCMD  MYLIB/PRT001  PGM(MYLIB/PRT001CL)  SRCFILE(MYSRC/QCMDSRC) AUT(*ALL)
【 コマンドの実行画面 】

?PRT001 とメニューに登録するか または 打鍵して実行するか または PRT001 + CF04 で

--------------------------------------
                             請求書の発行  (PRT001)        
                                                           
 選択項目を入力して,実行キーを押してください。            
                                                           
        締日  . . . . . . . . . . . . .       __________       番号
        印刷待ち行列  . . . . . . . . .  ______________   文字値   
--------------------------------------

のように表示される。

もちろん初期値や F4キーによる検索や ヘルプ,妥当性検査など ほとんどの機能を追加できるのは

いうまでもない。