IBM i における EGL 生成の COBOL プログラムとネイティブ・プログラム間の制御権移動

このトピックでは、EGL 生成の COBOL プログラムと COBOL または RPG で作成されたネイティブ・プログラムの間の制御権移動について考慮します。

EGL 生成の COBOL と EGL 生成でない COBOL の間の制御権の移動

IBM® i の場合、EGL 生成の COBOL プログラムと EGL 生成でない COBOL プログラムの間で以下のタイプの制御権の移動が可能です。
  • call ステートメントを使用する。
  • transfer to program ステートメントを使用する。
  • transfer to transaction ステートメントを使用する。

IBM i では、非 EGL プログラムへの移動に show ステートメントはサポートされていません。

EGL プログラムから非 EGL プログラムを呼び出す場合、call では標準の IBM i CALL インターフェースを使用します。 パラメーターは標準システム引数リストを使用して渡されます。

transfer to program ステートメントまたは transfer to transaction ステートメントを使用する場合、 制御権は IBM i XCTL インターフェースを使用してターゲット・プログラムに直接渡されます。 レコードが指定される場合、レコードは標準システム引数リストを使用してパラメーターとして渡されます。 移動元プログラムはプログラム呼び出しスタックから除去され、ターゲット・プログラムの終了後には制御を再開しません。

EGL 生成の COBOL と EGL 生成でない RPG の間の制御権の移動

IBM i の場合、EGL 生成の COBOL プログラムと EGL 生成でない RPG プログラムの間で以下のタイプの制御権の移動が可能です。
  • call ステートメントを使用する。
  • transfer to program ステートメントを使用する。
  • transfer to transaction ステートメントを使用する。

IBM i では、非 EGL プログラムへの移動に show ステートメントはサポートされていません。

EGL プログラムから非 EGL プログラムを呼び出す場合、call では標準の IBM i CALL インターフェースを使用します。 パラメーターは標準システム引数リストを使用して渡されます。

transfer to program ステートメントまたは transfer to transaction ステートメントを使用する場合、 制御権は IBM i XCTL インターフェースを使用してターゲット・プログラムに直接渡されます。 レコードが指定される場合、レコードは標準システム引数リストを使用してパラメーターとして渡されます。 移動元プログラムはプログラム呼び出しスタックから除去され、ターゲット・プログラムの終了後には制御を再開しません。


フィードバック