检查语句中的 IN 运算符
IN operator in check statement
在SQ02
笔交易中,我想使用check命令。
我可以将 OR
运算符替换为另一个运算符,从而缩短命令吗?
SQL中是否存在IN
这样的运算符?
检查命令类似于:
CHECK SKB1-BUKRS EQ '1000'
或 CHECK SKB1-BUKRS EQ '2001'
或 CHECK SKB1-BUKRS EQ '5221'
。
SQL中是否存在IN
这样的运算符?
CHECK SKB1-BUKRS in ('1000', '2001', '5221')
当我在记录处理部分写的时候:
选择开始。
在 gt_ranges.
中检查 skb1-bukrs
然后我收到 ABAP 错误:
我不是 SQ02
方面的专家,但是我可以看到有 DATA
和 INITIALIZATION
的部分,所以下面的示例应该有效。 IN
ABAP 中的运算符(当然不包括 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.
在SQ02
笔交易中,我想使用check命令。
我可以将 OR
运算符替换为另一个运算符,从而缩短命令吗?
SQL中是否存在IN
这样的运算符?
检查命令类似于:
CHECK SKB1-BUKRS EQ '1000'
或 CHECK SKB1-BUKRS EQ '2001'
或 CHECK SKB1-BUKRS EQ '5221'
。
SQL中是否存在IN
这样的运算符?
CHECK SKB1-BUKRS in ('1000', '2001', '5221')
当我在记录处理部分写的时候: 选择开始。 在 gt_ranges.
中检查 skb1-bukrs然后我收到 ABAP 错误:
我不是 SQ02
方面的专家,但是我可以看到有 DATA
和 INITIALIZATION
的部分,所以下面的示例应该有效。 IN
ABAP 中的运算符(当然不包括 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.