Professional Documents
Culture Documents
Zcustcontact Link Check Report
Zcustcontact Link Check Report
REPORT ZCUSTCONTACT_LINK_CHECK_REPORT.
* Local type
types: begin of lty_bp_cust_contact_ids,
partner_guid type bu_partner_guid,
person_guid type bu_partner_guid,
customer_cont type parnr,
del_flag type boole-boole,
end of lty_bp_cust_contact_ids.
CLEAR: lv_msg,
lv_dbcnt,
ls_entries_to_delete.
DO.
CLEAR ls_bp_cust_contact_ids.
REFRESH lt_bp_cust_contact_ids.
REFRESH: lt_but000, lt_tmp_but000, lt_knvk.
IF sy-subrc <> 0.
EXIT.
ELSE.
SELECT partner partner_guid FROM but000 INTO TABLE lt_tmp_but000 FOR ALL
ENTRIES IN lt_bp_cust_contact_ids WHERE partner_guid = lt_bp_cust_contact_ids-
partner_guid.
lt_but000[] = lt_tmp_but000[].
SELECT partner partner_guid FROM but000 INTO TABLE lt_tmp_but000 FOR ALL
ENTRIES IN lt_bp_cust_contact_ids WHERE partner_guid = lt_bp_cust_contact_ids-
person_guid.
APPEND LINES OF lt_tmp_but000 TO lt_but000.
SELECT parnr FROM knvk INTO TABLE lt_knvk FOR ALL ENTRIES IN
lt_bp_cust_contact_ids WHERE parnr = lt_bp_cust_contact_ids-customer_cont.
SORT lt_knvk BY parnr.
IF sy-subrc <> 0.
ls_bp_cust_contact_ids-del_flag = lc_x.
ELSE.
* clear lv_parnr.
* select single parnr FROM knvk
* INTO lv_parnr
* WHERE parnr = ls_bp_cust_contact_ids-
customer_cont.
READ TABLE lt_knvk WITH KEY parnr = ls_bp_cust_contact_ids-
customer_cont TRANSPORTING NO FIELDS BINARY SEARCH.
IF sy-subrc <> 0.
ls_bp_cust_contact_ids-del_flag = lc_x.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF ls_bp_cust_contact_ids-del_flag = lc_x.
CLEAR ls_entries_to_delete.
ls_entries_to_delete-partner_guid = ls_bp_cust_contact_ids-partner_guid.
ls_entries_to_delete-person_guid = ls_bp_cust_contact_ids-person_guid.
ls_entries_to_delete-customer_cont = ls_bp_cust_contact_ids-
customer_cont.
APPEND ls_entries_to_delete TO lt_entries_to_delete.
ENDIF.
ENDLOOP.
ENDIF.
ENDDO.
IF TESTMODE IS INITIAL.
IF lt_entries_to_delete is not initial.
DELETE cvi_cust_ct_link FROM TABLE lt_entries_to_delete.
WRITE : 'Non Test Run Mode'.
lv_dbcnt = sy-dbcnt.
lv_msg = text-002.
CONCATENATE lv_msg text-003 INTO lv_msg SEPARATED BY space.
CONCATENATE lv_msg lv_dbcnt INTO lv_msg SEPARATED BY space.
COMMIT WORK.
NEW-LINE.
ULINE.
WRITE : 'Business partner GUID'.
WRITE :36 'Business partner GUID'.
WRITE :36 'Customer Contact Number'.