繁体   English   中英

检查语句中的 IN 运算符

[英]IN operator in check statement

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

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

段记录处理

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

我不是SQ02的专家,但我可以看到有DATAINITIALIZATION部分,所以下面的例子应该可以工作。 ABAP 中的IN运算符(当然不包括 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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM