SAP RANGES

定义示例
  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

  1. SIGN:S数据类型是C,长度为1。SIGN是标志,表示保存在OPTION中的运算符是否需要翻转。允许值是I和E
    1.1 I: I表示“包含”(包含标准-运算符不翻转)
    1.2 E:E表示“排除”(排除标准-运算符翻转)
  2. 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一样
  3. LOW:数据类型与数据库表的列类型相同,该表与选择标准相连接。
    3.1 如果HIGH为空,LOW的内容定义单值选择。它与OPTION中的运算符相结合,为数据库选择指定了条件。
    3.2 如果HIGH已填充,LOW和HIGH中的内容为间隔选择指定上界和下界。与OPTION中的运算符相结合,该间隔为数据库选择指定了条件
  4. 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.
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值