IBM Extension
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-+--+----+--+-----+---------------->
   +-ID-2-------------+  '-IS-'  '-NOT-'   
   +-NULL-------------+                    
   '-NULLS------------'                    

>--+-EQUAL--+----+-+--+-ADDRESS OF--ID-3-+-------------><
   |        '-TO-' |  +-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
End of IBM Extension