SAP CRM service请求subject value determination sapcrmwebSAP成都研究院SAP Cloud Platform
程序员文章站
2022-03-05 15:01:12
...
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: