これらのコンパイラー・オプションは、RPGLE または CLLE プログラム・ソースで設定できます。
RPGでは、ソースの先頭で H-Specs を使用してコンパイラ オプションを設定します。このような:
HDFTACTGRP(*NO) ACTGRP(*CALLER)
そこにある他のものに追加するだけです。
H DEBUG DATEDIT(*YMD)
H DFTACTGRP(*NO) ACTGRP(*CALLER)
H BNDDIR('SRVBNDDIR')
H MAIN(main)
F OUTPUT O F 3000 DISK USROPN
D ...
* procedures, etc.
CLには、DCLPRCOPT
実際にはコマンドではない (実行時に実行されないため)特別なコマンドがありますが、コンパイラ オプションを設定する方法です。
DCLPRCOPT DFTACTGRP(*NO) ACTGRP(*CALLER)
プログラムの先頭に置くだけです。私は通常、変数の宣言の後ろ、実際のコマンドの前に置きます。また、短いコメントを追加します。これは、私のコードを正す可能性のあるすべての人が、そこで行われていることを理解しているとは思わないからです。
PGM PARM(&SOMEPARM)
DCL VAR(&SOMEPARM) TYPE(*CHAR) LEN(*64)
DCL VAR(&COUNTER) TYPE(*DEC) LEN(5 0)
/* Setting options for compilation of this program */
/* This is a permanent job, so we want a *NEW activation group. */
DCLPRCOPT DFTACTGRP(*NO) ACTGRP(*NEW)
/* do actual work here in a loop */
/* ..... */
ENDPGM
ここで、プログラムをコンパイルすると ( 14
PDM に入力して Enter キーを押すだけです)、ソースで指定した活動化グループの動作になります。そこには自分自身を思い出すものは何も残っていません。