コンテンツエリア開始

Syntax documentation IF Locate the document in its SAP Library structure

用途

IF ( <condition> ).

IF コマンドによって、IF 制御構造が開始されます。論理式<condition> が評価され、結果によってさまざまな命令ブロックが処理されます。命令ブロックは、ELSEIFELSE、または ENDIF で終わります。また、IF 制御構造はネストすることができます。

ELSEIF および ELSE は任意です。

最後の命令ブロックは、常に、ENDIF で終わります。

IF ( <condition1> ).

<statement block1>

ELSEIF ( <condition2> ).

<statement block2>

ELSEIF ( <condition3> ).

<statement block3>

.....

ELSE.

<statement block4>

ENDIF.

IF 条件が真である場合は、eCATT によってそれ以降の命令ブロックの終端まで、すべての命令が実行されて、ENDIF 命令の後の処理が続行されます。

IF 条件が真ではない場合、それ以降の命令は無視されます。この場合、後続の ELSEIF 条件が評価されます。ELSEIF は、IF と同様に実行されます。

ELSE は、IF または ELSEIF 条件のいずれも真でない場合に処理される命令ブロックで始まります。

条件

条件を公式化するには、以下の演算子を含む論理式を使用することができます。

演算子

意味

=

等しい

<>

等しくない

<

より小さい

<=

より小さいかまたは等しい

>

より大きい

>=

より大きいかまたは等しい

簡単な条件は、以下のような形式になります。

<parameter1> <comparison operator> <parameter2>

以下のブール演算子を使用して、複雑な論理式を構築することができます。

演算子

意味

AND

ブール演算子 AND

OR

ブール演算子 OR

NOT

ブール演算子 NOT

複雑な論理式では、以下の場合に真になります。

     すべてのコンポーネント式が真であり、式が AND で連結されている場合のみ

     少なくとも 1 つのコンポーネント式が真であり、式が OR で連結されている場合

論理式の結果を否定するには、論理式の前に NOT 演算子をつけることができます。

NOT AND より優先順位が高くなります。AND OR より優先順位が高くなります。ただし、括弧を使用して、処理順序を指定することができます。

式に厳密な数値以外の値が含まれている場合は、= または <> を使用して比較する場合にのみ、適切な結果を得ることができます。

ブール値を表すデータ型がないため、<parameter1> AND <parameter2> または <parameter1> OR <parameter2> ような式から、適切な結果を得ることはできません。NOT <parameter2> の場合も同様です。

Note

括弧の前後のスペースはそのままにしておきます。

IF ( NOT ( A < B AND A > D ) ).

LOG ( A ).

ENDIF.

 

 

 

コンテンツエリア終了