SAP MDG · UTILITIES
How does the vendor synchronization and delta processing report work in SAP MDG / BP integration?
The report ZMDG_DATA_SYNC_DIRECT_VENDOR performs controlled vendor synchronization by reading vendor data from a remote source, checking change documents, comparing selected business areas, and updating Business Partner data only when differences are found.
The report ZMDG_DATA_SYNC_DIRECT_VENDOR performs controlled vendor synchronization by reading vendor data from a remote source, checking change documents, comparing selected business areas, and updating Business Partner data only when differences are found.
The report `ZMDG_DATA_SYNC_DIRECT_VENDOR` is a controlled vendor sync and delta-processing utility. It reads vendor data from a remote system, checks change documents to avoid duplicate processing, compares business areas like company code, purchasing, bank, address, email, phone, and classification, and then updates Business Partner data only when differences exist.
Process flow
- Enter the vendor range on the selection screen.
- Maintain the RFC destination for the remote vendor source.
- Set the cutoff date for change document filtering.
- Choose the business areas to compare.
- Run first in test mode to review the delta log.
- Activate update mode only after validating the differences.
- Check the ALV output for source and target values before production use.
Referenced tables
| Object | Purpose |
|---|---|
BUT000 | BP central data. |
KNA1 | Customer general data. |
LFA1 | Vendor general data. |
CVI_CUST_LINK | Customer-to-BP link. |
CVI_VEND_LINK | Vendor-to-BP link. |
ADRC | Address data. |
/SAPPO/ORDER_HDR | PPO header. |
/SAPPO/ORDER_MSG | PPO messages. |
/SAPPO/ORDER_OBJ | PPO related objects. |
/SAPPO/ORDER_DAT | PPO additional data. |
ILLUSTRATIVE ABAP SAMPLE
Source ABAP example: BP_Data_Update_with_CL_MD_BP_MAINTAIN.abap
Exact relevant implementation excerpt from the knowledge document set.
1REPORT zbp_data_update_with_cl_md_bp_main.
2
3" ----------------------------------------------------------------------
4" Purpose:
5" Generic example showing how to update Business Partner data with
6" cl_md_bp_maintain=>maintain.
7" ----------------------------------------------------------------------
8
9DATA lt_bp_data TYPE cvis_ei_extern_t.
10DATA lt_return TYPE bapirettab.
11DATA ls_bp_data TYPE cvis_ei_extern.
12
13" Create one BP update payload.
14APPEND INITIAL LINE TO lt_bp_data ASSIGNING FIELD-SYMBOL(<bp_data>).
15IF <bp_data> IS ASSIGNED.
16 <bp_data>-partner-header-object_instance-bpartner = '0000001234'.
17 <bp_data>-partner-header-object_task = 'M'.
18
19 " Example: update the central postal address.
20 APPEND INITIAL LINE TO <bp_data>-partner-central_data-address-addresses ASSIGNING FIELD-SYMBOL(<bp_address>).
21 IF <bp_address> IS ASSIGNED.
22 <bp_address>-task = 'M'.
23 <bp_address>-data-postal-city = 'DEMO CITY'.
24 <bp_address>-data-postal-postl_cod1 = '10000'.
25 <bp_address>-data-postal-street = 'Demo Street 1'.
26
27 " Mark address fields as changed.
28 <bp_address>-data-postal-city = 'DEMO CITY'.
29 <bp_address>-data-postal-street = 'Demo Street 1'.
30 ENDIF.
31ENDIF.
32
33" Call the BP maintenance API.
34cl_md_bp_maintain=>maintain(
35 EXPORTING
36 i_data = lt_bp_data
37 IMPORTING
38 e_return = lt_return
39).
40
41" Simple message handling.
42LOOP AT lt_return ASSIGNING FIELD-SYMBOL(<return_line>).
43 LOOP AT <return_line>-object_msg ASSIGNING FIELD-SYMBOL(<message_line>).
44 WRITE: / <message_line>-type, <message_line>-message.
45 ENDLOOP.
46ENDLOOP.
47
48" Commit only in a real update scenario.
49COMMIT WORK.The remaining configuration, implementation details, and testing guidance continue from this answer more…
Related questions and keywords
Alternative questions
- How do I implement a controlled vendor delta synchronization report in SAP?
- How does a vendor sync report compare and update Business Partner data?
- What is the logic behind vendor master delta processing with BP update?
Possible questions
- How do I run a controlled vendor synchronization with delta detection?
- Which API updates Business Partner data in the vendor sync report?
- How does the report avoid reprocessing already changed vendor records?
- What business areas does the vendor synchronization report compare?
- Which BP API is used after vendor comparison?