前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP ABAP RANGE 详解(SELECTION-OPTIONS)

SAP ABAP RANGE 详解(SELECTION-OPTIONS)

作者头像
matinal
发布2023-10-13 18:38:24
3790
发布2023-10-13 18:38:24
举报
文章被收录于专栏:SAP TechnicalSAP Technical

range使用说明

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

由三部分组成 SIGN OPTION VALUE

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

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

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

用法

选择屏幕

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

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

比如

代码语言:javascript
复制
SELECT * INTO XXX FROM XXX WHERE VBELN IN S_VBELN

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

判定条件

代码语言:javascript
复制
IF LV_VBELN IN S_VBELN.

ENDIF.

可做直接判定

快捷填充方式

常规方式

代码语言:javascript
复制
R_VBELN = 'IEQ'
R_VBELN-LOW = 'XXX'.

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

HANA SQL SCRIPT

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

代码语言:javascript
复制
SELECT 'I' AS SIGN,'EQ' as option ,matnr as low
from makt
into table @data(r_matnr)
where makt like 'aa%'.

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

Value方式

代码语言:javascript
复制
DATA r_matnr TYPE RANGE OF matnr.
r_matnr = VALUE #( sign = 'I'  option = 'EQ' high = '' ( low = '120')
                                                       ( low = '110') ).
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • range使用说明
  • 用法
  • 选择屏幕
    • 判定条件
    • 快捷填充方式
      • 常规方式
        • HANA SQL SCRIPT
          • Value方式
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档