IBM Extension

ポインター・データ項目

ポインター・データ項目は、USAGE IS POINTER として明示的に定義された項目です。 そのように定義されなければ、ADDRESS OF データ項目または ADDRESS OF 特殊レジスターであり、それらは暗黙に USAGE IS POINTER として定義されています。

ポインター・データ項目を指定すると、EQUAL および NOT EQUAL だけが関係演算子として使用できます。 比較において使用される 2 つのアドレスがどちらも同じ保管場所にある場合、オペランドは等しくなります。

この比較条件は、IF、PERFORM、EVALUATE、および SEARCH 形式 1 のステートメントの中で認められています。 SEARCH 形式 2 (SEARCH ALL) ステートメントでは認められていません。 それは、ポインター・データ項目に適用できる、意味のある配列がないからです。

構文図を読む構文図をスキップする
ADDRESS 比較 - 形式

>>-+-ADDRESS OF--ID-1-+--+----+--+-----+--+-EQUAL--+----+-+----->
   +-ID-2-------------+  '-IS-'  '-NOT-'  |        '-TO-' |   
   +-NULL-------------+                   '-=-------------'   
   '-NULLS------------'                                       

>--+-ADDRESS OF--ID-3-+----------------------------------------><
   +-ID-4-------------+   
   +-NULL-------------+   
   '-NULLS------------'   

ID-1、ID-3
データ部セクションに定義されている任意のレベル項目 (レベル 66 と 88 を除く) を指定できます。
ID-2、ID-4
これは、USAGE IS POINTER として記述されていなければなりません。
NULL(S)
他のオペランドが以下のいずれかであるときだけ使用できます。
  • 使用法が POINTER である項目
  • ADDRESS OF 項目
  • ADDRESS OF 特殊レジスター

つまり、NULL=NULL は使用できません。

End of IBM Extension