在SQ02
事务中,我想使用check命令。
我可以将OR
运算符替换为另一个运算符,这会使命令短路吗?
是否有像IN
这样的运算符,它存在于SQL中?
check命令类似于:
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。 检查skb1-bukrs IN gt_ranges。
答案 0 :(得分:3)
关于SQ02
,我不是专家我可以看到DATA
和INITIALIZATION
有部分,所以下面的示例应该有用。 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.