COBOL2002 言語 拡張仕様編


15.3.1 アドレス名によって参照されるデータ項目の定義

アドレス名によって参照されるデータ項目はADDRESSED句を必須とする。

〈この項の構成〉

(1) ADDRESSED句(アドレス操作機能)

形式

[図データ]

(注意)

形式中のレベル番号01または77とデータ名1はADDRESSED句の一部ではないが,説明の便宜上示してある。

機能

データ項目がアドレスにより参照されることを指定する。

構文規則

  1. ADDRESSED句は作業場所節または局所場所節の01または77レベルのデータ記述項にだけ指定できる。

  2. 01レベルにGLOBAL句を指定すると,アドレス名も大域名となる。EXTERNAL句は,ADDRESSED句と同時に指定できない。

  3. アドレス名1は修飾できない。したがって,アドレス名1と同じ名前のデータ名があってはならない。

  4. ADDRESSED句とREDEFINES句を同じデータ記述項に指定してはならない。ただし,ADDRESSED句を指定したデータ項目を再定義するREDEFINES句は書いてもよい。

  5. ADDRESSED句を指定したデータレコード記述を再命名するRENAMES句を書いてもよい。ただし,通常の場合と同じく,データレコード記述の最後にまとめて記述しなければならない。

  6. ADDRESSED句を指定したデータレコード記述中のすべてのデータ記述項には,初期値設定用のVALUE句を書いてはならない。

  7. ADDRESSED句を指定したデータレコード記述中のデータ記述項には,関連する条件名を書いてもよい。

  8. ADDRESSED句を指定したデータ記述項に同時に指定できる句は次のとおりである。

    • PICTURE句

    • BLANK WHEN ZERO句

    • GLOBAL句

    • JUSTIFIED句

    • SIGN句

    • SYNCHRONIZED句

    • TYPE句

    • USAGE句(ただし,オブジェクト参照データ項目には指定できない)

  9. データ名1はSAME AS句に指定できない。

  10. ADDRESSED句をファクトリ定義,インスタンス定義中で指定してはならない。

一般規則

  1. データ名1のデータ項目は,固有の記憶領域を持たない。実行時にアドレス名1へアドレスを設定するとそのアドレス名1が指すデータ項目が,データ名1のデータ項目で再定義されたかのように扱われる。

  2. データ名1のデータ記述項で定義されるデータ項目の属性と,アドレス名1が指すデータ項目の属性との間には,どんな意味でも適用される制限はない。ただし,アドレス名1が指すデータ項目の内容が,データ名1のデータ項目の定義と矛盾する場合,データ名1を参照した結果は保証しない。

  3. データ名1,そのデータレコード記述に従属するデータ記述項のデータ名または条件名などを手続き部で参照する場合は,それ以前にアドレス名1に適切なアドレスが設定されていなければならない。そうでない場合,実行結果は保証しない。

  4. OCCURS句のDEPENDING指定に指定するデータ名は,ADDRESSED句を指定したデータ名またはそのレコード記述に従属するデータ名を指定してはならない。