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.