実行単位

実行単位は、メインプログラムと、 メインプログラムがコントロールを移動するその他のプログラムで構成されています。 これらの他のプログラムは、呼び出し先プログラムか、場合によっては、その他のメインプログラムにすることができます。各実行単位には以下の特性があります。

実装の詳細については、このトピック内の『互換性』を参照してください。

互換性

表 1. 実行単位の互換性に関する考慮事項
プラットフォーム 問題
Java™ 生成

Java 用に EGL を生成する場合、 実行単位は、単一のスレッドで実行されるプログラムで構成されます。

新規の実行単位は、ユーザーがプログラムを起動したときのように、メインプログラムで開始することができます。また、transfer 文または returning 文節を指定した show 文も メインプログラムを呼び出しますが、同じ実行単位を継続します。

以下の場合には、呼び出されたプログラムが、実行単位の初期プログラムとなります。
  • 呼び出しがリモート呼び出しである。ただし、以下の場合に同一の実行単位が 継続している場合を除く。
    • 呼び出し先プログラムが EGL または VisualAge® Generator によって生成された。または
    • TCP/IP リスナーが呼び出しに関係していない。

Java 実行単位のすべてのプログラムは、 同一の Java ランタイム・プロパティーの影響を受けます。

CICS®
CICS 実行単位は、単一 CICS トランザクション呼び出しとして実行される EGL プログラムおよび非 EGL プログラムで構成されます。 これには、以下が含まれます。
  • 別のプログラムを呼び出す EGL プログラム。
  • transfer to program 文を使用して別のプログラムへコントロールを移動する EGL プログラム。
  • CALL 文や CICS LINK コマンドを使用して別のプログラムを呼び出す非 EGL プログラム。
  • CICS XCTL コマンドを使用して別のプログラムへコントロールを移動する非 EGL プログラム。
CICS 実行単位は、次のいずれかのアクションが実行単位で発生すると終了します。
  • EGL プログラムがセグメント化された converse を使用する。
  • EGL プログラムが、show 文または transfer to transaction 文を使用して移動する。
  • EGL メインプログラムが、コントロールを移動せずに終了する。
  • 非 EGL 疑似会話型プログラムがユーザーへ応答する。
  • 非 EGL プログラムが、CICS START コマンドを使用して別のプログラムへコントロールを移動する。
  • 非 EGL プログラムが、コントロールを移動せずに終了する。
CICS 実行単位のすべてのプログラムに対し、CICS 領域の構成時に指定されたプロパテ ィーが適用される。これらのプログラムはすべて、同一のトランザクション作業域 (TWA) にアクセス する。

IMS BMP
z/OS バッチ

実行単位は、制御の移動が call 文または transfer 文のどちらによって行われるかにかかわらず、単一のジョブ・ステップで実行されるプログラムから構成されます。 実行単位内のすべてのプログラムは、同一の DD ステートメントにアクセスすることができます。実行単位内の非 EGL プログラムの場合は、これに、CALL 文または OS XCTL マクロの使用が含まれます。

IMS/VS
IMS/VS 実行単位は、単一 IMS™ トランザクション呼び出しとして実行される EGL プログラムおよび非 EGL プログラムで構成されます。 これには、以下が含まれます。
  • 別のプログラムを呼び出す EGL プログラム。
  • transfer to program 文を使用して別のプログラムへコントロールを移動する EGL プログラム。
  • 別のプログラムを呼び出す非 EGL プログラム。
IMS/VS 実行単位は、次のいずれかが実行単位で発生したときに終了します。
  • EGL プログラムが converse を使用する。
  • EGL プログラムが、show 文または transfer to transaction 文を使用して移動する。
  • EGL メインプログラムが、コントロールを移動せずに終了する。
  • 非 EGL プログラムがユーザーへ応答する。
  • 非 EGL プログラムが、即時または据え置きのいずれかのプログラム間交換を実行する。
IMS/VS 実行単位内のプログラムはすべて、 IMS システムの構成時に指定されたプロパティーの影響を受けます。
iSeries® COBOL
iSeries COBOL 実行単位は、 メインプログラム、およびそのメインプログラムから (直接または間接的に) 呼び出されるプログラムで構成されます。実行単位は、以下の場合のように、メインプログラムが終了したときに終了します。
  • プログラムが、プログラムを開始した非 EGL プログラムに戻った場合。または、
  • プログラムが、returning 文節を指定した show 文、または transfer to transaction 文を発行した場合。

フィードバック