SAP-参数(条件表)配置教程–GS01/GS02/GS03
转载:http://www.baidusap.com/abap/others/2849
在SAP开发中,某段代码运行可能需要满足某个条件,通常解决办法有两种:一种是在代码中写死限制条件,此种方式当限制条件变化时需要修改代码;另一种办法则是自定义数据表,将限制条件值保存在表中,当程序运行时,可以直接从表中读取条件值作为控制条件,这样比较灵活,就像Java开发中的属性配置文件一样,但我们不需要手动创建这样的参数表,SAP已为我们提供了这样的工具,可以通过该工具更灵活地将数据维护到一个层次结构。

数据集必须参考某个数据库表的具体某个字段,一般参考某一字段建立一个相关的数据集,称为基本组,也可以将多个基本组合并到一个单维集,多个单维集则可以分配到同一个多重组中来实现统一管理。
参考VBAK-AUART字段

可以维护多个值,值还可以是范围、公式、变量:

另外,还可以配置下级数据集:




配置完后,可以查看层次结构:

数据集实际上是保存在表SETLEAF中,以集的名称及行号作为关键字,字段SETNAME为集的名称,LINEID即为行号,上面配置的数据集在表中如下:

数据集与数据集之单的关系存储在 SETNOD 表中:

通过ABAP程序,可以将信中所维护的值读取到RANGE类型的内表中,作为查询条件:
|
1
2
3
4
5
6
7
8
9
10
11
|
TABLES: vbak.
ranges:lt_auart for vbak-auart OCCURS 0.
select valsign valoption valfrom valto
INTO table lt_auart
from setleaf
WHERE setname LIKE 'ZD_AUART'.
LOOP AT lt_auart .
WRITE:/ lt_auart-sign , lt_auart-option ,lt_auart-low ,lt_auart-high .
ENDLOOP.
|
运行结果:

也可以使用函数G_SET_GET_ID_FROM_NAME和G_SET_FETCH取值
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
REPORT ZTEST_GS1.
DATA: w_setid LIKE sethier-setid,
int_vlaues TYPE STANDARD TABLE OF rgsbv.
CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
EXPORTING
shortname = 'ZD_AUART' "Set Name
IMPORTING
new_setid = w_setid
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
WRITE 'Invalid Set'.
ENDIF.
CALL FUNCTION 'G_SET_FETCH'
EXPORTING
setnr = w_setid
TABLES
set_lines_basic = int_vlaues
EXCEPTIONS
OTHERS = 1.
|
以上。
SAP-参数(条件表)配置教程–GS01/GS02/GS03的更多相关文章
- 【FICO系列】SAP 参数(条件表)灵活配置GS01/GS02/GS03
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 参数(条件表)灵活配 ...
- 参数(条件表)灵活配置GS01/GS02/GS03
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ASP.NET Aries 高级开发教程:Excel导入之单表配置(上)
前言: 随着ASP.NET Aries的普及,刚好也有点闲空,赶紧把Excel导入功能的教程补上. Excel导入功能,分为四篇:单表配置(上).多表高级配置(中).配置规则(下).代码编写(番外篇) ...
- SD-定义定价用途的条件表(Condition Table)
https://www.fenginfo.com/815.html 条件表(Condition Table)是SAP条件技术体系中最基础的数据源,它们是一群特定的数据表,表名是以特定字母开头 + 三位 ...
- SAP字段与表的对应关系
SAP字段与表的对应关系 MASTER DATA-主数据 Customer Master KNA1 Customer Basic Data KNB1 ...
- ProxySQL 常见表配置
ProxySQL 常见表配置 [root@mgr1 opt]# rpm -ivh proxysql-1.4.14-1.1.el6.x86_64.rpm warning: proxysql-1.4.14 ...
- IIS反向代理配置教程(最终完整版本)
IIS代理配置教程 插件下载:https://download.csdn.net/download/song_yan_/11996489 一.安装反向代理插件 1.rewrite插件安装 (1) 双击 ...
- Java代码生成器多表配置优化,增加自定义实体功能
目录 前言 多表配置优化 自定义实体 杂谈 结语 前言 最近利用零碎的时间对代码生成器做了进一步更新:优化多表配置模块,增加自定义实体功能,美化单表和多表配置的UI界面,修复用户反馈的若干bug, ...
- VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程
VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...
随机推荐
- 泡泡一分钟:Project AutoVision - Localization and 3D Scene Perception for an Autonomous Vehicle with a Multi-Camera System
Project AutoVision - Localization and 3D Scene Perception for an Autonomous Vehicle with a Multi-Cam ...
- LDFLAGS 与 LDLIBS
今天下载了开源程序“贪吃蛇” (github地址 : https://github.com/taylorconor/tinytetris.git) 在编译时,出现如下错 linux:~/code/ot ...
- ES6深入浅出-13 Proxy 与 Reflect-3.Vue 3 将用 Proxy 改写
如果说想打印出来年龄,但是有没有年龄的这个key值 把创建年龄写在一个按钮上面 通过一个事件来做. 点击创建年龄的按钮,给obj.age设置为18,但是页面的双向绑定并没有显示出来. 因为不响应式,为 ...
- 安卓 android studio 报错 WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and
报错截图: 问题原因:compile会被在2018年底取消,会被imlementation替代,所以会报这个警告,解决警告的方式就是换成 imlementation 就好了 解决方法: 在 app 的 ...
- CompletableFuture Quasar 等并发编程
CompletableFuture基本用法 https://www.cnblogs.com/cjsblog/p/9267163.html Quasar https://blog.csdn.net/ma ...
- canvas《砸肉蛋》
计划今年要自己写几个游戏的demo,先从<砸地鼠>这种简单的入手. 游戏思路 卡通化前端组头像 两种状态(快乐&被砸) 游戏时间1分钟 微信接口,分享最终得分 游戏规则 前端组的肉 ...
- shell每隔一秒钟就记录下netstat状态
说明 木马可能类似随机发送心跳包的操作,随机sleep.对这类情况写好了一个监听shell脚本,每隔一秒钟就记录下netstat状态. 代码 #!/bin/bash #功能:用于定时执行lsof 和 ...
- 帮你培养类型思维TypeScript(一)
前言:作为一名程序员,相信你已经熟练掌握了JavaScript语言,由于其应用领域非常的广泛,所以算得上是每一个程序员必须要掌握的语言.但是JavaScript自身的缺点,相信每一个程序员也是深有体会 ...
- idea导入eclipse包乱码问题全局解决方案:
IJ导入eclipse包乱码问题: 全局解决方案: 设置所在文件夹位置 1.从eclipse导入方式,发现还是乱码 2.导航栏点击文件->设置->editor->文件编码 将所在文件 ...
- es原理
一: 一个请求到达es集群,选中一个coordinate节点以后,会通过请求路由到指定primary shard中,如果分发策略选择为round-robin,如果来4个请求,则2个打到primary ...