G_SET_LIST_SELECT - ooxxvv/MySAPnotes GitHub Wiki
G_SET_LIST_SELECT
-
Selection of a List fo Sets according to the Specified Selection Criteria
-
用來捉 Profit center group, Cost center group 的相關資料。
-
需配合 K_HIERARCHY_TABLES_READ 這個 Function。
EXPORTING
IMPORTING
TABLES
EXCEPTIONS
Code
{{{#!abap &--------------------------------------------------------------------- *& Form GET_PROFIT_CENTER_GROUP &---------------------------------------------------------------------
-
text
---------------------------------------------------------------------- FORM get_profit_center_group TABLES pr_prctr STRUCTURE gr_prctr USING p_phinr.
DATA: lt_nodes LIKE grpobjects OCCURS 0 WITH HEADER LINE, lt_values LIKE grpvalues OCCURS 0 WITH HEADER LINE, l_prftgp LIKE rgsbs-setnr.
*-> Convert profit center group PERFORM select_set_list USING p_phinr c_prfgp CHANGING l_prftgp.
*-> Get profit center data by profit center group PERFORM get_hierarchy_data TABLES lt_nodes lt_values USING c_prfgp l_prftgp.
*-> Combine profit center pr_prctr = 'IBT'. LOOP AT lt_values. MOVE: lt_values-vfrom TO pr_prctr-low, lt_values-vto TO pr_prctr-high. APPEND pr_prctr. ENDLOOP. CLEAR pr_prctr.
ENDFORM. " GET_PROFIT_CENTER_GROUP &--------------------------------------------------------------------- *& Form SELECT_SET_LIST &---------------------------------------------------------------------
-
text
---------------------------------------------------------------------- FORM select_set_list USING p_set p_class CHANGING p_setid.
CHECK p_setid IS INITIAL. DATA: lt_setlist LIKE setlist OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'G_SET_LIST_SELECT' EXPORTING client = sy-mandt setclass = p_class shortname = p_set kokrs = tka01-kokrs TABLES matching_sets = lt_setlist. CHECK NOT lt_setlist[] IS INITIAL. READ TABLE lt_setlist INDEX 1. MOVE :lt_setlist-setname TO p_setid.
ENDFORM. " SELECT_SET_LIST &--------------------------------------------------------------------- *& Form GET_HIERARCHY_DATA &---------------------------------------------------------------------
-
text
---------------------------------------------------------------------- FORM get_hierarchy_data TABLES pt_nodes STRUCTURE grpobjects pt_values STRUCTURE grpvalues USING p_class p_insetid.
DATA: lw_info LIKE grphinfo, lw_overwrite LIKE sy-datar.
CALL FUNCTION 'K_HIERARCHY_TABLES_READ' EXPORTING e_class = p_class e_setid = p_insetid e_kokrs = tka01-kokrs e_mandt = sy-mandt TABLES t_nodes = pt_nodes t_values = pt_values CHANGING c_info = lw_info c_overwrite = lw_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.
CHECK sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDFORM. " GET_HIERARCHY_DATA }}}