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 语句的嵌套会使代码难以理解。在这种情况下,可以使用 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 语句的条件_1 表示评估 true 或 false 条件的逻辑条件。
    • condition_2 显示 ELSEIF 语句中指定的第二个条件,当 IF 语句条件为 false 时执行该条件。
    • 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.