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

  1. Prepare BP and CVI customizing.
  2. Run `CVI_PRECHK` to detect and correct master-data issues.
  3. Run `BP_CVI_IMG_CHK` to validate BP/CVI customizing.
  4. Start the project in `CVI_COCKPIT`.
  5. Execute `MDS_LOAD_COCKPIT` for initial synchronization.
  6. Correct errors in `MDS_PPO2` or `/SAPPO/PPO3`.
  7. Activate Customer-to-BP and Vendor-to-BP synchronization before conversion.
  8. 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`.
CVI_COCKPIT

SAP S/4HANA Business Partner / CVI cockpit

Guides the overall CVI conversion flow across preparation, synchronization, upgrade preparation, and status tracking.

CVI_PRECHK

Master Data Consistency Check

Detects common master-data inconsistencies before synchronization and supports correction from the result list.

BP_CVI_IMG_CHK

BP/CVI customizing check

Validates BP/CVI customizing before and during the conversion project.

CVI_COMPL_CHK

CVI Completeness Check

Identifies unsynchronized Customer, Vendor, and related objects.

MDS_LOAD_COCKPIT

Synchronization Cockpit

Performs initial mass synchronization of Customer/Vendor data to Business Partner.

MDS_PPO2

Post Processing Office

Analyzes and corrects synchronization and master-data errors.

Referenced tables

ObjectPurpose
KNA1Customer master general data table; remains populated through synchronization.
LFA1Vendor master general data table; remains populated through synchronization.
BUT000Business Partner central data table.
CVI_CUST_LINKLinks Customer records to Business Partner records.
CVI_VEND_LINKLinks 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?

Keywords

SAP S/4HANACVIBusiness PartnerBPCVI_COCKPITCVI_PRECHKBP_CVI_IMG_CHKCVI_COMPL_CHKMDS_LOAD_COCKPITMDS_PPO2CVI_01CVI_02CVI_03CVI_04CVI_CUST_LINKCVI_VEND_LINKFLCU00FLCU01FLVN00FLVN01CVI_CUSTOM_MAPPERCVI_MAP_BANKDETAILSCVI_MAP_CREDIT_CARDSCVI_MAP_TITLECVI_DEFAULT_VALUESCL_MD_BP_MAINTAIN