abap case的用法
时间: 2023-10-13 09:04:08 浏览: 70
ABAP中的CASE语句用于根据某个变量的不同取值来执行不同的操作。以下是CASE语句的用法:
```
CASE <variable>
WHEN <value1>.
<statement1>.
WHEN <value2>.
<statement2>.
...
WHEN OTHERS.
<statementN>.
ENDCASE.
```
在上述代码中,`<variable>` 是要进行比较的变量,`<value1>`, `<value2>`, ... 是可能的取值,`<statement1>`, `<statement2>`, ... 是与每个取值对应的操作。`WHEN OTHERS` 是可选的,用于指定当变量的取值与前面的所有条件都不匹配时要执行的操作。
下面是一个示例:
```
DATA: lv_variable TYPE i.
lv_variable = 3.
CASE lv_variable.
WHEN 1.
WRITE 'One'.
WHEN 2.
WRITE 'Two'.
WHEN 3.
WRITE 'Three'.
WHEN OTHERS.
WRITE 'Other'.
ENDCASE.
```
在这个示例中,变量 `lv_variable` 的值为3,因此输出结果为 "Three"。
希望这个例子能够帮助你理解ABAP中CASE语句的用法。如有其他问题,请随时提问。
相关问题
ABAP case when的用法
ABAP中的CASE WHEN语句用于在条件满足时执行一系列操作。它的语法如下所示:
```abap
CASE WHEN <condition1> THEN
<statement1>.
WHEN <condition2> THEN
<statement2>.
...
WHEN <conditionN> THEN
<statementN>.
ELSE.
<statementDefault>.
ENDCASE.
```
其中,`<condition1>`, `<condition2>`, ..., `<conditionN>`是条件表达式,用于判断是否满足相应的条件。`<statement1>`, `<statement2>`, ..., `<statementN>`是在条件满足时要执行的语句。`<statementDefault>`是可选的,默认语句,当所有条件都不满足时执行。
以下是一个简单的例子,演示了CASE WHEN的用法:
```abap
DATA lv_value TYPE i.
lv_value = 3.
CASE WHEN lv_value = 1 THEN
WRITE 'Value is 1'.
WHEN lv_value = 2 THEN
WRITE 'Value is 2'.
WHEN lv_value = 3 THEN
WRITE 'Value is 3'.
ELSE.
WRITE 'Value is not 1, 2, or 3'.
ENDCASE.
```
在此例中,根据`lv_value`的值,将输出相应的消息。因为`lv_value`的值为3,所以将输出"Value is 3"。
希望这个例子对你有帮助!如果你还有其他问题,请随时提问。
ABAP case when than
ABAP中的CASE语句是一种条件控制语句,用于根据不同的条件执行不同的代码块。在CASE语句中,WHEN子句用于指定条件,THEN子句用于指定满足条件时要执行的代码块。
以下是ABAP中CASE语句的语法结构:
CASE [表达式]
WHEN [条件1].
[代码块1]
WHEN [条件2].
[代码块2]
...
WHEN OTHERS.
[默认代码块]
ENDCASE.
在ABAP的CASE语句中,可以使用多个WHEN子句来指定不同的条件。如果表达式的值与某个WHEN子句的条件匹配,那么对应的代码块将被执行。如果没有任何一个WHEN子句的条件匹配,那么将执行WHEN OTHERS子句中的代码块。
需要注意的是,ABAP的CASE语句是严格按照顺序进行匹配的。一旦找到匹配的条件,就会执行相应的代码块,并跳过后续的条件判断。
例如,假设有一个变量lv_value,我们可以使用以下代码来演示ABAP的CASE语句的使用:
CASE lv_value.
WHEN 'A'.
WRITE 'Value is A'.
WHEN 'B'.
WRITE 'Value is B'.
WHEN OTHERS.
WRITE 'Value is not A or B'.
ENDCASE.
在这个例子中,根据lv_value的值,分别执行不同的代码块。如果lv_value的值是'A',则输出"Value is A";如果lv_value的值是'B',则输出"Value is B";如果lv_value的值不是'A'或'B',则输出"Value is not A or B"。