【ABAP】ranges的详细用法/举例子

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是一个表,不能直接以大小比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值