IBM Extension

形式 6 - プロシージャー・ポインター・データ項目

SET ステートメントの形式 6 が実行されると、 受け入れフィールドの現行値が送り出しフィールドに含まれるアドレス値によって置き換えられます。

構文図を読む構文図をスキップする
SET ステートメント - 形式 6

        .-----------------------.   
        V                       |   
>>-SET----プロシージャー・ポインター・データ項目-1-+------------------------------->

>--TO--+-プロシージャー・ポインター・データ項目-2----------------------------+----><
       +-ENTRY--+-ID-1-------------------+--| LIBRARY 句 |-+   
       |        '-+------------+--リテラル-1-'                |   
       |          '-| リンケージ句 |-'                          |   
       +-NULL---------------------------------------------+   
       '-NULLS--------------------------------------------'   

リンケージ句

|--+------------------------------------------+-----------------|
   +-LINKAGE--+------+--+----+--+-環境名-1-----+-+   
   |          '-TYPE-'  '-IS-'  +-PROGRAM---+ |   
   |                            '-PROCEDURE-' |   
   +-PROGRAM----------------------------------+   
   '-PROCEDURE--------------------------------'   

LIBRARY 句

|--+-----------------------------+------------------------------|
   '-+----+--LIBRARY--+-ID-2---+-'   
     '-IN-'           '-リテラル-2-'     

プロシージャー・ポインター・データ項目-1、プロシージャー・ポインター・データ項目-2
プロシージャー・ポインター・データ項目-1 は受け入れフィールドです。

USAGE IS PROCEDURE-POINTER として記述されていなければなりません。

ID-1
値をプログラム名にすることができるように、英数字項目として定義されていなければなりません。 (詳細は PROGRAM-ID 段落を参照してください。) プロシージャー・ポインター・データ項目は、同じコンパイル単位の最外部の COBOL プログラム (ILE プロシージャー)、 または ID-1 で指定されたプログラム・オブジェクト (*PGM) に設定されます。 ID の内容は、CRTCBLMOD または CRTBNDCBL コマンドの *MONOPRC オプションによって影響されます。
リテラル-1
非数字でなければならず、プログラム名の形成に関する規則に従っていなければなりません。 リテラルは、CRTCBLMOD または CRTBNDCBL コマンドの *MONOPRC オプションによって影響されます。 プロシージャー・ポインター・データ項目は、 同じコンパイル単位の最外部の COBOL プログラム (ILE プロシージャー)、 他のコンパイル単位内の最外部の COBOL プログラム (ILE プロシージャー)、ILE プロシージャー (他の ILE 言語で書かれた)、 またはプログラム・オブジェクト (*PGM) に設定できます。 プロシージャー・ポインター・データ項目は、指定された名前のネストされた COBOL プログラムが SET のポイントから可視である場合でも、 ネストされた COBOL プログラムに設定することはできません。 プロシージャー・ポインター・データ項目が設定されるオブジェクトのタイプは、ENTRY 文節の LINKAGE TYPE 句と、SPECIAL-NAMES 段落の LINKAGE TYPE 文節および CRTCBLMOD または CRTBNDCBL コマンドの LINKLIT パラメーターによって判別されます。
End of IBM Extension