*"---------------------------------------------------------------------- *"Methoden Signatur: *" Importing *" IV_GUID TYPE CRMT_OBJECT_GUID *" IV_CATALOG_TYPE TYPE CRMT_CATALOGTYPE *" Returning *" VALUE(RT_RESULT) TYPE CRMT_ERMS_CAT_CA_LANG_TAB *"----------------------------------------------------------------------
************************************************************************ * Method GET_CATEGORY * * Date 26.01.2015 * * * *----------------------------------------------------------------------* * Get Multi Level Category. * ************************************************************************ METHOD get_category. *Low Level Function for Debugging: CRM_ERMS_CAT_CA_READ + CRM_ERMS_CAT_AS_READ. TYPES: tt_category TYPE TABLE OF REF TO if_crm_erms_catego_category. DATA: li_aspect TYPE REF TO if_crm_erms_catego_aspect, li_category TYPE REF TO if_crm_erms_catego_category, lr_categories TYPE REF TO data, ls_cat_lang TYPE crmt_erms_cat_ca_lang. FIELD-SYMBOLS: <ft_category> TYPE tt_category, <fi_category> LIKE li_category. *Ensure valid result. REFRESH rt_result[]. *Get Assigned Category. CALL METHOD cl_crm_ml_category_util=>get_categoryfirst EXPORTING iv_ref_guid = iv_guid iv_ref_kind = 'A' iv_catalog_type = iv_catalog_type IMPORTING er_aspect = li_aspect er_category = li_category. CHECK li_aspect IS BOUND AND li_category IS BOUND. *Get All Parent Nodes. CALL METHOD cl_crm_ml_category_util=>get_cat_pars_all EXPORTING ir_aspect = li_aspect ir_category = li_category IMPORTING er_categories = lr_categories. CHECK lr_categories IS BOUND. ASSIGN lr_categories->* TO <ft_category>. *Don't forget our assigned Category. INSERT li_category INTO <ft_category> INDEX 1. LOOP AT <ft_category> ASSIGNING <fi_category>. *Get Category Details. CALL METHOD <fi_category>->get_details * EXPORTING * iv_auth_check = ' ' IMPORTING * ev_cat = ls_cat ev_cat_lang = ls_cat_lang. *Ensure that description is filled. IF ls_cat_lang-cat_desc IS INITIAL. ls_cat_lang-cat_desc = ls_cat_lang-cat_labl. ENDIF. IF ls_cat_lang-cat_desc IS INITIAL. ls_cat_lang-cat_desc = ls_cat_lang-cat-cat_id. ENDIF. *Transfer Result INSERT ls_cat_lang INTO rt_result[] INDEX 1. ENDLOOP. ENDMETHOD.