Sap-abap-if-else-statement
提供:Dev Guides
SAP ABAP-If … Elseステートメント
IF….ELSEステートメントの場合、式がtrueと評価されると、コードのIFブロックが実行されます。 それ以外の場合、ELSEコードブロックが実行されます。
IF….ELSEステートメントには次の構文が使用されます。
IF<condition_1>.
<statement block 1>.
ELSE.
<statement block 2>.
ENDIF.
流れ図
例
Report YH_SEP_15.
Data Title_1(20) TYPE C.
Title_1 = 'Tutorials'.
IF Title_1 = 'Tutorial'.
write 'This is IF Statement'.
ELSE.
write 'This is ELSE Statement'.
ENDIF.
上記のコードは、次の出力を生成します-
This is ELSE Statement.
IF….ELSEIF….ELSEステートメント
IFステートメントをネストすると、コードが理解しにくくなる場合があります。 そのような場合、IFステートメントのネストを回避するためにELSEIFステートメントが使用されます。
IF、ELSEIFおよびELSEステートメントを使用する場合、考慮すべきいくつかの点があります-
- IFステートメントには、0個または1個のELSEステートメントを含めることができ、ELSEIFステートメントの後に来る必要があります。
- IFステートメントには、ゼロ個から多数のELSEIFステートメントを含めることができ、ELSEステートメントの前に置く必要があります。
- ELSEIFステートメントが成功した場合、残りのELSEIFステートメントもELSEステートメントもテストされません。
IF …. ELSEIF….ELSEステートメントには、次の構文が使用されます。
IF<condition_1>.
<statement block 1>.
ELSEIF<condition_2>.
<statement block 2>.
ELSEIF<condition_3>.
<statement block 3>.
......
......
......
......
ELSE.
<statement block>.
ENDIF.
上記の構文では、処理ブロックの実行は、処理ブロックに関連付けられた1つ以上の論理条件の結果に基づいています。 ここに-
- IFステートメントのcondition_1は、真または偽の条件を評価する論理条件を表します。
- condition_2は、ELSEIFステートメントで指定された2番目の条件を示します。これは、IFステートメント条件が偽であることが判明したときに実行されます。
- ENDIFは、IFステートメントブロックの終わりを示します。
例
Report YH_SEP_15.
Data Result TYPE I VALUE 65.
IF Result < 0.
Write/'Result is less than zero'.
ELSEIF Result < 70.
Write/'Result is less than seventy'.
ELSE.
Write/'Result is greater than seventy'.
ENDIF.
上記のコードは、次の出力を生成します-
Result is less than seventy.