SAP master data migration at a glance
- Objects covered
- 11 master data objects, from G/L account to equipment
- Load order
- G/L accounts, profit centers, cost centers, banks, business partners, materials, assets, BOMs, pricing, info records, equipment
- Cutover tool
- SAP S/4HANA Migration Cockpit
- Legacy tool
- LSMW, restricted use in S/4HANA on-premise, not in public cloud
- After go-live
- Excel based loads through standard BAPIs
- Templates
- 24 free master data templates with the BAPI and field named for every column
SAP master data migration is the first, foundational step of any ECC to S/4HANA move: the master records have to be in the target system, clean and consistent, before any transaction can reference them. The meaning of master data in SAP is simple: the records that transactions point to rather than the transactions themselves: customers, vendors, materials, G/L accounts, cost centers, profit centers, assets, banks, bills of material, prices. A sales order is transactional data; the customer and the material on it are master data, and both have to exist before the order can.
This guide takes the objects one at a time, in the order they have to be loaded. For each one it gives the transaction in ECC and in S/4HANA, the tables the data lands in, the BAPI a validated load posts through, what changed in S/4HANA, and where the free template is. Around that core it covers what changed for master data in S/4HANA, which tool loads which object, the process for each object, and how to prove a load was right.
Master data by SAP module
Every SAP module owns some master data, and a migration is usually planned module by module before it is sequenced object by object. The table below is the map between the two views: master data in SAP FI, CO, MM, SD, PP, PM and QM, with examples of master data in each, and whether it migrates at cutover. The right hand column matters most: not every master object is migrated at cutover. Some are created fresh in the target system by configuration, and some are loaded later, after the transactional history has been closed.
| Module | Master data objects | Migrated at cutover |
|---|---|---|
| FI, Financial Accounting | G/L account master, bank master, customer and vendor company code data, asset master | Yes, all of them |
| CO, Controlling | Cost center, profit center, cost element, activity type, internal order, statistical key figure | Yes, except open internal orders which follow their own plan |
| MM, Materials Management | Material master, vendor (supplier) master, purchasing info record, source list, batch master, service master (AC03, table ASMD) | Yes; source lists are often rebuilt |
| SD, Sales and Distribution | Customer master, material sales views, pricing conditions, customer material info records (VD51, table KNMT), product hierarchy (the product hierarchy table in SAP is T179, the field is PRODH on the material sales view), output condition records | Yes; output conditions are usually reconfigured |
| PP, Production Planning | Material MRP views, bill of material, work center, routing, production version | Yes; routings and versions after BOMs |
| PM, Plant Maintenance | Functional location, equipment master, maintenance plan, measuring point | Functional locations and equipment yes; plans usually after go-live |
| QM, Quality Management | Inspection characteristics, inspection plan, material QM view | With the material master |
The types of master data in SAP MM and SD overlap on purpose. The material master has purchasing views owned by MM and sales views owned by SD, and the same physical record carries both. Customers and vendors, in S/4HANA, are two roles of one Business Partner. Planning by module is fine; loading has to be planned by object, because that is where the dependencies live.
The master data objects, in load order
The order below is the dependency order. Each object references something above it, and loading out of sequence produces the same family of errors every time: a cost center rejected because its profit center does not exist, a material rejected because its valuation class points to a G/L account that was not created, a customer rejected because the reconciliation account is missing. The order is not a suggestion. It is what the target system enforces.
1. G/L account master
| ECC | FS00, chart of accounts view FSP0, company code view FSS0 |
|---|---|
| S/4HANA | FS00, or the Manage G/L Account Master Data app |
| Tables | SKA1 chart of accounts, SKB1 company code, SKAT texts |
| Load interface | No released BAPI for creation. Migration Cockpit object, or the standard batch input program RFBISA00 |
| S/4HANA change | Cost elements are G/L accounts, with account type set on the master |
| Template | Not in the free library, because there is no released BAPI to verify against |
GL account master data in SAP is the first object because almost everything else resolves to it. Reconciliation accounts for customers and vendors, valuation class account determination for materials, asset class account determination, and every cost element. In S/4HANA the primary and secondary cost elements no longer exist as separate master records; they are G/L accounts with an account type of primary cost, secondary cost, or non-operating expense, and the cost element data that lived in CSKA and CSKB in ECC is maintained on the G/L account itself. A chart of accounts migrated from ECC has to carry that account type for every P&L account or the CO postings will not find a cost element.
2. Profit center
| ECC | KE51 |
|---|---|
| S/4HANA | KE51, or the Manage Profit Centers app |
| Tables | CEPC master, CEPCT texts, CEPC_BUKRS company code assignment |
| Load interface | BAPI_PROFITCENTER_CREATE, one call per profit center with a COMPANYCODES table |
| S/4HANA change | Profit center is a field of the universal journal; document splitting by profit center is common, so the assignments on cost centers, materials and assets have to be complete |
| Template | In the library through the cost center and internal order templates that reference it |
Profit center master data in SAP sits above cost centers in the load order because a cost center carries a profit center, and the cost center BAPI validates it. The standard time-dependent structure applies: a profit center has a valid from and valid to date, and the company code assignment is a table on the BAPI rather than a single field. The practical trap is the company code assignment. A profit center that exists but is not assigned to the company code you are posting in fails on the first document, not on the master load.
3. Cost center
| ECC | KS01, mass with KS01 copy or LSMW |
|---|---|
| S/4HANA | KS01, or the Manage Cost Centers app |
| Tables | CSKS master, CSKT texts |
| Load interface | BAPI_COSTCENTER_CREATEMULTIPLE, many cost centers per call |
| S/4HANA change | Unchanged structurally; the profit center field is validated harder because of document splitting |
| Template | SAP Cost Center Upload Template (KS01) |
Cost center master data in SAP is the object most teams load first when they are learning, because the BAPI is clean and the record is small. The mandatory fields are controlling area, cost center, valid from, name, person responsible, cost center category, hierarchy area, company code and profit center. The hierarchy area has to exist in the standard hierarchy before the load, which is a configuration step that is easy to forget on a fresh target. The CREATEMULTIPLE BAPI takes a table of cost centers and returns a return table with one line per record, so a 2,000 row file gives 2,000 results in one call and the failures can be read off directly.
4. Bank master
| ECC | FI01 |
|---|---|
| S/4HANA | FI01, or the Manage Banks app |
| Tables | BNKA |
| Load interface | BAPI_BANK_CREATE |
| S/4HANA change | None to the master; house banks and bank accounts moved to the Manage Bank Accounts app and are not the same object |
| Template | SAP Bank Master Upload Template (FI01) |
Bank master data in SAP is the directory of banks by country and bank key, and it has to exist before any customer or vendor with bank details can be created, because the bank details on a Business Partner reference it. It is a small load and an early one. It is also where the first data quality argument of a migration usually happens, because the legacy system has the same bank under four different keys and someone has to decide which one survives.
5. Business partner, with the customer and vendor roles
| ECC | XD01 / FD01 / VD01 customer, XK01 / FK01 / MK01 vendor |
|---|---|
| S/4HANA | BP, one transaction for both, or the Maintain Business Partner app |
| Tables | BUT000 partner, BUT020 addresses, BUT100 roles; plus KNA1 KNB1 KNVV for customer data and LFA1 LFB1 LFM1 for vendor data, still populated through customer vendor integration |
| Load interface | BAPI_BUPA_CREATE_FROM_DATA for the central data, BAPI_BUPA_ROLE_ADD_2 for roles; the customer and vendor extension data goes through the customer vendor integration APIs, which is what the Migration Cockpit objects use |
| S/4HANA change | The largest change to any master object. Customer and vendor master data are roles of a Business Partner, XD01 and XK01 no longer create records, and customer vendor integration has to be active before conversion |
| Template | Customer and vendor objects are in the library through the transactional templates that reference them |
Business partner master data in SAP S/4HANA is where an ECC migration plan most often goes wrong, because the object that existed in ECC does not exist in the same shape in the target. The customer master tables in SAP: the KNA1 table in SAP holds general data, KNB1 company code data and KNVV sales area data. The SAP table for vendor master general data is LFA1, with LFB1 for company code data and LFM1 for purchasing organisation data. In S/4HANA the vendor master t-code and the customer master t-code are the same transaction, BP, and the classic display transactions XD03 and XK03 still open the records read-only. In ECC, customer master data in SAP SD and vendor master data in SAP MM were separate objects with separate transactions and separate number ranges. In S/4HANA there is one Business Partner with a general role, and customer and vendor are additional roles on it, each carrying the company code and sales area or purchasing organisation data that KNB1, KNVV, LFB1 and LFM1 held before. Those tables still exist and are still filled, by customer vendor integration, which is the synchronisation layer between the Business Partner and the classic customer and vendor tables.
The consequence for migration: a customer file and a vendor file from ECC become one Business Partner load with role assignments, and a legacy customer who is also a supplier becomes one partner with two roles rather than two records. That deduplication has to be done before the load, not after, and the number range decision (whether the Business Partner number equals the legacy customer number, the vendor number, or neither) has to be made before the first mock load because it cannot be changed after.
Customer vendor integration in S/4HANA is also a precondition, not an option. A system conversion from ECC will not proceed until every customer and vendor has been synchronised to a Business Partner in the source system, which is why the CVI cockpit work often starts a year before the conversion itself.
6. Material master
| ECC | MM01, mass change MM17 |
|---|---|
| S/4HANA | MM01, or the Manage Product Master Data app; MM17 still exists |
| Tables | MARA general, MAKT descriptions, MARC plant, MARD storage location, MBEW valuation, MVKE sales, MARM units of measure, MLAN tax |
| Load interface | BAPI_MATERIAL_SAVEDATA, one material per call, all views in one call |
| S/4HANA change | Material number can be 40 characters where the extended material number is active; Material Ledger is active by default so valuation data has to be complete; MRP areas replace some plant level MRP settings; product master is the Fiori name |
| Template | SAP Material Master Upload Template (MM01), plus change, extension and mass maintenance templates |
Material master data in SAP MM is the largest master object by field count and usually by record count, and it is the one where the views matter. The material master tables in SAP follow the views: a material master record in SAP is not one record. It is a general record in MARA plus a plant record in MARC for every plant it is used in, a storage location record in MARD, a valuation record in MBEW per valuation area, a sales record in MVKE per sales organisation and distribution channel, and so on. A migration file is therefore several files, or one wide file, and the load has to create the views in an order the system accepts: basic data first, then the organisational level views.
BAPI_MATERIAL_SAVEDATA handles that in one call, with a header structure and a data structure per view, and it is the interface every serious material load uses. The detail that catches most first loads: every data structure has a matching X structure, and a field only counts if its flag in the X structure is set. Send PLANTDATA-DISMM without PLANTDATAX-DISMM set to X and the MRP type is silently ignored. The material master template is laid out so the X flags are set for every populated column, which is the reason it exists.
The S/4HANA specific points are the material number length, the Material Ledger, and MRP areas. Where the extended material number is active, MATNR is 40 characters, and every source field, mapping and downstream interface that assumed 18 has to be checked. The Material Ledger is active for all valuation areas in S/4HANA, which means the valuation view has to be complete and consistent for every material that will carry stock, because the ledger records every valuation change from the first goods movement. And MRP areas are the S/4HANA way of planning below plant level, so a material that was planned by storage location in ECC needs an MRP area assignment rather than the old storage location MRP indicator. Materials with batch management active also need their batch master records (MSC1N, table MCH1), which load after the material and before stock.
7. Asset master
| ECC | AS01, legacy transfer AS91 |
|---|---|
| S/4HANA | AS01, or the Manage Fixed Assets app; legacy transfer AS91 for the master and ABLDT for takeover values |
| Tables | ANLA general, ANLB depreciation areas, ANLZ time dependent assignments, ANLC values |
| Load interface | BAPI_FIXEDASSET_CREATE1 for the master record |
| S/4HANA change | New Asset Accounting is the only Asset Accounting; each depreciation area posts to a ledger; takeover values are posted as documents through ABLDT, not written to ANLC directly |
| Template | SAP Asset Master Upload Template (AS01) |
Asset master data in SAP is two loads that look like one. The asset master table in SAP is ANLA for the general record, with ANLB per depreciation area and ANLZ for the time dependent cost center and location. The master record (asset class, description, cost center, depreciation keys and useful life per area) is a master data load and goes through BAPI_FIXEDASSET_CREATE1. The takeover values (acquisition cost and accumulated depreciation as at the transfer date) are a transactional load, and in S/4HANA they are posted as documents through ABLDT, which creates entries in the universal journal per depreciation area and ledger. Loading the master without the values gives you an asset register with zero balances; loading the values before the master is impossible. The asset master therefore sits after cost centers (an asset carries a cost center) and after G/L accounts (account determination per asset class), and its values load in the transactional phase after the master is complete and reconciled.
New Asset Accounting in S/4HANA also changes what has to be true of the master. Every depreciation area is assigned to a ledger, and the areas have to be consistent with the ledger setup of the company code. An asset class copied from ECC with depreciation areas that do not map to a ledger will not accept a master record.
8. Bill of material
| ECC | CS01 |
|---|---|
| S/4HANA | CS01, or the Maintain Bill of Material app |
| Tables | MAST material to BOM link, STKO header, STPO items |
| Load interface | CSAP_MAT_BOM_CREATE, one BOM per call with an item table |
| S/4HANA change | None to the object; the 40 character material number applies to every component |
| Template | SAP Bill of Material Upload Template (CS01) |
A bill of material references materials, so it loads after them, and it references every component material, so the load fails on the first BOM whose components are not all in the target yet. The practical consequence is that BOMs are loaded in one pass after the last material load, not interleaved. CSAP_MAT_BOM_CREATE takes a header and an item table and creates the BOM with all items in one call, and it is a classical function module with exceptions rather than a BAPI with a return table, so the template's result column reads the exception rather than a message table.
9. Pricing conditions
| ECC | VK11, VK12 change |
|---|---|
| S/4HANA | VK11, or the Manage Prices, Sales app |
| Tables | KONH header, KONP items, and the condition table A tables (A004, A005, A305 and the rest) that hold the key |
| Load interface | BAPI_PRICES_CONDITIONS |
| S/4HANA change | None to the object; condition tables and access sequences are configuration and have to exist first |
| Template | SAP Sales Pricing Conditions Upload Template (VK11) |
Pricing master data in SAP is condition records: a condition type, a key combination defined by a condition table, a validity period and a rate. The key combination is why pricing loads late. A price by customer and material references both, and a price by price list and material references the price list type from the customer master. Nothing loads until customers and materials are in and the condition tables exist in configuration. Pricing is also the object with the highest record count in many SD-heavy migrations, and the one where a validity date error (a record whose valid from is after cutover) produces silent wrong prices rather than load errors.
10. Purchasing info record
| ECC | ME11 |
|---|---|
| S/4HANA | ME11, or the Manage Purchasing Info Records app |
| Tables | EINA general, EINE purchasing organisation |
| Load interface | No released create BAPI. Migration Cockpit object, or LSMW recording where LSMW is still in use |
| S/4HANA change | None to the object; supplier is a Business Partner role |
| Template | Not in the free library, because there is no released BAPI to verify against |
The purchasing info record links a supplier and a material with a price, lead time and order unit, and it is the MM counterpart to the sales condition record. It references the supplier, which is a Business Partner, and the material, so it loads after both. It is one of the two objects in this list without a released creation BAPI, which is why it is a Migration Cockpit object at cutover and, for corrections after go-live, is usually maintained through the app or a recording rather than a BAPI based load.
11. Equipment and functional location
| ECC | IE01 equipment, IL01 functional location |
|---|---|
| S/4HANA | IE01 and IL01, or the Manage Equipment and Manage Functional Locations apps |
| Tables | EQUI equipment, EQKT texts, IFLOT functional location, ILOA location and account assignment |
| Load interface | BAPI_EQUI_CREATE, BAPI_FUNCLOC_CREATE |
| S/4HANA change | None to the objects; both carry a cost center and can carry a maintenance plant and work center |
| Template | SAP Equipment Master Upload Template (IE01), SAP Functional Location Upload Template (IL01) |
Master data in SAP PM is a hierarchy, and the equipment master tables in SAP (EQUI, EQKT, ILOA) reflect it: functional locations describe where things are, equipment describes what is installed there, and both carry a cost center for maintenance cost settlement. Functional locations load first because equipment references them. Both reference cost centers, and equipment that was a material (serialised stock) references the material master and the serial number profile. Maintenance plans, task lists and measuring points sit on top and are usually loaded in a second phase or rebuilt.
What changes for master data in S/4HANA
Most master data objects migrate from ECC to S/4HANA with the same structure, the same tables and the same BAPIs. Five things changed, and they account for nearly all of the master data rework in a conversion.
Business Partner and customer vendor integration
Customer and vendor master data are roles of a single Business Partner in S/4HANA. The classic transactions no longer create records, the classic tables are filled by customer vendor integration rather than directly, and CVI has to be complete in the source system before a conversion can start. For a new implementation, the customer and vendor files become one Business Partner load. For a conversion, the CVI synchronisation is a project in its own right. Either way, the number range decision and the deduplication of partners who are both customer and supplier happen before the first load. The Business Partner automation page covers the load itself.
Extended material number
Where the extended material number is active, MATNR is 40 characters rather than 18. Activation is a business decision at the start of a project, and it is not reversible. Every source field, every mapping, every interface and every custom program that assumed 18 characters has to be checked. Where it is not active, nothing changes, and most conversions leave it off.
New Asset Accounting
New Asset Accounting is the only Asset Accounting in S/4HANA. Every depreciation area posts to a ledger, and takeover values are posted as documents rather than written into value tables. The asset master load is unchanged; the value load moves from AS91 alone to AS91 for the master plus ABLDT for the values, and the asset classes and depreciation areas have to be consistent with the ledger setup before either will accept a record.
Material Ledger
The Material Ledger is active in S/4HANA for all valuation areas. Actual costing remains optional, but the ledger itself is not. For migration this means the valuation view of every material carrying stock has to be complete and consistent before the first goods movement, and the initial stock load has to be done through a valued goods movement rather than a direct table load, so the ledger starts with a correct record.
Fiori apps for maintenance
Most master objects have a Fiori app alongside the GUI transaction: Manage G/L Account Master Data, Manage Cost Centers, Manage Product Master Data, Maintain Business Partner, Manage Fixed Assets. The GUI transactions still exist for all of the objects above. The change matters for anyone whose load method depended on recording GUI screens: a batch input recording of a transaction that has moved to an app has nothing to replay against. Loads that post through BAPIs are not affected, because a BAPI has no screens.
Which tool loads which object
Three tools appear in every S/4HANA master data migration, and they were designed for different points in the project. Choosing between them is mostly a question of when the load is happening and who is running it.
The SAP S/4HANA Migration Cockpit is SAP's tool for the initial load into a new S/4HANA system. It ships with a predefined migration object for every master object in this guide, including the two without a released BAPI (G/L account and purchasing info record), takes data from staging tables or from a connected source system, and validates and simulates before it posts. It is the right tool for the cutover load and SAP designed it for exactly that. The full guide to the Migration Cockpit covers its objects, staging tables and sequencing.
LSMW is the tool ECC teams know, and it still opens in S/4HANA on-premise. SAP classes it as restricted use, it receives no new development, and it is absent from the public cloud. Objects built on the BAPI method keep working; objects built on recordings of XD01, XK01 or any transaction that changed in S/4HANA do not. The LSMW guide has the full status and the list of what breaks.
Excel based loading through standard BAPIs is the third tool, and it covers the loads the other two were not designed for: corrections during mock loads, the master data that arrives after cutover, and every mass create and mass change that follows in normal operation. That is what PostNow does. A finance or master data user opens the sheet they already have, PostNow validates every row against the live S/4HANA system, and posts through the same BAPIs listed in the object sections above, under the user's own SAP login and authorisations. Nothing is recorded, so there are no screens to break, and nothing is transported, so there is no development request.
What those loads look like after go-live, from hypercare corrections to month end journals, has its own guide.
| Migration Cockpit | LSMW | PostNow | |
|---|---|---|---|
| Designed for | Initial load into a new S/4HANA system | R/3 and ECC cutover | Corrections, post go-live loads, mass changes |
| Runs on | S/4HANA, all editions | ECC, S/4HANA on-premise | ECC and S/4HANA |
| Objects | Predefined migration objects, all 11 above | Recording, standard program, BAPI or IDoc, built per object | Standard BAPIs, 24 master data templates |
| Who runs it | Project team | Project team | Finance or master data user, from Excel |
| Validation | At simulation | At session run | Every row against the live system, before anything posts |
The migration process, object by object
The same six steps apply to every object, and the reason to run them per object rather than for the whole data set is that each object has a different owner, a different cleansing problem and a different dependency. The field mapping tracker and the data readiness checklist are built around these steps.
Extract and profile
Pull the object from the legacy system with every field, not the fields you think you need, and profile it: record counts by organisational unit, fill rate per field, distinct values for every coded field. The profile is what tells you that 40 percent of vendors have no payment terms, or that three plants use a material type that does not exist in the target. It takes a day per object and saves a week.
Cleanse
Fix what the profile found, in the source or in a staging copy, before mapping. Cleansing after mapping means cleansing twice. The two decisions that belong here and not later are deduplication (which of four bank keys survives, which customer and vendor records are the same partner) and scope (which of 60,000 materials are still used and which are archived on the way past).
Map to the target structure
Every source field to a target field, structure and value rule. This is where the BAPI structures in the object sections above become the specification: the target for a material MRP type is PLANTDATA-DISMM with PLANTDATAX-DISMM set, not "MRP type". Value mappings (legacy material type to SAP material type, legacy payment term to SAP payment term) are kept in tables, one per field, owned by the functional lead for that object. The templates carry the target structure and field for every column so this step starts from a filled sheet rather than a blank one.
Validate against the live target
Before any load, every row is checked against the target system's configuration and existing master data: does the profit center exist, is the valuation class valid for the material type, is the reconciliation account a G/L account of the right type. This is different from checking the file's format. A file can be perfectly formed and 30 percent unloadable because the configuration it references is not there yet. Validation against the live target is the step that separates a mock load that teaches you something from one that produces 12,000 error lines.
Mock load and reconcile
Load the object into the target, then reconcile: record count by organisational unit against the cleansed source, and field by field for a sample and for every field the business flagged as critical. Log every failure with its message. Fix the mapping, the cleansing or the configuration, and load again. Three mock loads is normal for the large objects; the last one should be a rehearsal of cutover timing as well as content.
Cutover load
The final load, in dependency order, against the production target, with the reconciliation from the last mock load as the acceptance criterion. Each object is signed off by its owner before the next gate opens. The run log from the load, with one line per record and a result for each, is the migration evidence and is kept.
Validation and reconciliation
A master data load is proven in three ways, and a migration sign-off needs all three.
Counts. Records loaded per object, per company code, per plant, per sales area, against the cleansed source. The counts have to match exactly, and the reconciliation has to explain every record that was in scope and did not load.
Fields. For every object, a defined list of critical fields compared value by value between source and target: reconciliation account and payment terms on partners, material type, valuation class and MRP type on materials, depreciation key and useful life on assets, rate and validity on conditions. A sample is acceptable for descriptive fields. Critical fields are compared in full.
The run log. Every row that was loaded, with the key it was given in the target, the result, and the message where the result was not success. A load that cannot produce that log has not been validated; it has been assumed. This is the artefact that an auditor asks for after go-live and the one that lets you answer "was this vendor migrated or created afterwards" a year later.
PostNow produces that log for every load, in the sheet the load came from, with the SAP result beside every row. It is the same log during mock loads, at cutover if PostNow is used for corrections, and for every load after go-live, so the evidence trail does not change format when the project team hands over.
Free templates for every master object
The 24 master data templates cover the objects above that have a released BAPI, plus cost elements, activity types, internal orders, WBS elements, batches, characteristics, classifications and HR infotypes. Every template names the BAPI, the structure and the field for every column, carries the mandatory fields the BAPI enforces, and is verified against the SAP data dictionary.
Load a single object
- XK01 SAP Vendor Master Automation
- MM01 SAP Material Master Automation
- XD01 SAP Customer Master Automation
- BP SAP Business Partner Automation
- FS00 SAP G/L Account Master Automation
- KS01 SAP Cost Center Automation
- KE51 SAP Profit Center Automation
- AS01 SAP Asset Master Automation
- CS01 SAP Bill of Material Automation
- VK11 SAP Pricing Conditions Automation
Frequently asked questions
What is master data in SAP?
Master data in SAP is the set of records that transactions reference rather than create: customers, vendors, materials, G/L accounts, cost centers, profit centers, assets, banks, bills of material and pricing conditions. A sales order is transactional data; the customer and material on it are master data, and both have to exist before the order can be entered. Master data is created once and changed rarely, which is why it is migrated first and separately.
What are the types of master data in SAP?
The master data types in SAP, by module: FI holds G/L accounts, banks and the financial views of customers, vendors and assets; CO holds cost centers, profit centers, cost elements, activity types and internal orders; MM holds materials, suppliers, purchasing info records and batches; SD holds customers, material sales views and pricing conditions; PP holds BOMs, work centers and routings; PM holds functional locations and equipment. In S/4HANA customers and vendors are roles of one Business Partner.
Which master data objects are migrated first?
G/L accounts first, then profit centers, cost centers and bank master, then Business Partners with their customer and vendor roles, then materials, assets, bills of material, pricing conditions, purchasing info records, and finally functional locations and equipment. The order is the dependency order: each object references the ones before it, and the target system rejects a record whose references do not exist yet.
How do you migrate SAP master data to S/4HANA?
Object by object, in dependency order, through six steps: extract and profile the legacy data, cleanse it, map every field to the target BAPI structure, validate every row against the live target system, run mock loads and reconcile counts and critical fields, then perform the cutover load with the same reconciliation as the acceptance test. The Migration Cockpit is SAP's tool for the initial load; corrections and everything after go-live are usually loaded from Excel through the same BAPIs.
What is the t-code for vendor master in SAP S/4HANA?
BP. In S/4HANA a vendor is a Business Partner with the supplier role, maintained in transaction BP or the Maintain Business Partner app. The ECC transactions XK01, FK01 and MK01 no longer create vendor records. The classic tables LFA1, LFB1 and LFM1 still exist and are filled by customer vendor integration.
What is the t-code for customer master in SAP S/4HANA?
BP. A customer in S/4HANA is a Business Partner with the customer role, maintained in transaction BP or the Maintain Business Partner app. XD01, FD01 and VD01 no longer create customer records. KNA1, KNB1 and KNVV still exist and are filled by customer vendor integration.
Which tables hold the material master in SAP?
MARA for general data, MAKT for descriptions, MARC for plant data, MARD for storage location data, MBEW for valuation, MVKE for sales data, MARM for units of measure and MLAN for tax classification. A material is one MARA record plus one MARC record per plant, one MBEW per valuation area and one MVKE per sales organisation and distribution channel, which is why a material load creates several records per material.
Do customers and vendors migrate as Business Partners in S/4HANA?
Yes. In S/4HANA every customer and every vendor is a Business Partner with the customer or supplier role, so a customer file and a vendor file from ECC become one Business Partner load with role assignments. A legacy customer who is also a supplier becomes one partner with two roles. For a system conversion, customer vendor integration has to be complete in the ECC source before the conversion can run.
Does LSMW still work for master data in S/4HANA?
Yes for objects built on the BAPI method, and generally not for objects built on recordings of transactions that changed. LSMW is present in S/4HANA on-premise as restricted use, receives no new development, and is not in the public cloud. A recording of XD01 or XK01 has nothing to replay against, because those transactions no longer create records. The LSMW guide covers what still works and what does not.
How do you validate master data after migration?
Three ways, all required: record counts per object and per organisational unit against the cleansed source, a field by field comparison of the critical fields for every record, and a run log with one line per loaded record showing the target key, the result and any message. Counts prove completeness, the field comparison proves correctness, and the log is the evidence that survives the project.
How do you correct master data after go-live?
From Excel, through the same standard BAPIs the migration used, with every row validated against the live system before it posts. Corrections after go-live land with finance and master data users rather than the project team, and the migration tooling is usually gone by then. PostNow is built for that case: the user loads the sheet, PostNow validates each row against the live SAP system and posts through BAPI_MATERIAL_SAVEDATA, BAPI_COSTCENTER_CHANGEMULTIPLE and the other interfaces above, under the user's own SAP login, with a result beside every row.
Can I load master data into SAP from Excel?
Yes, for every object that has a released BAPI, which is most of them. PostNow does this from inside Excel: the sheet is validated row by row against the live SAP system, then posted through the object's BAPI, and the SAP result is written back next to each row. The free master data templates name the BAPI, structure and field for every column, so the mapping is already done.
Now get it into SAP
Every row checked against your live SAP system before anything posts, under your own SAP login.