COBOL2002 言語 拡張仕様編

[目次][索引][前へ][次へ]

15.3.2 アドレスデータ項目の定義

アドレスデータ項目は,アドレス名の内容を一時的に退避したり,プログラム間でアドレス値を受け渡したりする場合に用いる。

<この項の構成>
(1) PICTURE句(アドレス操作機能)
(2) SYNCHRONIZED句(アドレス操作機能)
(3) USAGE句のADDRESS指定

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

アドレスデータ項目のデータ記述項に,PICTURE句を指定してはならない。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.54 PICTURE句

(2) SYNCHRONIZED句(アドレス操作機能)

  1. アドレスデータ項目のデータ記述項にSYNCHRONIZED句を指定すると, 4バイトの領域が4バイト境界に調整されて割り付けられる(64bit版 COBOL2002では,8バイトの領域が8バイト境界に調整されて割り付けられる)。
    SYNCHRONIZED句を指定しないと,バイト境界に割り付けられる。
  2. SYNCHRONIZED句を集団項目に指定したとき,その集団項目に従属するすべてのアドレスデータ項目にこの指定が適用される。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.80 SYNCHRONIZED句

(3) USAGE句のADDRESS指定

形式
[図データ]

機能
アドレスデータ項目であることを指定する。

構文規則
  1. USAGE句のADDRESS指定と同時にPICTURE句,SAME AS句およびTYPE句を指定してはならない。
  2. アドレスデータ項目は次の場所に書ける。
    ・作業場所節
    ・連絡節
    ・ファイル節
    ・局所場所節
  3. アドレスデータ項目に関連する条件名が記述できる。ただし,条件名のVALUE句には,表意定数ZEROとNULLだけが書ける。
  4. アドレスデータ項目は,EXTERNAL句やGLOBAL句を指定したレコード記述中に書いてもよい。
  5. アドレスデータ項目のVALUE句には,表意定数NULLだけが書ける。

一般規則
  1. USAGE IS ADDRESS句は,そのデータ項目がアドレスデータ項目であることを指定する。
  2. アドレスデータ項目には,4バイトの記憶領域がとられ,アドレス値(記憶領域の番地)が2進形式で格納される(64bit版 COBOL2002では,アドレスデータ項目には8バイトの記憶領域がとられ,アドレス値が2進形式で格納される)。

【標準仕様との関連】
COBOL2002 言語 標準仕様編 9.16.86 USAGE句