检查语句中的 IN 运算符

hag*_*hag 5 abap sap-query

SQ02事务中,我想使用 check 命令。我可以OR用另一个运算符替换该运算符,从而缩短命令吗?SQL中是否存在像 , 这样的运算符IN?检查命令类似于: CHECK SKB1-BUKRS EQ '1000'or CHECK SKB1-BUKRS EQ '2001'or CHECK SKB1-BUKRS EQ '5221'。SQL中是否存在像 , 这样的运算符INCHECK SKB1-BUKRS in ('1000', '2001', '5221')

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

部分记录处理

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

Jag*_*ger 4

我不是专家,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.
Run Code Online (Sandbox Code Playgroud)