转载: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的更多相关文章

  1. 【FICO系列】SAP 参数(条件表)灵活配置GS01/GS02/GS03

      公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 参数(条件表)灵活配 ...

  2. 参数(条件表)灵活配置GS01/GS02/GS03

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. ASP.NET Aries 高级开发教程:Excel导入之单表配置(上)

    前言: 随着ASP.NET Aries的普及,刚好也有点闲空,赶紧把Excel导入功能的教程补上. Excel导入功能,分为四篇:单表配置(上).多表高级配置(中).配置规则(下).代码编写(番外篇) ...

  4. SD-定义定价用途的条件表(Condition Table)

    https://www.fenginfo.com/815.html 条件表(Condition Table)是SAP条件技术体系中最基础的数据源,它们是一群特定的数据表,表名是以特定字母开头 + 三位 ...

  5. SAP字段与表的对应关系

    SAP字段与表的对应关系   MASTER DATA-主数据 Customer Master KNA1                         Customer Basic Data KNB1 ...

  6. ProxySQL 常见表配置

    ProxySQL 常见表配置 [root@mgr1 opt]# rpm -ivh proxysql-1.4.14-1.1.el6.x86_64.rpm warning: proxysql-1.4.14 ...

  7. IIS反向代理配置教程(最终完整版本)

    IIS代理配置教程 插件下载:https://download.csdn.net/download/song_yan_/11996489 一.安装反向代理插件 1.rewrite插件安装 (1) 双击 ...

  8. Java代码生成器多表配置优化,增加自定义实体功能

    目录 前言 多表配置优化 自定义实体 杂谈 结语 前言   最近利用零碎的时间对代码生成器做了进一步更新:优化多表配置模块,增加自定义实体功能,美化单表和多表配置的UI界面,修复用户反馈的若干bug, ...

  9. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

随机推荐

  1. 七、postman-request methods

    一.一些常见的请求方法 GET POST PUT DELETE PATCH

  2. pytorch如何先初始化变量,然后再赋值

    下面是定义初始化 #初始化输入的张量 - torch.empty是返回一个包含未初始化数据的张量 self.input = torch.empty(size=(self.opt.batchsize, ...

  3. openpyxl代码案例

    import datetimefrom random import choicefrom time import timefrom openpyxl import load_workbookfrom ...

  4. 【Dart学习】--Dart之数组(List)的相关方法总结

    一,初始化List 非固定长度list var testList = List(); print(testList.length);//输出0 固定长度List var testList2 = Lis ...

  5. jenkins集成robot用例并发送自定义报告

    slave

  6. 【GStreamer开发】GStreamer播放教程09——数字音频传输

    目标 本教程展示GStreamer是如何进行数字音频传输的. 介绍 在常见的模拟格式外,高端的音频系统通常都接受数字格式,压缩的非压缩的都能接受.因为音频信号是从电脑传到音箱,用一种更有弹性的形态会更 ...

  7. JAVA 读取xml格式的数据

    <?xml version="1.0" encoding="UTF-8"?> <column-enums> <type name= ...

  8. 洛谷 题解 P1041 【传染病控制】

    [思路] 题目给出一棵树.第\(i\)步拆的一定是第\(i\)层与第\(i+1\)层之间的连边,否则不是最优(自行证明即可),所以可以暴力枚举每一次拆哪一个节点与上一个节点的连边. 把所有节点所在的层 ...

  9. QT 头文件之间相互包含会报错:类名不存在

    "希望是一个美好的东西! 希望, 这能自己给自己,否则只有无尽的痛苦和迷茫!"---Frank 假设你写了两个类A和B,如果在A.h中有 #include<B.h>;  ...

  10. cnbolgs博客中添加Latex支持

    参考:http://www.cnblogs.com/ilogic/archive/2012/08/05/latex.html 主要是利用在线生成公式的工具:MathJax,但要在博客上获得 MathJ ...