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') ).
本文详细介绍了SAP中range的使用,它用于将前台选择转换为判断属性数组。range包含SIGN、OPTION和VALUE三个部分,分别对应不等号、比较选项和动态赋值。在选择屏幕中,可以通过SAP的range进行条件筛选,并在程序中直接调用。例如,通过SELECT语句结合S_VBELN[]来过滤数据。此外,文章还提供了快捷填充range的方式,包括常规方法和HANA SQLSCRIPT的方法。在判定条件时,可以利用range进行直接判断,提高效率。
5089





