在SAP中,有时候需要把单值的结构变成区间的结构,也就是类似SELECTION-OPTION的功能,SAP提供了RANGES来实现该功能.
单值的实例:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24RANGES: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 里边放值。
实例:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13RANGES:r_werks FOR marc-werks. SELECT * INTO CORRESPONDING FIELDS OF TABLE it_check FROM zztrd_check_perm. LOOP AT it_check INTO wa_check. "权限调整,抽离权限表 modify by fx 2020.06.18 r_werks-sign = 'I'. r_werks-option = 'EQ'. r_werks-low = wa_check-WERKS. "循环往 Ranges 里面放值 APPEND r_werks. ENDLOOP.
选项介绍:
1.SIGN 值为 I 和 E 。 I是包含, E是排除, 一般使用I。
2.OPTION 如果HIGH 为空 ,为单值选择 。有 EQ、NE、GT、LE、LT等逻辑操作 对于*的 CP包含 NP是排除
如果HIGH 不为空 为区间选择 有BT,NB可选
3.LOW 低值
4.HIGH 高值
最后
以上就是小巧汉堡最近收集整理的关于SAP Ranges 的用法的全部内容,更多相关SAP内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复