SAP 参数(条件表)灵活配置GS01(创建)/GS02(修改)/GS03(查看)
-
功能描述:在开发中,某段代码运行可能需要满足某个条件,通常解决办法有两种:一种是在代码中写死限制条件,此种方式当限制条件变化时需要修改代码;另一种办法则是自定义数据表,将限制条件值保存在表中,当程序运行时,可以直接从表中读取条件值作为控制条件,这样比较灵活,就像Java开发中的属性配置文件一样,但我们不需要手动创建这样的参数表,SAP已为我们提供了这样的工具,可以通过该工具更灵活地将数据维护到一个层次结构。
-
处理步骤:
-
使用GS01建立一个数据集(基本组):数据集必须参考某个数据库表的具体某个字段,一般参考某一字段建立一个相关的数据集,称为基本组,也可以将多个基本组合并到一个单维集,多个单维集则可以分配到同一个多重组中来实现统一管理。
-
参考MSEG-WERKS
-
可以维护多个值,值还可以是范围、公式、变量:
-
另外,还可以配置下级数据集:
-
及配置完成后可以使用事务码GS02查看对应的层次结构:
-
数据集实际上是保存在表SETLEAF中,以集的名称及行号作为关键字,字段setname为集的名称,lineid即为行号,上面配置的数据集在表中如下:
-
数据集与数据集之单的关系存储在 SETNODE 表中:
-
-
通过ABAP程序,可以将信中所维护的值读取到RANGE类型的内表,做为查询条件
REPORT zdemo_test01. TABLES: mseg. RANGES:lt_werks FOR mseg-werks OCCURS 0. SELECT valsign valoption valfrom valto INTO TABLE lt_werks FROM setleaf WHERE setname LIKE 'ZD_WERKS'. LOOP AT lt_werks . WRITE:/ lt_werks-sign , lt_werks-option ,lt_werks-low ,lt_werks-high . ENDLOOP.