Business Partner Migration: KNA1/LFA1 to BUT000
Guide to the SAP S/4HANA Business Partner migration — how customer master (KNA1) and vendor master (LFA1) data moves to the central Business Partner (BUT000) model.
Why Business Partner?
In SAP ECC, customers and vendors lived in separate master data silos: KNA1 (Customer General Data) and LFA1 (Vendor General Data), with company-code-level data in KNB1/LFB1 and bank data in KNBK/LFBK. A single business entity that was both a customer and a vendor required two separate master records with no structural link.
SAP S/4HANA mandates the Business Partner (BP) model. Every customer and vendor is a Business Partner stored in BUT000 (BP General Data), with roles determining whether the partner acts as a customer, vendor, or both.
Table Migration Overview
| ECC Table | Purpose | S/4HANA Equivalent |
|---|---|---|
| KNA1 | Customer General Data | BUT000 + BP Role FLCU00 |
| KNB1 | Customer Company Code Data | Still exists, linked via BP number |
| KNVV | Customer Sales Area Data | Still exists, linked via BP number |
| KNBK | Customer Bank Data | BUT0BK (BP Bank Details) |
| LFA1 | Vendor General Data | BUT000 + BP Role FLVN00 |
| LFB1 | Vendor Company Code Data | Still exists, linked via BP number |
| LFM1 | Vendor Purchasing Data | Still exists, linked via BP number |
| LFBK | Vendor Bank Data | BUT0BK (BP Bank Details) |
Note: KNA1 and LFA1 still exist in S/4HANA as compatibility views. New records are created exclusively through the BP transaction. The Customer-Vendor Integration (CVI) synchronizes data between the BP and customer/vendor layers.
Number Synchronization
S/4HANA enforces same-number assignment: the Business Partner number, Customer number, and Vendor number are identical. If BP 1000000 is a customer, then KUNNR = 1000000. This is controlled by customizing in transaction BUCF (BP–Customer/Vendor Number Range Mapping).
CDS Views for Business Partner
The recommended CDS Views for accessing business partner data:
- I_BusinessPartner — Central BP data (replaces direct BUT000 access)
- I_Customer — Customer-specific data (replaces KNA1 reads)
- I_Supplier — Supplier/Vendor data (replaces LFA1 reads)
- I_BusinessPartnerAddress — Address data (consolidated from ADRC)
- I_BusinessPartnerBank — Bank details (replaces KNBK/LFBK)
- I_CustomerCompany — Customer Company Code data (replaces KNB1)
- I_SupplierCompany — Supplier Company Code data (replaces LFB1)
Transaction Changes
| ECC Transaction | Purpose | S/4HANA Replacement |
|---|---|---|
| XD01 / XD02 / XD03 | Customer Create/Change/Display | BP (Business Partner) |
| XK01 / XK02 / XK03 | Vendor Create/Change/Display | BP (Business Partner) |
| FD01 / FD02 / FD03 | Customer (FI) Create/Change/Display | BP (Business Partner) |
| FK01 / FK02 / FK03 | Vendor (FI) Create/Change/Display | BP (Business Partner) |
| MK01 / MK02 / MK03 | Vendor (MM) Create/Change/Display | BP (Business Partner) |
ABAP Code Migration Example
Before (ECC — reading KNA1):
SELECT kunnr name1 land1 ort01
FROM kna1
INTO TABLE @DATA(lt_customers)
WHERE land1 = 'DE'.
After (S/4HANA — using CDS View):
SELECT Customer, CustomerName, Country, CityName
FROM I_Customer
WHERE Country = 'DE'
INTO TABLE @DATA(lt_customers).
Migration Steps
- Pre-Check — Run transaction BUPA_PRE_CHECK to identify data quality issues (duplicate tax numbers, inconsistent addresses, etc.)
- Number Range Alignment — Configure same-number assignment in BUCF before migration
- CVI Synchronization — Run report CVI_MIGRATION to create BP records from existing customers/vendors
- Custom Code Adaptation — Replace direct KNA1/LFA1 reads with CDS Views or BP APIs
- Testing — Validate that all customer/vendor scenarios work via BP transaction