実行単位
実行単位は、メインプログラムと、
メインプログラムがコントロールを移動するその他のプログラムで構成されています。
これらの他のプログラムは、呼び出し先プログラムか、場合によっては、その他のメインプログラムにすることができます。各実行単位には以下の特性があります。
- プログラムは 1 つのグループとして実行される。処理できないハード・エラーが発生すると、実行単位のす べてのプログラムがメモリーから除去されます。
- プログラムは同じランタイム・プロパティーを共有する。例えば、実行単位を通じて同じデータベースやファイルを使用できます。また、sqlLib.connect() または vgLib.connectionService() を呼び出してデータベースに動的に接続すると、同じ実行単位でコントロールを受け取るすべてのプログラムでこの接続が使用されます。
実装の詳細については、このトピック内の『互換性』を参照してください。
互換性
| プラットフォーム | 問題 |
|---|---|
| Java™ 生成 | Java 用に EGL を生成する場合、 実行単位は、単一のスレッドで実行されるプログラムで構成されます。 新規の実行単位は、ユーザーがプログラムを起動したときのように、メインプログラムで開始することができます。また、transfer 文または returning 文節を指定した show 文も メインプログラムを呼び出しますが、同じ実行単位を継続します。 以下の場合には、呼び出されたプログラムが、実行単位の初期プログラムとなります。
Java 実行単位のすべてのプログラムは、 同一の Java ランタイム・プロパティーの影響を受けます。 |
| CICS® | CICS 実行単位は、単一 CICS トランザクション呼び出しとして実行される EGL プログラムおよび非 EGL プログラムで構成されます。
これには、以下が含まれます。
|
IMS BMP |
実行単位は、制御の移動が call 文または transfer 文のどちらによって行われるかにかかわらず、単一のジョブ・ステップで実行されるプログラムから構成されます。 実行単位内のすべてのプログラムは、同一の DD ステートメントにアクセスすることができます。実行単位内の非 EGL プログラムの場合は、これに、CALL 文または OS XCTL マクロの使用が含まれます。 |
| IMS/VS | IMS/VS 実行単位は、単一 IMS™ トランザクション呼び出しとして実行される EGL プログラムおよび非 EGL プログラムで構成されます。
これには、以下が含まれます。
|
| iSeries COBOL | iSeries COBOL 実行単位は、
メインプログラム、およびそのメインプログラムから (直接または間接的に) 呼び出されるプログラムで構成されます。実行単位は、以下の場合のように、メインプログラムが終了したときに終了します。
|