CALL プロシージャー・ポインターの使用

CALL プロシージャー・ポインター のステートメントを使用して、静的プロシージャー呼び出し、 または動的プログラム呼び出しを実行することができます。

CALL プロシージャー・ポインター のステートメントを使う前に、 アドレス値にプロシージャー・ポインター・データ項目を設定しなければなりません。 プロシージャー・ポインター・データ項目は、最も外側の COBOL プログラム (ILE プロシージャー)、 別のコンパイル単位の ILE プロシージャー、またはプログラム・オブジェクトに設定することができます。 プロシージャー・ポインター・データ項目を設定するには、形式 6 の SET ステートメントを使用します。

プロシージャー・ポインター・データ項目を ILE プロシージャーに設定するには、SET ステートメントで LINKAGE TYPE IS PROCEDURE を指定します。

プロシージャー・ポインター・データ項目をプログラム・オブジェクトに設定するには、SET ステートメントで LINKAGE TYPE IS PROGRAM を指定します。

SPECIAL-NAMES 段落の LINKAGE TYPE 文節または CRTCBLMOD および CRTBNDCBL の各コマンドの LINKLIT パラメーターを使用して、 プロシージャー・ポインター・データ項目を設定するオブジェクトのタイプを決めることもできます。 SPECIAL-NAMES 段落の LINKAGE TYPE 文節または CRTCBLMOD および CRTBNDCBL の各コマンドの LINKLIT パラメーターを使用したリンケージ・タイプの設定の詳細については 呼び出し先のプログラムとプロシージャーのリンケージ・タイプの識別を参照してください。

CALL プロシージャー・ポインター を使用して静的プロシージャー呼び出しを実行するには、SET ステートメントおよび CALL ステートメントを次のようにコーディングします。

         PROCEDURE DIVISION.
                     
·
·
·
SET procedure-pointer TO ENTRY LINKAGE TYPE IS PROCEDURE literal-1.
·
·
·
CALL procedure-pointer.

CALL プロシージャー・ポインター を使用して動的プログラム呼び出しを実行するには、SET ステートメントおよび CALL ステートメントを次のようにコーディングします。

         PROCEDURE DIVISION.
                  
·
·
·
SET procedure-pointer TO ENTRY LINKAGE TYPE IS PROGRAM literal-1.
·
·
·
CALL procedure-pointer.