美文网首页
转载:江正军 GS01/GS02/GS03 参数集合

转载:江正军 GS01/GS02/GS03 参数集合

作者: 阿努比斯1117 | 来源:发表于2018-12-13 16:46 被阅读0次

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

    image186

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

    参考VBAK-AUART字段

    image187

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

    image188

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

    image189

    image190

    image191

    image192

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

    image193

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

    image194

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

    image195

    通过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.

    image196

    获取集的函数
    CALL FUNCTION 'G_SET_GET_ALL_VALUES'
    EXPORTING
    client = sy-mandt
    setnr = '*'
    table = 'MARD'
    class = '0000'
    fieldname = 'LGORT'
    TABLES
    set_values = t_set_values
    EXCEPTIONS
    set_not_found = 1
    OTHERS = 2.

    相关文章

      网友评论

          本文标题:转载:江正军 GS01/GS02/GS03 参数集合

          本文链接:https://www.haomeiwen.com/subject/cqebhqtx.html