IBM Extension

POINTER 句

USAGE IS POINTER 文節を使って定義されたデータ項目は、ポインター・データ項目です。

ポインター・データ項目とは、基底アドレッシングに使用できる 16 バイト基本項目のことです。 ポインター・データ項目は、等しいかどうかを比較したり、他のポインター項目に移したりすることができます。

ポインター・データ項目は、以下でしか使用できません。

USAGE IS POINTER 文節は、66 と 88 を除くすべてのレベルで書くことができます。

グループ項目が USAGE IS POINTER 文節で記述されているなら、そのグループ内の基本項目はポインター・データ項目です。 ただし、そのグループ自身はポインター・データ項目ではなく、ポインター・データ項目が許可されている構文中では使えません。

ポインター・データ項目は、MOVE ステートメントまたは I/O ステートメントの中で参照されているグループの一部になることがあります。 しかし、ポインター・データ項目がグループの一部である場合、ステートメント実行時にポインター値が別の内部表記に変換されることはありません。

ポインター・データ項目は、REDEFINES 文節のサブジェクトまたはオブジェクトになることがあります。

ポインター・データ項目の VALUE 文節は、NULL または NULLS だけを含めることができます。

ポインター・データ項目はクラスまたはカテゴリーに属しておらず、条件変数として使用することはできません。

文節 JUSTIFIED、PICTURE、SIGN、TYPE、BLANK WHEN ZERO、および FORMAT を使用して USAGE IS POINTER 文節で定義されているグループ項目または基本項目を記述することはできません。

ポインター・データ項目は、CORRESPONDING 操作においては無視されます。

ポインター・データ項目をファイルに書くことができますが、そのポインター・データ項目を含むレコードを後で読んだ場合、その項目はもはや有効なアドレスを表すことにはなりません。

USAGE IS POINTER は、 ADDRESS OF 特殊レジスターに対して暗黙的に指定されます。

ILE COBOL ポインター・データ項目を通常の数字として扱うことはできません。

関連情報
End of IBM Extension