SAP ABAP Case 控制语句
当需要比较两个或多个字段时,可以使用 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语句之后的其余语句。
流程图

实例
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.