SAP CRM Service Request subject value determination

When a new Service Request is created, the multi-level drop down list for Service Request subject is available.


Where do the value for those drop down list come from?
Here below is what I found via debugging:

get allowed category type from table CRMC_PROC_CATTYP based on transaction type:

Two entries found:

These two entries are inserted here:


Then check for the given combination of Transaction type plus Catalog category, whether there is existing schema defined.
The check is done by API CL_CRM_ML_CATEGORY_UTIL=>GET_ASPECT.

I wrote a small report to check whether a schema is available for corresponding category:

REPORT zdetermine_schema.

PARAMETERS: guid TYPE crmt_object_guid OBLIGATORY DEFAULT '6C0B84B75FAB1ED7BC85AA545271F98C',
            cat  TYPE crmt_catalogtype OBLIGATORY DEFAULT 'C'.

DATA: lv_guid TYPE crmt_object_guid.

lv_guid = guid.

DATA: lr_aspect TYPE REF TO if_crm_erms_catego_aspect,
      ls_detail TYPE crmt_erms_cat_as_buf.

CALL METHOD cl_crm_ml_category_util=>get_aspect
  EXPORTING
    iv_ref_guid     = lv_guid
    iv_ref_kind     = 'A'
    iv_profile_type = 'A'
    iv_catalog_type = cat
  IMPORTING
    er_aspect       = lr_aspect.
IF lr_aspect IS BOUND.
  lr_aspect->get_details( IMPORTING ev_asp = ls_detail ).
  WRITE:/ 'ASP id:', ls_detail-asp-asp_id.
ELSE.
  WRITE:/ 'No detail data found'.
ENDIF.

In my example, no schema exists for category C:


But a schema exists for type D:


the ASP ID YBP_SERVICE comes from here:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":


注销
1k 声望1.6k 粉丝

invalid