実行単位 は、ローカル呼び出しまたは (場合によっては) 転送により関連付けられているプログラムのセットです。各実行単位には以下の特性があります。
- プログラムは 1 つのグループとして実行される。処理できないハード・エラーが発生すると、実行単位のす
べてのプログラムがメモリーから除去される。
- プログラムは同じランタイム・プロパティーを共有する。実行単位では同一のデータベースおよびファイルが使用される。例えば sysLib.connect または VGLib.connectionService を呼び出してデータベースに動的に接続すると、同一実行単位で制御を受け取るすべてのプログラムでこの接続が使用される。
実行単位には以下の種類があります。
- CICS 実行単位。同一
CICS® トランザクションで実行される EGL 生成の COBOL プログラムと、非 EGL 生成のプログラムで構成される。
CICS 実行単位のすべてのプログラムに対し、CICS 領域の構成時に指定されたプロパティーが適用される。これらのプログラムはすべて、同一のトランザクション作業域 (TWA) にアクセス
する。
CICS 実行単位の終了方法の 1 つとしては、synchOnTrxTransfer ビルド記述子オプションが NO に設定されていない場合に、プログラムが トランザクションへ転送 書式の transfer 文を発行する方法です。
- z/OS バッチ実行単位は、制御の転送が call 文によって起こるのか、transfer 文によって起こるのかには関係なく、単一のジョブ・ステップで実行されるプログラムで構成されています。実行単位内のすべてのプログラムは、同一の DD ステートメントにアクセスすることができます。
- iSeries COBOL 実行単位 は、メインプログラムおよびメインプログラムから (直接または間接的に) 呼び出されるプログラムで構成されます。実行単位は、以下の場合のように、メインプログラムが終了したときに終了します。
- プログラムが、プログラムを開始した非 EGL プログラムに戻った場合。または、
- プログラムが、トランザクションへ転送 書式の transfer 文を発行した場合。
- Java 実行単位は、単一のスレッドで実行されるプログラムで構成されています。
新規の実行単位は、ユーザーがプログラムを起動したときのように、メインプログラムで開始することができます。transfer 文もメインプログラムを起動しますが、同じ実行単位を継続します。
以下の場合には、呼び出されたプログラムが、実行単位の初期プログラムとなります。
- 呼び出しが、EJB セッション Bean からの呼び出しである。または、
- 呼び出しがリモート呼び出しである。ただし、以下の場合に同一の実行単位が継続している場合を除く。
- 呼び出し先プログラムが EGL または VisualAge® Generator によって生成された。または
- TCP/IP リスナーが呼び出しに関係していない。
Java™ 実行単位のすべてのプログラムには、同一の Java ランタイム・プロパティーが適用されます。
Java 実行単位は、単一のスレッドで実行されるプログラムで構成されています。新規の実行単位は、ユーザーがプログラムを起動したときのように、メインプログラムで開始することができます。transfer 文もメインプログラムを起動しますが、同じ実行単位を継続します。
以下の場合には、呼び出されたプログラムが、実行単位の初期プログラムとなります。
- 呼び出しが、EJB セッション Bean からの呼び出しである。または、
- 呼び出しがリモート呼び出しである。ただし、以下の場合に同一の実行単位が継続している場合を除く。
- 呼び出し先プログラムが EGL または VisualAge Generator によって生成された。または
- TCP/IP リスナーが呼び出しに関係していない。
Java 実行単位のすべてのプログラムには、同一の Java ランタイム・プロパティーが適用されます。