SAP ABAP - If...Else 语句



对于 IF….ELSE 语句,如果表达式计算结果为真,则执行 IF 代码块。否则,执行 ELSE 代码块。

IF….ELSE 语句使用以下语法。

IF<condition_1>.  
   <statement block 1>.  
ELSE.   
   <statement block 2>.  
ENDIF.

流程图

If Else Statement

示例

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 语句的嵌套会使代码难以理解。在这种情况下,ELSEIF 语句用于避免 IF 语句的嵌套。

当使用 IF、ELSEIF 和 ELSE 语句时,需要考虑以下几点:

  • 一个 IF 语句可以有零个或一个 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.

在上述语法中,处理块的执行基于与处理块关联的一个或多个逻辑条件的结果。这里:

  • IF 语句的 condition_1 表示一个逻辑条件,它评估一个真或假的条件。

  • condition_2 显示 ELSEIF 语句中指定的第二个条件,当 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.
sap_abap_decisions.htm
广告

© . All rights reserved.