SAP Ranges 的用法

本文详细介绍了SAP中如何使用RANGES将单值结构转换为区间结构,类似于SELECTION-OPTION功能,适用于值数量不多的情况。同时,文章还提供了一种优化方案,即通过创建自定义权限表并循环读取,解决大量值处理时代码冗长的问题。

 在SAP中,有时候需要把单值的结构变成区间的结构,也就是类似SELECTION-OPTION的功能,SAP提供了RANGES来实现该功能.

单值的实例:

  RANGES:g_werks FOR vbrp-werks.
  "所有
  CLEAR g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '1001'.
  APPEND g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '1002'.
  APPEND g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '1003'.
  APPEND g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '1005'.
  APPEND g_werks.
  g_werks-sign = 'I'.
  g_werks-option = 'EQ'.
  g_werks-low = '1011'.
  APPEND g_werks.

 

G_ranges就相当于 SELECTION-OPTION定义的类型。

这种方式适合值的个数并不多的情况,当值的个数特别多的时候,会显得代码特别长。遇到过一个工厂的 ranges ,进行权限控制,我的做法是抽离成一张 自建的权限表,循环权限表,往 ranges 里边放值。

实例:

  RANGES:r_werks FOR marc-werks.

  SELECT *
    INTO CORRESPONDING FIELDS OF TABLE it_check
    FROM zztrd_check_perm.

  LOOP AT it_check INTO wa_check.         "权限调
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值