4

SQ02事务中,我想使用检查命令。我可以OR用另一个使命令短路的运算符替换运算符吗?INSQL中是否存在类似的运算符?检查命令类似于: CHECK SKB1-BUKRS EQ '1000'or CHECK SKB1-BUKRS EQ '2001'or CHECK SKB1-BUKRS EQ '5221'INSQL中 是否存在类似的运算符?CHECK SKB1-BUKRS in ('1000', '2001', '5221')

当我在记录处理部分写:START-OF-SELECTION。检查 gt_ranges 中的 skb1-bukrs。

部分记录处理

然后我收到 ABAP 错误: 错误信息

4

1 回答 1

3

我不是专家,但SQ02我可以看到有一些部分DATAINITIALIZATION因此下面的示例应该可以工作。INABAP 中的运算符(当然不包括 OpenSQL)只能与范围一起使用。

例子:

REPORT zzz.

DATA: gt_ranges TYPE RANGE OF bukrs.
TABLES: skb1.

INITIALIZATION.
  gt_ranges = VALUE #(
    ( sign = 'I' option = 'EQ' low = '1000' )
    ( sign = 'I' option = 'EQ' low = '2001' )
    ( sign = 'I' option = 'EQ' low = '5221' )
  ).

START-OF-SELECTION.
  CHECK skb1-bukrs IN gt_ranges.
于 2017-01-24T09:14:52.953 回答