活動化グループの指定
- 名前付き活動化グループ
名前付き活動化グループによって、ILE プログラムおよびサービス・プログラムの集まりを、1 つのアプリケーションとして管理することができます。活動化グループは、 作成時に活動化グループ名を指定した最初のプログラムが呼び出された時に作成されます。 それからは同じ活動化グループ名を指定するすべてのプログラムおよびサービス・プログラムによって使用されます。
名前付き活動化グループは、CL コマンド RCLACTGRP を使用して削除された時に終了します。 このコマンドは活動化グループがもう使用されない場合にのみ使用することができます。 これが終了した時には、名前付き活動化グループのプログラムおよび サービス・プログラムと関連したすべての 資源がシステムに戻されます。
名前付き活動化グループ QILE が、CRTBNDRPG コマンドの ACTGRP パラメーターのデフォルト値です。 しかし、活動化グループはアプリケーションに対応するように意図されているので、 このパラメーターには異なる値を指定されるようお奨めします。 例えば、アプリケーション名の後に活動化グループの名前を指定することができます。
- *NEW
*NEW を指定すると、プログラムが呼び出されるたびに新しい活動化グループが作成されます。 システムが活動化グループの名前を作成します。 この名前はジョブ内で固有のものです。
*NEW で作成された活動化グループは常に、それと関連したプログラムの終了時に終了します。 このため、プログラムを活動状態にしておくために LR OFF でプログラムから 戻るつもりの場合には、ACTGRP パラメーターに *NEW を指定すべきではありません。注: この値はサービス・プログラムの場合正しくありません。 サービス・プログラムは、 名前付き活動化グループまたは呼び出し元の活動化グループでのみ実行することができます。*NEW は、CRTPGM コマンドの ACTGRP パラメーターのデフォルト値です。
ACTGRP(*NEW) で ILE RPG プログラムを作成する場合には、以前の呼び出しから戻らずに必要な回数だけプログラムを呼び出すことができます。 呼び出しごとに、プログラムが新しくコピーされます。 新しいコピーはそれぞれ独自のデータを持ったりファイルをオープンしたりします。ただし、「それ自体」への呼び出しを終了するための何らかの方法を確保する必要があります。さもないと、新しい活動化グループが作成され続けるだけで、プログラムは決して戻らないことになります。
- *CALLER
プログラムまたはサービス・プログラムは、 呼び出し側プログラムの活動化グループ内に活動化されます。ACTGRP(*CALLER) で作成された ILE プログラムが OPM プログラムによって呼び出された場合には、 プログラムは OPM デフォルトの活動化グループ (*DFTACTGRP) 内で活動化されます。