SAP ABAP Case 控制语句

当需要比较两个或多个字段时,可以使用 CASE 控制语句。

CASE 控制语句的语法如下:

  1. CASE <field>.
  2. WHEN <abc>.
  3. <statement block>.
  4. WHEN <def>.
  5. <tatement block>.
  6. WHEN <pqr>.
  7. <statement block>.
  8. ......
  9. ......
  10. ......
  11. WHEN <xyz>.
  12. <statement block>.
  13. WHEN OTHERS.
  14. <statement block>.
  15. 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 语句之后的其余语句。

流程图


实例

  1. Report YH_SEP_15.
  2. Data: Title_1(10) TYPE C,
  3. Title_2(15) TYPE C.
  4. Title_1 = 'ABAP'.
  5. Title_2 = 'Programming'.
  6. CASE Title_2.
  7. WHEN 'ABAP'.
  8. Write 'This is not the title'.
  9. WHEN 'Tutorials'.
  10. Write 'This is not the title'.
  11. WHEN 'Limited'.
  12. Write 'This is not the title'.
  13. WHEN 'Programming'.
  14. Write 'Yes, this is the title'.
  15. WHEN OTHERS.
  16. Write 'Sorry, Mismatch'.
  17. ENDCASE.

结果如下:

  1. Yes, this is the title.

分类导航