取集合GS03数据

取集需要用Function  'G_SET_GET_ALL_VALUES'

但取得的结果值是From To的形式,所以取值结束后再采取算法判断。

CALL FUNCTION 'G_SET_GET_ALL_VALUES'
          EXPORTING
            client        = sy-mandt
            setnr         = 'ZFI_CCTR2'
            class         = '0000'
          TABLES
            set_values    = li_set_values
          EXCEPTIONS
            set_not_found = 1
            OTHERS        = 2.

        LOOP AT li_set_values INTO lw_set_values.
          IF w_main-kostl BETWEEN lw_set_values-from AND lw_set_values-to.
            lflg_in = 'X'.
            EXIT.
          ENDIF.
        ENDLOOP.
        IF lflg_in IS NOT INITIAL.
          w_main-ryfl  = p9219-z41hrbzhfl.
        ELSE.
          CLEAR w_main-ryfl.
        ENDIF.

 

取系统标准集的时候,有时候需要转换一下,通过shortname转成真正的ID,再通过GET_ALL_VALUES的函数取得所有层次下的值。

注意,集是有上下层关系的,GET_ALL_VALUES会取得所有下层的集包含值和本身包含的值的集合。

CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
      EXPORTING
        shortname                = s_rfugr-low
      IMPORTING
        new_setid                = l_setnr
      EXCEPTIONS
        no_set_found             = 1
        no_set_picked_from_popup = 2
        wrong_class              = 3
        wrong_subclass           = 4
        table_field_not_found    = 5
        fields_dont_match        = 6
        set_is_empty             = 7
        formula_in_set           = 8
        set_is_dynamic           = 9
        OTHERS                   = 10.

    CALL FUNCTION 'G_SET_GET_ALL_VALUES'
      EXPORTING
        setnr         = l_setnr
      TABLES
        set_values    = lt_set_values
      EXCEPTIONS
        set_not_found = 1
        OTHERS        = 2.

如果集是多层次组集合,则通过函数K_HIERARCHY_TABLES_READ可以取得集下的所有组,然后再通过组可以取得具体值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值