金色传说:SAP-ABAP-RANGES使用技巧:查询透明表的数据放置在RANGES直接使用

文章目录

  • 一、RANGES是什么?
  • 二、使用步骤
    • 1.引入库
  • 总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、RANGES是什么?

在SAP中,经常需要把单值的结构变成区间的结构(例如:1到100之间的数值),也就是类似SELECTION-OPTION的功能,SAP提供了RANGES语法来实现该功能.

二、使用步骤

1.引入库

在日常开发中,经常需要把透明表中某一列的值查询出来,然后作为一个区间值,与另一个表进行关联查询。寻常的开发思路大致就是:先select 字段 放入内表itab,然后FOR ALL ENTRIES IN 语法关联,这种方法稍显复杂,对性能上也有一定的影响,这里介绍另一种思路的写法,供大家参考。

"定义一个RANGES,参考的字段就是要查询出来作为筛选的值字段
 RANGES:r_qmnum FOR qmel-qmnum.
"将RANGES需要的 sign,option,low等值在select时直接写入
    CLEAR:r_qmnum[].
    SELECT 'I' AS sign,
           'EQ' AS option,
           qmnum AS low
      FROM ztpm_nopmlog
      INTO TABLE @r_qmnum
      WHERE sttxt = 'CRTD'.
"将RANGES作为条件筛选或者查询即可
    IF r_qmnum[] IS NOT INITIAL.
   	  "这里是用来做删除数据的筛选条件
      DELETE lt_qmel WHERE qmnum IN r_qmnum.
    ENDIF.

总结

这种方法简单实用,很多场景下都能用得上,拿去用起来吧。
以上
不妥之处欢迎留言指正。手动笑脸
欢迎关注公众号,每日更新:
金色传说:SAP-ABAP-RANGES使用技巧:查询透明表的数据放置在RANGES直接使用_第1张图片

你可能感兴趣的:(SAP代码分享,sap,abap)