ranges
在没有定义选择屏幕或者需要自定义范围条件时使用
方法1:
"定义
RANGES r_werks FOR mseg-werks occurs 0.
其次需要给相应栏位赋值,如下:
clear r_werks[].
r_werks-SIGN = 'I'.
r_werks-OPTION = 'EQ'.
r_werks-low = '1310'.
append r_werks.
select *
FROM mseg
INTO TABLE (lt_1)
WHERE werks in .
方法2:
*-------------------------------------------
* 通过 RANGE OF 定义
*-------------------------------------------
DATA: gr_werks TYPE RANGE OF werks_d,
gw_werks LIKE LINE OF gr_werks.
* 宏定义
DEFINE set_range.
gw_werks-sign = 'I'.
gw_werks-option = 'EQ'.
gw_werks-low = &1.
gw_werks-high = &2.
append gw_werks to gr_werks.
END-OF-DEFINITION.
-----------------------------------
set_range '1000' '1310'.
select *
FROM mseg
INTO TABLE (lt_1)
WHERE werks in .
但是特别注意,此处给r_werks赋值的语句必须写在 START-OF-SELECTION.
OPTION值
LT:less than 小于
LE:less than or equal to 小于等于
EQ:equal to 等于
NE:not equal to 不等于
GE:大于等于
GT:大于
ranges是一个表,不能直接以大小比较