SAP ABAP RANGE 详解(SELECTION-OPTIONS)

range使用说明

range是SAP中将前台的使用转化成对应的判断属性的数组。

由三部分组成 SIGN OPTION VALUE

SIGN:信号,I等于 E不等于

OPTION:选项参见JAVA中的常使用EQ

VALUE:动态赋值,包括LOW 和 HIGH两个,当为EQ或特定值时只需要填写LOW值,当为范围的如BT则需要填写LOW和HIGH对应的值

用法

选择屏幕

当为选择屏幕时建议命名为S_xxxx,比如S_VBELN

前台选定范围后再程序中可直接调用

比如

SELECT * INTO XXX FROM XXX WHERE VBELN IN S_VBELN

当S_VBELN[]没有值时会默认全取

判定条件

IF LV_VBELN IN S_VBELN.

ENDIF.

可做直接判定

快捷填充方式

常规方式

R_VBELN = 'IEQ'
R_VBELN-LOW = 'XXX'.

APPEND R_VBELN
CLEAR R_VBELN"记得清表头缓存,很多时候这个问题会引发意想不到的BUG

HANA SQL SCRIPT

HANA的多功能拓展可以很方便的完成填充过程

SELECT 'I' AS SIGN,'EQ' AS OPTION ,MATNR AS LOW,
CAST( ' '  AS CHAR( 40 ) ) AS HIGH
FROM MAKT
INTO TABLE @DATA(R_MATNR).

直接生成R_MATNR 的range,记得判定R_MATNR[] IS NOT INITIAL 否则全取在一些场景速度反而慢

Value方式

DATA r_matnr TYPE RANGE OF matnr.
r_matnr = VALUE #( sign = 'I'  option = 'EQ' high = '' ( low = '120')
                                                       ( low = '110') ).

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值