RPG だけでなく CLP も、まとめて CRTCLPGM によってコンパイルするコマンドを紹介する。
CRTCLPGM も IBM の CRTCLPGM のコマンド・ソースを RTVCMDSRC によって検索してから
パラメータを *ALL 対応として少し手を加えただけに過ぎない。
このように RTVCMDSRC は IBM のコマンドの機能を拡張したい場合に役に立つ。
CRTCLPGM も前の CRTBNDRPG の応用であるのでソースだけを早速、紹介しよう。
------------------------------------------------------------------------------------------
0001.00 /* CRTCMD CMD(CVTS36/CRTCLPGM) + */
0002.00 /* PGM(QSYS/CRTCLPGMC) + */
0003.00 /* SRCFILE(R540SRC/QCMDSRC) + */
0004.00 /* SRCMBR(CRTCLPGM) + */
0005.00 /* THDSAFE(*NO) + */
0006.00 /* MLTTHDACN(*SYSVAL) + */
0007.00 /* TEXT(' CL プログラム作成 ') + */
0008.00 /* VLDCKR(*NONE) + */
0009.00 /* MODE( + */
0010.00 /* *ALL) + */
0011.00 /* ALLOW( + */
0012.00 /* *ALL) + */
0013.00 /* ALWLMTUSR(*NO) + */
0014.00 /* MAXPOS(5) + */
0015.00 /* PMTFILE(QDEVELOP/QCPFPMT) + */
0016.00 /* MSGF(*LIBL/QCPFMSG) + */
0017.00 /* HLPSHELF(*LIST) + */
0018.00 /* HLPPNLGRP(*LIBL/QHCLCMD1) + */
0019.00 /* HLPID(CRTCLPGM) + */
0020.00 /* HLPSCHIDX(*NONE) + */
0021.00 /* CURLIB(*NOCHG) + */
0022.00 /* PRDLIB(*NOCHG) + */
0023.00 /* PMTOVRPGM(*NONE) + */
0024.00 /* AUT(*USE) + */
0025.00 /* REPLACE(*YES) + */
0026.00 /* ENBGUI(*YES) */
0027.00
0028.00 /* Internal info */
0029.00 /* PGM call state: *SYSTEM */
0030.00 /* CCSID: 5026 */
0031.00
0032.00 CMD PROMPT(' CL プログラム作成 ')
0033.00 PARM KWD(CON) +
0034.00 TYPE(*CHAR) +
0035.00 LEN(1) +
0036.00 CONSTANT('O') +
0037.00 MIN(1)
0038.00 PARM KWD(PGM) TYPE(Q06D7) PGM(*YES) CHOICE(*NONE) +
0039.00 PROMPT(' プログラム ' 2)
0040.00 PARM KWD(SRCFILE) +
0041.00 TYPE(Q0733) +
0042.00 FILE(*IN) +
0043.00 CHOICE(*NONE) +
0044.00 PROMPT(' ソース・ファイル ' 3)
0045.00 PARM KWD(SRCMBR) +
0046.00 TYPE(*NAME) +
0047.00 LEN(10) +
:
:
(略)
------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------
0001.00 PGM PARM(&CON &PGMOBJLIB &SRCFLIB &SRCMBR +
0002.00 &OUTPUT &OPTION &GENOPT &USRPRF &LOG +
0003.00 &ALWRTVSRC &ENSYSTEM &TEXT &DFTACTGRP +
0004.00 &ACTGRP &REPLACE &TGTRLS &AUT &SRTSEQ +
0005.00 &LANGID &OPTIMIZE &DBGVIEW &ENBPFRCOL +
0006.00 &STGMDL)
0007.00 /*---------------------------------------------------------*/
0008.00 /* CRTCLPGM : CLP コンパイル (*ALL) */
0009.00 /*---------------------------------------------------------*/
0010.00 DCL VAR(&MSG) TYPE(*CHAR) LEN(80)
0011.00 DCL VAR(&TYPE) TYPE(*CHAR) LEN(1)
0012.00 DCL VAR(&CON) TYPE(*CHAR) LEN(1)
0013.00 DCL VAR(&PGMOBJLIB) TYPE(*CHAR) LEN(20)
0014.00 DCL VAR(&PGM) TYPE(*CHAR) LEN(10)
0015.00 DCL VAR(&PGM_P) TYPE(*CHAR) LEN(10)
0016.00 DCL VAR(&OBJLIB) TYPE(*CHAR) LEN(10)
0017.00 DCL VAR(&SRCFLIB) TYPE(*CHAR) LEN(20)
0018.00 DCL VAR(&SRCF) TYPE(*CHAR) LEN(10)
0019.00 DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10)
0020.00 DCL VAR(&SRCMBR) TYPE(*CHAR) LEN(10)
0021.00 DCL VAR(&OUTPUT) TYPE(*CHAR) LEN(1)
0022.00 DCL VAR(&OPTION) TYPE(*CHAR) LEN(14)
0023.00 DCL VAR(&OPTION_C) TYPE(*CHAR) LEN(220)
0024.00 DCL VAR(&OPTION_P) TYPE(*CHAR) LEN(200)
0025.00 DCL VAR(&GENOPT) TYPE(*CHAR) LEN(8)
0026.00 DCL VAR(&GENOPT_C) TYPE(*CHAR) LEN(220)
0027.00 DCL VAR(&GENOPT_P) TYPE(*CHAR) LEN(200)
0028.00 DCL VAR(&USRPRF) TYPE(*CHAR) LEN(1)
0029.00 DCL VAR(&USRPRF_P) TYPE(*CHAR) LEN(6)
0030.00 DCL VAR(&LOG) TYPE(*CHAR) LEN(1)
0031.00 DCL VAR(&LOG_P) TYPE(*CHAR) LEN(4)
0032.00 DCL VAR(&ALWRTVSRC) TYPE(*CHAR) LEN(1)
0033.00 DCL VAR(&ALWRTVSR_P) TYPE(*CHAR) LEN(4)
0034.00 DCL VAR(&ENSYSTEM) TYPE(*CHAR) LEN(1)
0035.00 DCL VAR(&TEXT) TYPE(*CHAR) LEN(52)
0036.00 DCL VAR(&TEXT_P) TYPE(*CHAR) LEN(50)
0037.00 DCL VAR(&DFTACTGRP) TYPE(*CHAR) LEN(1)
0038.00 DCL VAR(&ACTGRP) TYPE(*CHAR) LEN(10)
0039.00 DCL VAR(&REPLACE) TYPE(*CHAR) LEN(1)
0040.00 DCL VAR(&REPLACE_P) TYPE(*CHAR) LEN(4)
0041.00 DCL VAR(&TGTRLS) TYPE(*CHAR) LEN(10)
0042.00 DCL VAR(&TGTRLS_P) TYPE(*CHAR) LEN(10)
0043.00 DCL VAR(&AUT) TYPE(*CHAR) LEN(10)
0044.00 DCL VAR(&AUT_P) TYPE(*CHAR) LEN(10)
0045.00 DCL VAR(&SRTSEQ) TYPE(*CHAR) LEN(20)
0046.00 DCL VAR(&LANGID) TYPE(*CHAR) LEN(3)
0047.00 DCL VAR(&LANGID_P) TYPE(*CHAR) LEN(7)
:
:
(略)
-----------------------------------------------------------------------------