定义示例
RANGES s_bwart FOR resb-bwart.
DATA ls_bwart LIKE LINE OF s_bwart.
*移动类型RESB-BWART=301/311的行项目
ls_bwart-sign = 'I'.
ls_bwart-option = 'EQ'.
ls_bwart-low = '301'.
APPEND ls_bwart TO s_bwart.
ls_bwart-sign = 'I'.
ls_bwart-option = 'EQ'.
ls_bwart-low = '311'.
APPEND ls_bwart TO s_bwart.
语法:
RANGES <变量名> FOR <变量类型>
是自带表头的内表
可见该内表的工作区结构包含四个属性,和选择屏幕上的SELECT-OPTION是一致的,使用方法也是相同的SIGN,OPTION,LOW,HIGH
- SIGN:S数据类型是C,长度为1。SIGN是标志,表示保存在OPTION中的运算符是否需要翻转。允许值是I和E
1.1 I: I表示“包含”(包含标准-运算符不翻转)
1.2 E:E表示“排除”(排除标准-运算符翻转) - OPTION:数据类型是C,长度为2。OPTION包含选择运算符。如果SIGN包含E,运算符的作用就象它的前面有NOT
2.1 如果HIGH是空的,您可以使用EQ、NE、GT、LE、LT、CP和NP。这些运算符在《编程逻辑表达式》中描述。运算符CP和NP没有它们在通常逻辑表达式中所具有的范围。只有当在输入字段中使用了通配符(“*”或“+”)时它们才是有效的。没有定义退出符号
2.2 如果HIGH已被填充,则可以使用BT(位于)和NB(不位于)。这些运算符的功能与BETWEEN和NOT BETWEEN一样 - LOW:数据类型与数据库表的列类型相同,该表与选择标准相连接。
3.1 如果HIGH为空,LOW的内容定义单值选择。它与OPTION中的运算符相结合,为数据库选择指定了条件。
3.2 如果HIGH已填充,LOW和HIGH中的内容为间隔选择指定上界和下界。与OPTION中的运算符相结合,该间隔为数据库选择指定了条件 - HIGH:数据类型与数据库表的列类型相同,该表与选择标准相连接。HIGH中的内容为间隔选择指定了上界。与OPTION中的运算符相结合,该间隔为数据库选择指定了条件。
用法
OPENSQL中使用
SELECT
resb~rsnum,
resb~charg
FROM resb
INTO TABLE @DATA(lt_data)
WHERE
resb~bwart IN @s_bwart.
控制语句中使用
IF lw_data-bwart NOT IN s_bwart. "如果lw_data-bwart在s_bwart中找不到相等的,则进入该控制语句
CONTINUE.
ENDIF.