sapdev logo background
sapdev logo sapdev logo
Comments

Retrieve SAP cost element group hierarchy




The following code demonstrates how to retreive the cost element group hierarchy, as seen via cost element group structure transaction KAH3.

*&---------------------------------------------------------------------*
*& Report  ZCE_GROUPS                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*
REPORT ZCE_GROUPS.

* GSETC type pool stores codes for differenct group classes
*    i.e. gsetc_costelement_setclass = '0102'.
TYPE-POOLS: gsetc.

TYPES: gseth_node_line    LIKE grpobjects,
       gseth_node_tab     TYPE gseth_node_line OCCURS 0.
TYPES: gseth_val_line     LIKE grpvalues,
       gseth_val_tab      TYPE gseth_val_line OCCURS 0.
TYPES: GSETH_MD_LINE      LIKE GRPMDLINE,
       GSETH_MD_TAB       TYPE GSETH_MD_LINE OCCURS 0.
DATA: it_nodes            TYPE  gseth_node_tab,
      it_values           TYPE  gseth_val_tab,
      it_mdtab            type gseth_md_tab,
      wa_mdtab            type GSETH_MD_LINE.

DATA: ld_setid            TYPE sethier-setid,
      ld_info             LIKE grphinfo,
      ld_overwrite        LIKE sy-datar.

PARAMETERS: p_cele        LIKE GRPDYNP-NAME_COALL,
            p_burks       TYPE bseg-BUKRS.

 CONCATENATE gsetc_costelement_setclass 'UNIV' p_cele INTO ld_setid.
  CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
    EXPORTING
      e_class                           = gsetc_costelement_setclass
                           "from gsetc type-pool = '0102'
      e_setid                           = ld_setid
      e_kokrs                           = 'UNIV'
      E_MANDT                           = sy-mandt
      E_MASTER_DATA                     = 'XXX'  "retrieve master data into mdtab

* displays popup to confirm if a large amount of data is to be retrieved
    E_STRUCTURE                       = 'X  X0200'  "displays popup to confirm

*     E_REPLACE_CLASS                   =
*     E_REPLACE_UNIT                    =
*     E_REPLACE_TABLE                   = ' '
*     E_REPLACE_FIELD                   = ' '
*     E_SUFFIX                          =
*     E_OLD_LINE_LEVEL                  = 0
*   IMPORTING
*     I_DOUBLE_CHECK                    =
*     I_MASTER_DATA                     =
    TABLES
      t_nodes                           = it_nodes
      t_values                          = it_values
      T_MASTER_DATA                     = it_mdtab
*     T_FORMULA                         =
*     T_FIELD_INFO                      =
*     T_NODE_LIST_OVERWRITE             =
    CHANGING
      c_info                            = ld_info
      c_overwrite                       = ld_overwrite
   EXCEPTIONS
     no_controlling_area               = 1
     no_chart_of_account               = 2
     different_controlling_areas       = 3
     different_chart_of_accounts       = 4
     set_not_found                     = 5
     illegal_field_replacement         = 6
     illegal_table_replacement         = 7
     fm_raise                          = 8
     convert_error                     = 9
     no_overwrite_standard_hier        = 10
     no_bukrs_for_kokrs                = 11
     OTHERS                            = 12.

BREAK-POINT.





comments powered by Disqus