Created by Jerry Wang, last modified on Apr 02, 2015
Requirement: find out the service list changed with given user which have item category group assigned.
执行如下report,返回结果:
report source code:
REPORT ztest2jerry.
PARAMETERS: user TYPE sy-uname OBLIGATORY DEFAULT sy-uname.
DATA: lt_crmm_pr_btr TYPE STANDARD TABLE OF crmm_pr_btr,
lt_comm_pr_frg_rel TYPE STANDARD TABLE OF comm_pr_frg_rel,
lt_comm_product TYPE STANDARD TABLE OF comm_product.
START-OF-SELECTION.
SELECT * INTO TABLE lt_crmm_pr_btr FROM crmm_pr_btr WHERE upname = user.
IF sy-subrc <> 0.
WRITE: / 'no service assigned with item category group existed for user: ' COLOR COL_NEGATIVE,
user COLOR COL_POSITIVE.
RETURN.
ENDIF.
SELECT * INTO TABLE lt_comm_pr_frg_rel FROM comm_pr_frg_rel FOR ALL ENTRIES IN lt_crmm_pr_btr
WHERE fragment_guid = lt_crmm_pr_btr-frg_guid.
ASSERT sy-subrc = 0.
SELECT * INTO TABLE lt_comm_product FROM comm_product FOR ALL ENTRIES IN lt_comm_pr_frg_rel
WHERE product_guid = lt_comm_pr_frg_rel-product_guid.
ASSERT sy-subrc = 0.
LOOP AT lt_crmm_pr_btr ASSIGNING FIELD-SYMBOL(<pr_btr>).
WRITE:/ 'Valid from: ' COLOR COL_NEGATIVE, <pr_btr>-valid_from COLOR COL_GROUP,
'category group name: ' COLOR COL_TOTAL, <pr_btr>-item_cat_group COLOR COL_KEY.
READ TABLE lt_comm_pr_frg_rel ASSIGNING FIELD-SYMBOL(<frg>) WITH KEY fragment_guid = <pr_btr>-frg_guid.
ASSERT sy-subrc = 0.
READ TABLE lt_comm_product ASSIGNING FIELD-SYMBOL(<product>) WITH KEY product_guid = <frg>-product_guid.
ASSERT sy-subrc = 0.
WRITE: / 'Service id: ' COLOR COL_HEADING, <product>-product_id COLOR COL_GROUP.
ENDLOOP.