SAP CRM Service Request subjet storage design

For example I have a service request with the following two level’s category maintained:

I use the following code to print out its subject value:

PARAMETERS: id TYPE crmt_object_id OBLIGATORY DEFAULT '8000000010'.

DATA: lv_guid  TYPE crmt_object_guid,
      ls_osset TYPE crmt_srv_osset_wrk.

SELECT SINGLE header_guid INTO lv_guid FROM crms4d_serv_h WHERE object_id = id.

IF sy-subrc <> 0.
  WRITE:/ 'No service request found for id:', id.
  RETURN.
ENDIF.

CALL FUNCTION 'CRM_SERVICE_OS_READ_OB'
  EXPORTING
    iv_ref_guid      = lv_guid
    iv_ref_kind      = 'A'
  IMPORTING
    es_srv_osset_wrk = ls_osset.

LOOP AT ls_osset-osset ASSIGNING FIELD-SYMBOL(<osset>).
  LOOP AT <osset>-subject ASSIGNING FIELD-SYMBOL(<subject>).
    WRITE:/ |sort: { <subject>-sort }, ASP id: { <subject>-asp_id }, CAT id: { <subject>-cat_id }| COLOR COL_NEGATIVE.
  ENDLOOP.
ENDLOOP.

Result:

Why CA_4?
Only leaf value for category is stored for SERVICE_OS, which makes sense since all its parent in the hierarchy tree could anyway be derived.

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

发布了6819 篇原创文章 · 获赞 648 · 访问量 113万+

猜你喜欢

转载自blog.csdn.net/i042416/article/details/104563269
今日推荐