码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-02-16 08:59:37      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
声明:原创作品转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun并以超链接形式标明文章原始出处否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4293672.html

 

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

 

技术分享

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

 

参考VBAK-AUART字段

技术分享

 

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

技术分享

 

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

技术分享

技术分享

技术分享

技术分享

 

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

技术分享

 

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

技术分享

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

技术分享

通过ABAP程序,可以将信中所维护的值读取到RANGE类型的内表中,作为查询条件:

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.

技术分享

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

标签:

原文地址:http://www.cnblogs.com/jiangzhengjun/p/4293672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!