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
廣告