コマンド

13. コマンドから戻り値を受け取るには?

CLP の中で RTVJOBA や RTVOBJD コマンドを使ってコマンドからの戻り値を

受け取ったことがあるかも知れない。

このような戻り値を戻すコマンドを作成するには、戻り値のパラメータに

RTNVAL(*YES) を指定するだけでよい。

例えば、

PARM       KWD(FILLIB) TYPE(*CHAR) LEN(10) RTNVAL(*YES) +
           PROMPT(' ライブラリー             (10)')

のような記述となる。

但しコマンドのコンパイルでは

CRTCMD CMD(MYLIB/MYCMD) PGM(MYLIB/MYCMDCL) SRCFILE(MYSRCLIB/QCMDSRC) 
    ALLOW(*IPGM *BPGM) PMTFILE(MYLIB/MYMSGF) AUT(*ALL)

のように実行環境を *IPGM *BPGM に変更する必要がある。

もちろん、このようにしてコンパイルされたコマンドは対話式環境では使用できず、

CLP などの中だけで使用可能となる。