SAP ECC MM and SD Tables Replaced in S/4HANA
This reference lists the SAP ECC 6.0 logistics tables that were removed, merged or turned into calculated compatibility views in SAP S/4HANA, with the successor object and the effect on custom ABAP. It covers MM inventory, SD, credit, rebates and the MRP planning file; finance tables are on a separate page.
| ECC table | ECC purpose | S/4HANA successor | Compatibility view | Impact on custom code | Simplification item / note |
|---|---|---|---|---|---|
MKPF | Material document header | MATDOC (header fields are columns of each MATDOC line) | NSDM_V_MKPF | SELECT still works through the redirect view; INSERT/UPDATE/DELETE on MKPF is not supported. Read MATDOC directly in new code. | Inventory Management data model, SAP Note 2206980 |
MSEG | Material document item | MATDOC | NSDM_V_MSEG | Reads are redirected; heavy MSEG selects without key fields get slower, not faster, through the view. Rewrite hot paths against MATDOC or released CDS views. | SAP Note 2206980 |
MARD | Storage location data incl. stock quantities | Master data stays in MARD; stock quantities calculated on the fly from MATDOC | NSDM_V_MARD | Stock fields (LABST, INSME, SPEME ...) are computed at read time. Do not write stock fields; select only the columns you need. | SAP Note 2206980 |
MCHB | Batch stocks | Quantities calculated from MATDOC | NSDM_V_MCHB | Same rule as MARD: read-only stock fields, avoid SELECT *. | SAP Note 2206980 |
MKOL | Special stocks from vendor (consignment) | Quantities calculated from MATDOC | NSDM_V_MKOL | Reads redirected; direct updates not supported. | SAP Note 2206980 |
MSLB | Special stocks with vendor (subcontracting) | Quantities calculated from MATDOC | NSDM_V_MSLB | Reads redirected; direct updates not supported. | SAP Note 2206980 |
MSKA | Sales order stock | Quantities calculated from MATDOC | NSDM_V_MSKA | Reads redirected; MTO stock reports with large WHERE ranges need a performance test. | SAP Note 2206980 |
MSPR | Project stock | Quantities calculated from MATDOC | NSDM_V_MSPR | Reads redirected; direct updates not supported. | SAP Note 2206980 |
MSKU | Special stocks with customer (consignment at customer) | Quantities calculated from MATDOC | NSDM_V_MSKU | Reads redirected; direct updates not supported. | SAP Note 2206980 |
MARC (stock fields) | Plant data, including plant-level stock fields | Plant master data stays in MARC; stock-type fields calculated from MATDOC | NSDM_V_MARC | Master data reads are unaffected; any code that reads or writes MARC stock fields goes through the calculated view. | SAP Note 2206980 |
MARDH, MCHBH, MKOLH, MSLBH, MSKAH, MSPRH, MSKUH, MARCH | Stock history (previous period) tables | Period stock derived from MATDOC | Redirect view per table; check the proxy object shown in SE11 | Period-end stock reports still run but the H tables are no longer filled the ECC way. Retest any Z period-stock report. | SAP Note 2206980 |
MBEW (quantity and value fields) | Material valuation | Valuation in the Universal Journal (ACDOCA) and material ledger tables | MBV_MBEW | Material ledger is mandatory in S/4HANA. Code that reads MBEW-LBKUM/SALK3 gets values from the view; writing them is not supported. | Material valuation / material ledger simplification |
VBUK | SD document header status | Status fields moved into the header tables VBAK, LIKP and VBRK | None to rely on; read the header table | Replace SELECT FROM VBUK with the status fields of the matching header table. A join VBAK-VBUK must become a single VBAK read. | SD data model, SAP Note 2198647 |
VBUP | SD document item status | Status fields moved into the item tables VBAP and LIPS | None to rely on; read the item table | Replace VBUP reads with the status fields of VBAP or LIPS. Check every Z report filtering on GBSTA, LFSTA, FKSTA. | SAP Note 2198647 |
KONV | Pricing conditions of SD documents (transaction data) | PRCD_ELEMENTS | V_KONV (read view) | KONV is no longer filled. Change SELECT FROM KONV to PRCD_ELEMENTS or the view; in ECC KONV was stored in table cluster KOCLU, PRCD_ELEMENTS is a transparent table. | Pricing data model, SAP Note 2220005 |
VAKPA, VAPMA | SD index: sales documents by partner / by material | Not used; HANA reads VBAK/VBAP/VBPA directly | None | Z code that reads these indexes returns nothing. Replace with joins on VBAK, VBAP and VBPA. | SD data model, elimination of document index tables, SAP Note 2198647 |
VLKPA, VLPMA | SD index: deliveries by partner / by material | Not used; read LIKP/LIPS/VBPA | None | Replace with delivery table joins. | Elimination of document index tables |
VRKPA, VRPMA | SD index: billing documents by partner / by material | Not used; read VBRK/VBRP/VBPA | None | Replace with billing table joins. | Elimination of document index tables |
VBOX | Rebate index for SD rebate processing | Settlement Management with condition contracts | None | Classic SD rebate (VBO1, VBOF) is replaced; Z rebate reports must be redesigned on condition contracts. | SAP Note 2200691 |
S066, S067 | LIS info structures for SD credit (open orders, open deliveries) | SAP Credit Management (FIN-FSCM-CR) credit exposure | None | Credit exposure reports on S066/S067 must move to Credit Management. | Credit Management simplification, SAP Note 2270544 |
KNKK, KNKA | Customer credit limit per control area / central | UKMBP_CMS_SGM (credit segment data) and UKMBP_CMS (BP credit profile) | None | FI-AR credit management (FD32) is replaced by BP-based credit management (UKM_BP). Credit checks and Z exits need redesign. | SAP Note 2270544 |
KNA1, LFA1 (maintenance) | Customer and vendor master | Tables stay; maintenance only through Business Partner (BUT000) with CVI links CVI_CUST_LINK and CVI_VEND_LINK | Not needed, tables still exist | Reads keep working. XD01/XK01-style BDC and direct table updates must move to BP (transaction BP, BP APIs). | Business Partner approach |
MATNR (all tables) | Material number field, 18 characters | Field length extended to 40 characters | n/a | Fixed-length structures, file layouts, concatenations and offset access (lv_matnr+0(18)) break. Run the field length extension checks in ATC. | Material number field length extension |
LQUA, LAGP, LTAK, LTAP | Warehouse Management quants, storage bins, transfer orders | Tables still exist; LE-WM is in the compatibility scope, EWM is the strategic successor | n/a | Code keeps working while WM is used under compatibility scope rights; plan the move to embedded or decentralised EWM. | Compatibility scope (LE-WM) |
MDVM, DBVM | MRP planning file entries | PPH_DBVM | None | Z code that creates or reads planning file entries in MDVM/DBVM must use PPH_DBVM. MRP Live (MD01N) reads the new planning file. | MRP simplification |
Scope: MM inventory, SD, credit, rebates and the PP planning file. Finance tables (BSEG, BSIS, COEP, FAGLFLEXT and others) are in the companion FI-CO reference. Check every mapping against the Simplification List for your target release and run the ATC S/4HANA readiness checks on your own code.
Get your Z code checked against this list
Send us an ATC or SCI result export and we map each finding to the table changes above with a suggested fix.
Optional. The tool and every export work without this. No spam.
How to use it
Search the table name your custom code reads or writes, for example MSEG, VBUK or KONV. The row tells you whether the table still exists physically, whether a redirect view serves old SELECT statements, and what has to change. Export to Excel and add a column for each Z object found by a where-used list or the ATC check run, so the conversion team has one remediation list.
- Reads usually survive through compatibility views; writes usually do not.
- Tables marked None return no data in S/4HANA: the code compiles but gives empty results.
- Export the list and match it against the custom code worklist from the Custom Code Migration app or ATC.
Where this lives in the system
In S/4HANA, open SE11 on MARD or MSEG and you will see a proxy object (the NSDM_V_* view). Any Open SQL SELECT on the table name is redirected to that view, which aggregates MATDOC. MATDOC is the single material document table: one line per item with the header fields repeated, which is why MKPF and MSEG no longer exist as separate stores. In SD, the status fields from VBUK and VBUP are now columns in VBAK, LIKP, VBRK, VBAP and LIPS, and pricing results moved from KONV to PRCD_ELEMENTS.
Worked example: a stock report
A Z report joins MARD and MCHB with SELECT * to show unrestricted and quality stock per batch. After conversion it still runs, because both names are redirected to calculated views, but every row now triggers an aggregation over MATDOC. With SELECT * the view computes every stock column, so the report can become slower than on ECC. The fix is to select only LABST and INSME, or to move to the released stock CDS views. A second Z report that UPDATEs MARD-LABST directly must be removed: stock changes only through goods movements.
Version differences and gotchas
The data model changes in this list apply from the first S/4HANA release (1511) onward, so the exact release mostly matters for compatibility scope items such as LE-WM. Watch for field length changes: MATNR is 40 characters and amount fields were extended, so offset access, fixed-length interface files and structures that mirror old lengths break silently. SELECT * into a structure typed on an ECC copy of a table is a common failure. Treat note numbers here as starting points and read the current version of each note in the support portal.
Frequently Asked Questions
What replaced MSEG and MKPF in S/4HANA?
Both are replaced by MATDOC, a single table that holds header and item data of every material document. SELECT statements on MSEG and MKPF are redirected to the compatibility views NSDM_V_MSEG and NSDM_V_MKPF, so old reads keep working. Writes are not supported, and performance-critical reports should read MATDOC or released CDS views directly. The change is described in SAP Note 2206980.
Do VBUK and VBUP still exist in S/4HANA?
No. The status fields were moved into the document tables: header status into VBAK, LIKP and VBRK, item status into VBAP and LIPS. Code that selects from VBUK or VBUP must be rewritten to read the status fields from those tables. This is part of the SD data model simplification in SAP Note 2198647.
Where are SD pricing conditions stored in S/4HANA?
In PRCD_ELEMENTS. KONV is no longer filled for new documents. Replace SELECT FROM KONV with PRCD_ELEMENTS (same key idea: KNUMV plus condition counter) or the read view V_KONV. Because PRCD_ELEMENTS is a transparent table, joins that were impossible on KONV in ECC are now possible.
Are SAP PP tables changed in S/4HANA?
Most PP order tables such as AFKO, AFPO, AFVC and RESB keep their structure. The notable table change is the MRP planning file: MDVM and DBVM are replaced by PPH_DBVM, used by MRP Live. Material numbers of 40 characters and stock read from MATDOC also affect PP custom code. Check the production order join generator for current table relationships.
If you want your team to ask questions about MATDOC stock, SD status or pricing in plain English on your own S/4HANA or ECC system, we can set that up on your servers.
Related Tools
SAP S/4HANA Replaced FI and CO Tables Reference
Maps classic ECC finance and controlling tables to what replaced them in S/4HANA, with a clear explanation of cost elements as G/L accounts.
SAPSAP S/4HANA Key Simplifications Reference
A searchable reference of the biggest ECC to S/4HANA data model and functional changes, with the action each one usually forces.
SAPSAP ECC Obsolete Transactions and S/4HANA Replacements
A lookup table of common ECC transaction codes and the transaction or app that replaces them in S/4HANA, for training and role design.
SAPSAP S/4HANA Pre-Conversion Technical Checklist
A checklist of the technical preparation items to close before running SUM on a system conversion from ECC to S/4HANA.
SAPSAP S/4HANA Production Order Tables and Join SQL Generator
Get the production order tables for S/4HANA and generate the join SQL for order headers, operations and components.
More SAP tools
See all- SAP ECC Private AI Layer Blueprint Generator
- SAP ECC AI Assistant Sizing and Value Calculator
- SAP ECC SD User Exit Forms Reference (MV45AFZZ, RV60AFZZ, MV50AFZ1)
- SAP ECC Customer Exits (SMOD Enhancements) by Module Reference
- SAP ECC Classic BAdI Definitions Reference (MIGO, ME21N, MIRO, Deliveries, PM Orders)
- SAP ECC Background Job Tables Reference (TBTCO, TBTCP, Job Status Codes)
- SAP ECC Output Determination Tables and Codes Reference (NAST, TNAPR, NACE)
- SAP ECC Movement Type Configuration Tables Reference (T156, T156T, T157D)
- SAP ECC Stock Type and Location Transfer Movement Type Matrix
Keep exploring
Free tools
- SAP S/4HANA Replaced FI and CO Tables ReferenceMaps classic ECC finance and controlling tables to what replaced them in S/4HANA, with a clear explanation of cost elements as G/L accounts.
- SAP MM Tables and Key Fields ReferenceSearchable list of the core SAP MM tables with their primary key fields and what each stores, including S/4HANA changes.
- SAP Credit Management ChecklistA checklist for setting up and reviewing SAP credit management in SD, from credit control area to blocked-order release.
ERP fixes and how-tos
- How to create a material in SAP MM (MM01) and mass-change it with MM17Create a material master with MM01: material type, views, plant and valuation data, then mass-change fields with MM17. Notes for ECC and S/4HANA.
- SAP MM Return to Vendor Process: Return PO, MIGO 161 and Credit MemoReturn goods to a vendor in SAP MM: return PO, MIGO movement 161 or 122, credit memo in MIRO, and how to handle scrap, rework and replacement shipments.
- How to add AI to SAP ECC 6.0 on-prem without moving data to a cloudReference architecture for a private on-prem AI assistant on SAP ECC 6.0: RFC and BAPI reads, SLT replica, retrieval index, local LLM, permission mirroring.
AI on your ERP
- Get AI Value From SAP ECC Now, and Use It to De-Risk the Move to S/4HANASAP ECC 6.0 mainstream maintenance ends in 2027. Add AI value on ECC now, using its existing BAPIs and IDocs, and use it to de-risk the S/4HANA migration.
- AI for SAP S/4HANA Sales and Distribution (SD) That Explains Orders, Pricing and BlocksAI for SAP S/4HANA SD: order status, delivery and billing blocks, pricing explanations and credit holds in plain English. Read-only, on-prem option.
Integrations
- How to use ChatGPT with SAP ECC 6.0Using ChatGPT with SAP ECC 6.0: custom GPT actions, exports versus live access, an OData or MCP bridge, enterprise data controls, and when a private model is safer.
- How to connect Power BI to SAP ECC 6.0Connect Power BI to SAP ECC 6.0: SAP ERP connector, BW and warehouse options, on-prem data gateway, key manufacturing dashboards, and adding natural-language Q&A.