SAP ABAP - 案例控制語句



當您需要比較兩個或多個欄位時,使用 CASE 控制語句。

CASE 控制語句的語法如下:

CASE <field>. 
 
WHEN <abc>. 
   <statement block>.
   
WHEN <def>. 
   <tatement block>.
   
WHEN <pqr>. 
   <statement block>. 
...... 
...... 
......  
WHEN <xyz>. 
   <statement block>. 
  
WHEN OTHERS. 
   <statement block>.  
ENDCASE.

以下規則適用於 CASE 語句:

  • 不能對 <field> 欄位使用邏輯表示式。

  • CASE 語句中使用的欄位字串被視為型別 C 變數。

  • 如果 <field> 中顯示的欄位內容類似於 <abc>、<def>、<ghi> 到 <xyz> 中的某個欄位,則執行 WHEN 子句後面的語句塊。

  • 執行完 WHEN 語句中指定的所有條件後,程式將繼續處理 ENDCASE 語句之後的剩餘語句。

  • 當 <field> 的值與 WHEN 子句的 <abc> 到 <xyz> 欄位中指定的任何值都不匹配時,程式將執行 WHEN OTHERS 子句。

  • 如果省略了 WHEN OTHERS 子句,並且 <field> 的值與 WHEN 子句的 <abc> 到 <xyz> 欄位中指定的任何值都不匹配,則程式將繼續處理 ENDCASE 語句之後的剩餘語句。

流程圖

Case Control Statement

示例

Report YH_SEP_15.
  
Data: Title_1(10) TYPE C,  
   Title_2(15) TYPE C.  
	
Title_1 = 'ABAP'.
Title_2 = 'Programming'.  

CASE Title_2.
  
WHEN 'ABAP'. 
   Write 'This is not the title'.  
	
WHEN 'Tutorials'.
   Write 'This is not the title'.  
	
WHEN 'Limited'.
   Write 'This is not the title'.
	
WHEN 'Programming'.
   Write 'Yes, this is the title'.
	
WHEN OTHERS.
   Write 'Sorry, Mismatch'.
	 
ENDCASE. 

以上程式碼產生以下輸出:

Yes, this is the title.
sap_abap_decisions.htm
廣告

© . All rights reserved.