ILE COBOL 解説書

+----------------------------------IBM 拡張----------------------------------+

形式 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 パラメーターによって判別されます。

LINKAGE TYPE 句

LINKAGE TYPE 句は、プロシージャー・ポインター・データ項目が設定されるプログラムのタイプを指定するために使用されます。 個別にコンパイルされたプログラム・オブジェクト (*PGM) のアドレスまたはプログラム内のプロシージャーに設定できます。

環境名-1
プロシージャー・ポインター・データ項目-1 が設定されるプログラムのタイプ。 環境名-1 は以下のものとして定義できます。
PROGRAM
プロシージャー・ポインター・データ項目-1 はプログラム・オブジェクト (*PGM) に設定されます。
PROCEDURE
プロシージャー・ポインター・データ項目-1 はプロシージャーに設定されます。
NULL(S)
受け入れフィールドを、無効なアドレスの値を含むように設定します。

IN LIBRARY 句

IN LIBRARY 句は、i5/OS プログラム・オブジェクトにプロシージャー・ポインター・データ項目を設定する場合のみ有効です。 つまり、プログラムのリンケージは、SET ステートメントで暗黙または明示的に指定されなければなりません。

ID-2
英数字データ項目でなければなりません。 ID-2 の内容は、有効な i5/OS ライブラリー名を表していなければなりません。 i5/OS ライブラリー名は、最大 10 文字の長さです。したがって ID-2 の最初の 10 文字が、ライブラリー名を形成するために使用されます。
リテラル-2
非数字でなくてはならず、最大 10 文字まで可能です。

ID-2 およびリテラル-2 は *MONOPRC コンパイラー・オプションの影響を受けず、また、i5/OS 拡張名を含むことができます。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]