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) : : (略) -----------------------------------------------------------------------------