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.

流れ図

If Elseステートメント

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.