コマンドのコンパイル(CRTCMD)に必要なパラメータはいくつかあって
それらを理解することはコマンドの理解の基本となるのでそれを紹介する。
CRTCMD コマンド,,,,,,, CMD : 作成するコマンドの名前とライブラリー
コマンドを処理するプログラム…. PGM : コマンドから呼び出されて実行するプログラム
多くはCLPを指定する。
ソース・ファイル…. SRCFILE :コマンドのソース・ファイル
ソース・メンバー … SRCMBR :コマンドのソース・メンバー名
作成するコマンドと同じ名前が入る。
妥当性検査プログラム. VLDCKR :コマンドで入力したバラメータ値が正しいかどうかを
検査するためのプログラムを作成して指定する。
妥当性検査プログラムはコマンドのパラメータ値すべてが
渡される。パラメータの記述はコマンドを処理するプログラムと
同じである。
妥当性検査プログラムではパラメータのひとつひとつが
正しいのかを検査するのではなく全体として
パラメータの組合せが正しいのかを検査するのに利用される。
実行可能な環境 …… ALLOW : コマンドは通常は対話式環境で利用されることが多いので
その場合は *ALL を指定するがコマンドのパラメータが
値を戻すように設定されている場合は *IPGM と *BPGM の
両方を指定する必要がある。
値を戻す記述がないコマンドなら *ALL でよい。
値を戻す場合に *IPGM, *BPGMを指定しなければ
コンパイル・エラーににるので注意すること。
プロンプト・テキスト 用 メッセージ・ファイル:PMTFILE: コマンドのバラメータのテキストにメッセージ識別コードを
指定した場合、どのメッセージ・ファイルを参照するのかを
指定する。
メッセージ・ファイル MSGF ;
ヘルプ・パネル・グループ:HLPPNLGRP: コマンドのヘルプ説明が登録されているパネル・グループの
名前とライブラリー名
ヘルプ ID ………. HLPID:ヘルプを識別するID。通常はコマンド名と同じ名前を指定する。
プロンプト一時変更プログラム:PMTOVRPGM : コマンドが起動されたときの初期設定プログラム。
コマンドの最初の起動時に実行される。
権限 …………… AUTO:
[解説]
ここでわかりにくいのは「妥当性検査プログラム」と「プロンプト一時変更プログラム」である。
「妥当性検査プログラム」にはコマンド処理プログラム、つまりコマンドから呼び出される
プログラムと同じパラメータで呼び出される。
そして入力されたパラメータが妥当であるかなどの検査を行い、
誤りがあれば CPF0002を
SNDPGMMSG MSGID(CPF0002) MSGF(QCPFMSG) MSGTYPE(*ESCAPE)
のように *ESCAPEで戻す。
これに対して「プロンプト一時変更プログラム」とはパラメータは
PGM PARM(&CMDNAME &STRING)
のようにコマンド名: &CMDNAME と返信パラメータ : &STRING を
パラメータとして受取る。
返信パラメータ : &STRING には
??DEV('WIN01')
のようにしてパラメータの初期値を戻す。
つまり「プロンプト一時変更プログラム」とはコマンドのパラメータの
初期値を設定するプログラムである。