SAP MDG · DATA MODEL UI
How do I set up and run Customer/Vendor Integration (CVI) for Business Partner conversion in SAP S/4HANA?
In SAP S/4HANA, Business Partner is the leading master-data object, and CVI synchronizes BP with Customer and Vendor data. The standard process is preparation, pre-checks, synchronization with CVI_COCKPIT and MDS_LOAD_COCKPIT, error correction in PPO, then post-conversion activation of BP-to-Customer/Vendor synchronization.
In SAP S/4HANA, Business Partner is the leading master-data object, and CVI synchronizes BP with Customer and Vendor data. The standard process is preparation, pre-checks, synchronization with CVI_COCKPIT and MDS_LOAD_COCKPIT, error correction in PPO, then post-conversion activation of BP-to-Customer/Vendor synchronization.
SAP S/4HANA uses Business Partner as the strategic master-data object, so Customer and Vendor data must be synchronized through CVI. The cookbook recommends a phased approach: prepare the system, run master-data and customizing checks, synchronize with `CVI_COCKPIT` and `MDS_LOAD_COCKPIT`, resolve PPO errors, then activate the post-conversion synchronization directions.
Process flow
- Prepare BP and CVI customizing.
- Run `CVI_PRECHK` to detect and correct master-data issues.
- Run `BP_CVI_IMG_CHK` to validate BP/CVI customizing.
- Start the project in `CVI_COCKPIT`.
- Execute `MDS_LOAD_COCKPIT` for initial synchronization.
- Correct errors in `MDS_PPO2` or `/SAPPO/PPO3`.
- Activate Customer-to-BP and Vendor-to-BP synchronization before conversion.
- Complete the SAP S/4HANA conversion step. Activate BP-to-Customer and BP-to-Vendor synchronization after conversion. Recheck unsynchronized objects with `CVI_COMPL_CHK`.
SAP S/4HANA Business Partner / CVI cockpit
Guides the overall CVI conversion flow across preparation, synchronization, upgrade preparation, and status tracking.
Master Data Consistency Check
Detects common master-data inconsistencies before synchronization and supports correction from the result list.
BP/CVI customizing check
Validates BP/CVI customizing before and during the conversion project.
CVI Completeness Check
Identifies unsynchronized Customer, Vendor, and related objects.
Synchronization Cockpit
Performs initial mass synchronization of Customer/Vendor data to Business Partner.
Post Processing Office
Analyzes and corrects synchronization and master-data errors.
Referenced tables
| Object | Purpose |
|---|---|
KNA1 | Customer master general data table; remains populated through synchronization. |
LFA1 | Vendor master general data table; remains populated through synchronization. |
BUT000 | Business Partner central data table. |
CVI_CUST_LINK | Links Customer records to Business Partner records. |
CVI_VEND_LINK | Links Vendor records to Business Partner records. |
ILLUSTRATIVE ABAP SAMPLE
Source ABAP example: SAP_S4HANA_Customer_Vendor_Integration_Cookbook.abap
Exact relevant implementation excerpt from the knowledge document set.
1*---------------------------------------------------------------------*
2* Title : SAP S4HANA Customer Vendore Integration Cookbook
3*---------------------------------------------------------------------*
4* TAGS
5* SAP S/4HANA
6* CVI
7* CUSTOMER VENDOR INTEGRATION
8* BUSINESS PARTNER
9* HCM EMPLOYEE
10* EMPLOYEE VENDOR
11* CVI_MAP_TITLE
12* CVI_MAP_BP_CATEGORY
13* CVI_CUSTOM_MAPPER
14* MAP_VENDOR_TO_BP
15* BP CATEGORY PERSON
16* BP NUMBER ASSIGNMENT
17* EXTERNAL NUMBER RANGE
18* ACCOUNT GROUP ZEMP
19* BP GROUPING BPAB
20* LFA1
21* LFB1-PERNR
22* VMDS_EI_COMPANY_T
23* VMDS_EI_COMPANY
24*---------------------------------------------------------------------*
25
26*---------------------------------------------------------------------*
27* SOURCE EXAMPLE 1
28* BAdI: CVI_MAP_TITLE
29* Purpose: Set employee Vendor Business Partner category to Person
30*---------------------------------------------------------------------*
31data: lv_ktokk type ktokk.
32
33select single ktokk into lv_ktokk
34 from lfa1
35 where lifnr = i_vendor_id.
36if sy-subrc = 0 and lv_ktokk = ‘ZEMP’.
37 c_partner_category = bp_as_person.
38endif.
39
40*---------------------------------------------------------------------*
41* SOURCE EXAMPLE 2
42* BAdI: CVI_CUSTOM_MAPPER
43* Method: MAP_VENDOR_TO_BP
44* Purpose: Derive BP number from employee personnel number
45*---------------------------------------------------------------------*
46MAP_VENDOR_TO_BP
47
48 data: lt_company type VMDS_EI_COMPANY_T,
49 ls_company type VMDS_EI_COMPANY.
50
51 if I_VENDOR-CENTRAL_DATA-CENTRAL-DATA-KTOKK = 'ZEMP'.
52 lt_company = I_VENDOR-COMPANY_DATA-COMPANY.
53 loop at lt_company into ls_company where data-
54pernr ne space. "What if more than one Company Code?
55 concatenate 'EN' ls_company-data-pernr into C_PARTNER-HEADER-
56OBJECT_INSTANCE-BPARTNER. "What BP already exists?
57 C_PARTNER-CENTRAL_DATA-COMMON-DATA-BP_CONTROL-GROUPING = 'BPAB'.
58 exit.
59 endloop.
60 endif.The remaining configuration, implementation details, and testing guidance continue from this answer more…
Related questions and keywords
Alternative questions
- What are the main CVI configuration steps in SAP S/4HANA?
- Which transactions and checks are used for CVI conversion?
- How do BP roles, number ranges, and mappings work in CVI?
Possible questions
- What is the purpose of transaction CVI_COCKPIT?
- How do I run the Master Data Consistency Check in CVI?
- Which BP roles are recommended for customers and suppliers?
- How do I link Customer and Vendor records to one Business Partner?
- Which CVI BAdIs are available for custom field mapping?
- Which API should replace custom Customer/Vendor table updates?