!--a11y-->
項目タイプを比較する場合は、論理式内で以下の演算子を使用することができます。
< 演算子 > |
意味 |
EQ |
等しい |
= |
等しい |
NE |
等しくない |
<> |
等しくない |
>< |
等しくない |
LT |
より小さい |
< |
より小さい |
LE |
以下である |
<= |
以下である |
GT |
より大きい |
> |
より大きい |
GE |
大きいか等しい(以上) |
>= |
大きいか等しい(以上) |
オペランドには、データベース項目、内部項目、リテラル、定数を指定できます。
また上記の表の演算子では、オペランドとして基本型の項目だけでなく構造化データ型も使用できます。項目文字列は要素ごとに比較され、ネスト化構造は基本型項目に分解されます。内部テーブルの比較については、
内部テーブルの比較を参照してください。意味のある場合には、異なるデータ型の項目を比較することができます。項目間が変換可能である場合には、比較を行うことができます。この場合、比較演算の前に、以下の階層規則にしたがって、
データ型変換で説明した自動的な型変換が行われます。

DATA: F TYPE F VALUE '100.00',
P TYPE P VALUE '50.00' DECIMALS 2,
I TYPE I VALUE '30.00'.
WRITE 'The following logical expressions are true:'.
IF F >= P.
WRITE: / F,'>=',P.
ELSE.
WRITE: / F,'<',P.
ENDIF.
IF I EQ P.
WRITE: / I,'EQ',P.
ELSE.
WRITE: / I,'NE',P.
ENDIF.
出力は次のように表示されます。
The following logical expressions are true:
1.000000000000000E+02 >= 50.00
30 NE 50.00
ここでは、
IF 命令の中で2つの論理式が使用されています。論理式の値が真であれば、その論理式が画面表示されます。偽の場合には、その論理式の否定が表示されます。
