数据集创建:GS01,存放底表:Setleaf。

目的:将数据集转换为可在ABAP使用的WHERE条件

  DATA lr_cond TYPE RANGE OF setleaf-valfrom.
  DATA lv_name TYPE setleaf-setname.

  SELECT
     valsign   AS sign,
     valoption AS option,
     valfrom   AS low,
     valto AS high
     FROM setleaf
     WHERE setname = 'ZBUKRS'    "数据集ID
      AND setclass = '0000'
      AND subclass = ''
     INTO TABLE @lr_cond.

  SELECT SINGLE
      descript
    FROM setheadert
    WHERE setname  = 'ZBUKRS'    "数据集ID
      AND setclass = '0000'
      AND subclass = ''
      AND langu = '1'
    INTO @lv_name.

  DATA(lv_dyn_cond) = cl_shdb_seltab=>combine_seltabs( it_named_seltabs =  VALUE #( ( name = lv_name dref = REF #( lr_cond[] ) ) ) ).
*( BUKRS BETWEEN '0001' AND '0005'  OR BUKRS BETWEEN '8000' AND '8220'  OR BUKRS = '8700'  OR BUKRS = '8740')
  DATA(lv_dyn_where) = |{ shift_right( val = lv_dyn_cond places = 1 ) } )|.
*( BUKRS BETWEEN '0001' AND '0005'  OR BUKRS BETWEEN '8000' AND '8220'  OR BUKRS = '8700'  OR BUKRS = '8740' )
  WRITE lv_dyn_where.


另外,数据集可直接用于GGB0、GGB1的配置中,GGB0 和 GGB1 是用于定义和管理验证规则(Validation Rules)和替代规则(Substitution Rules)的事务代码,主要用于财务模块(如 FI、CO 等)中数据的校验和替代。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐