GitHub

Material Ledger Cutover: SAP ECC to S/4HANA — Part 2: Greenfield New Implementation


A greenfield S/4HANA implementation starts with an empty system. No existing SAP ERP system is converted in-place. Configuration is built from scratch, master data is extracted from legacy ECC and loaded via structured migration tools, and historical transactional data is not carried forward. The ECC system remains live as a legacy archive post go-live.

This whitepaper covers every dimension of Material Ledger cutover in that context: what must be configured before the first data load, how the ten-step load sequence is enforced, what breaks if it is violated, and how to reconcile opening balances without the brownfield FINS_MIG_STATUS safety net.

The central tooling reference is SAP Note 2239701, which delivers the SAP Rapid Data Migration (RDM) package for S/4HANA On-Premise — 52 predefined migration objects, ATL job files, IDoc mapping templates, lookup files, and WebI reconciliation reports, all running on SAP Data Services 4.3. SAP Note 2345739 remains relevant for ML Customizing prerequisites applicable regardless of migration approach; the sections specific to FINS_MIG_STATUS M10/M11/M20/M21 execution do not apply in greenfield.

Five facts govern everything that follows. First, FINS_MIG_STATUS M10, M11, M20, and M21 do not run in greenfield — opening balances are created exclusively via RDM inventory balance jobs and FI open item loads. Second, ML Customizing — currency types, price determination, split valuation configuration, COGS Split — must be frozen before the first data load; retroactive changes require full reloads. Third, standard cost estimates must be released before inventory is loaded for any standard-price material; violating this sequence values opening stock at zero. Fourth, secondary cost elements do not exist in S/4HANA; every ECC secondary CE must be mapped to a primary G/L account before CO master data is loaded. Fifth, COGS Split must be active before the first goods issue; documents posted before activation have no cost component breakdown and cannot be retroactively split.

The document is structured as a complete execution reference: architecture, configuration, load sequence, field-level loading rules, reconciliation framework, risk register, six-phase playbook, and post-migration governance. Part 1 of this series covers brownfield system conversion; Part 3 covers bluefield and Selective Data Transition.


A greenfield S/4HANA implementation installs a new, empty S/4HANA system. The source ECC system continues running in parallel until go-live. Data migration occurs via structured ETL from ECC extracts into the new S/4HANA system. The data model in the target is S/4HANA-native from day one — Universal Journal (ACDOCA) stores all FI and ML postings, and there is no legacy table structure to migrate.

Three technical consequences follow directly from this:

No BSTAT = C carryforward records. In brownfield, M10 writes opening balance carryforward records to ACDOCA. In greenfield, opening balances are loaded as direct postings via movement type 561 (and variants) through Job_DM_InventoryBalance. ACDOCA receives standard goods movement documents, not migration-stamped carryforward records.

No CKMLHD/CKMLPR pre-population via M10. ML master data records in the new system are created when the material master is loaded and ML is activated for the valuation area. ML period records are populated when inventory is first posted.

All Customizing must be built from scratch. There is no Customizing migration wizard. Every OMXW currency type assignment, OMX1 price determination setting, OMWC split valuation configuration, and cost component structure must be manually configured and verified before the first data load begins.

This whitepaper covers Materials Management (MM) inventory valuation, the Material Ledger (ML) as mandated in S/4HANA from release 1511 onward, and Product Costing (CO-PC) — including standard costing, actual costing, COGS Split, mixed costing, and WIP. FI open items are in scope insofar as they interact with ML opening balances.

PartScenarioPrimary ToolFINS_MIG_STATUS
Part 1Brownfield system conversionFINS_MIG_STATUS M10/M11/M20/M21Runs
Part 2 (this document)Greenfield new implementationRDM — SAP Data Services 4.3Does not run
Part 3Bluefield / Selective Data TransitionRDM + FINS_MIG_STATUS + third-party SDT toolsPartial

SAP Note 2239701 is the primary tooling reference for greenfield — it delivers the RDM package on SAP Data Services 4.3 with 52 predefined migration objects, ATL job files, IDoc mapping templates, and WebI reconciliation reports.

SAP Note 2345739 remains relevant in greenfield for ML Customizing prerequisites — specifically those governing OMXW currency type configuration, valuation area assignment, and ML type assignment. Notes specific to FINS_MIG_STATUS M10/M11 execution, NZDT/DOC conversion, and M10 memory management do not apply.


Section 1 — Greenfield Migration Overview

Section titled “Section 1 — Greenfield Migration Overview”

SAP Note 2239701 delivers the SAP Rapid Data Migration package for S/4HANA On-Premise, built on SAP Data Services 4.3. The package is downloaded from SAP Software Download Center as RDMS4HOP08_0-80001221.ZIP.

ComponentDescription
ATL files (*.atl)Data Services job definitions — one per migration object
IDoc mapping templatesMS Excel templates mapping source fields to IDoc segments
Lookup filesLegacy-to-S/4HANA value mapping tables
Migration Services ToolWeb-based tool for managing value mappings and lookup files
SAP Information StewardData quality profiling for ECC source extracts
WebI reporting content (*.lcmbiar)Reconciliation and data quality reports on SAP BusinessObjects BI platform
IDoc Status Check GuideMonitoring framework for IDoc processing
Reconciliation GuidePost-load verification procedures

The S/4HANA Migration Cockpit (transaction LTMC) provides an alternative migration path for certain objects using file-based migration templates. It is appropriate for simpler objects — cost center groups, profit center groups — where the RDM IDoc approach is heavier than necessary. For ML-critical objects — material master, inventory balances, production orders — RDM with Data Services 4.3 is the primary tool.

SAP Note 2287723 (referenced in Note 2239701) confirms that LSMW is deprecated in S/4HANA On-Premise. All legacy LSMW scripts must be replaced by RDM Data Services jobs or Migration Cockpit templates. No exceptions.


Section 2 — ML-Critical Material Attributes for Greenfield

Section titled “Section 2 — ML-Critical Material Attributes for Greenfield”

2.1 Field-Level Table with Greenfield-Specific Loading Rules

Section titled “2.1 Field-Level Table with Greenfield-Specific Loading Rules”
MBEW FieldDescriptionGreenfield Loading RuleML ImpactConsequence If Wrong
BKLASValuation classMap from ECC rationalization table; set in material master before inventory loadDrives G/L account determination for all ML postingsWrong G/L from day one — audit finding, manual reposting required
VPRSVPrice control (S or V)Set in material master via IDoc; must match OMX1 price determination designControls whether STPRS or VERPR is used for inventory valuationMismatch causes wrong inventory value in ACDOCA
STPRSStandard priceDo NOT load directly — load via released cost estimate (CK11N/CK40N) onlyCost estimate release populates STPRS; direct load bypasses ML document chainInventory valued at zero or wrong price; no ML price document
VERPRMoving average priceLoad explicitly in material master via IDocInitial MAP seeded into MLIf not loaded, system defaults to zero — all opening inventory valued at zero
MLASTML activation statusSet automatically when ML Customizing active for valuation areaConfirms ML is active for the material/plant combinationIf ML not active, inventory postings do not write ML currency fields
PEINHPrice unitLoad matching ECC value; included in IDoc mapping templateAffects per-unit valuation in ACDOCAWrong price unit causes systematic valuation errors across all stock
BWTTYValuation categorySet for split valuation materials; header record must be loaded before type recordsActivates split valuation; controls KZVKZ field in MLIf missing, system treats as non-split — all stock goes to single bucket
SOBKZSpecial stock indicatorSet per special stock type (E, Q, W); drives movement type selectionControls which ACDOCA account assignment is usedWrong SOBKZ → stock posted to wrong cost object or customer/project

Cost estimate must be released via CK11N or CK40N before the inventory balance job runs. The release populates MBEW-STPRS via a standard ML price change document. If Job_DM_InventoryBalance runs before the cost estimate is released, S/4HANA has no standard price to value the opening stock against — the system either rejects the posting or values at zero. Retrospective correction requires reversing all inventory postings, releasing the cost estimate, and reloading — not feasible after go-live.

VERPR must be loaded explicitly in the material master IDoc. It is not derived from any calculation in greenfield. The source value is the closing MAP from ECC MBEW-VERPR at the period used as the cutover reference period. Reconcile the loaded MAP against the ECC extract to confirm agreement per plant/material.

Load sequence is strictly enforced:

  1. Header material master record (valuation category BWTTY set, no individual valuation type)
  2. Individual valuation type records (one MBEW record per valuation type, each with its own VPRSV, STPRS/VERPR, BKLAS)
  3. Inventory balance per valuation type (separate 561 posting per type via Job_DM_InventoryBalance)

If the header record is not loaded first, valuation type records are rejected. If inventory is loaded before valuation type records exist, stock is posted without a valid ML valuation header.

Procurement alternative configuration (transaction CK91N) must be complete before running CK11N/CK40N. The cost estimate for a mixed-costing material requires all procurement alternatives to have valid cost estimates and weighting factors defined. In greenfield, this configuration is built from scratch — carry over the ECC procurement alternative structure or rationalize it during design.

Greenfield is the only opportunity to consolidate ECC legacy valuation classes without a migration-in-flight risk. Common rationalization patterns: consolidate multiple raw material classes into a single class per G/L account assignment; eliminate obsolete classes no longer aligned to the chart of accounts; align valuation classes to the new S/4HANA cost component structure for accurate COGS Split. Document the full mapping: ECC BKLAS → S/4HANA BKLAS → S/4HANA G/L account. This mapping drives the account determination table (OBYC).

For split valuation materials, valuation type records must be created in the material master even if the opening stock quantity is zero. The ML requires the CKMLHD/CKMLPR structure to exist for the valuation type before any future goods movement can post against it. Load the material master record for each zero-stock valuation type; do not load an inventory balance record.


Section 3 — Greenfield Configuration: Building ML From Scratch

Section titled “Section 3 — Greenfield Configuration: Building ML From Scratch”

3.1 OMXW — ML Type and Currency Type Configuration

Section titled “3.1 OMXW — ML Type and Currency Type Configuration”

Transaction OMXW assigns ML types to valuation areas and defines which currency types are active. This must be complete and frozen before the first material master or inventory load.

Currency TypeDescriptionGreenfield Requirement
10Company code currency (local currency)Always required
30Group currencyRequired if group valuation is in scope
31Profit center valuation currencyRequired if profit center valuation is in scope
32Hard currency / index-based currencyRequired for high-inflation country deployments

All currency types that will be used in production must be configured before the first data load. Currency types cannot be added to ML documents retrospectively — adding a currency type after inventory has been posted requires a full reload of all affected materials.

3.2 OMX1 — Price Determination Per Valuation Area

Section titled “3.2 OMX1 — Price Determination Per Valuation Area”
Price Determination SettingMeaningUse When
2 (Transaction-based)Inventory valued at moving average; ML records variances but does not determine periodic priceRaw materials, purchased parts valued at MAP
3 (Single-level / Multilevel)ML performs actual costing run each period; PUP determined multilevelFinished goods, semi-finished goods with actual costing active

This setting applies per valuation area (plant). The decision is non-reversible after inventory is loaded. Document and freeze the decision per plant before go-live.

3.3 OMWC — Split Valuation Configuration

Section titled “3.3 OMWC — Split Valuation Configuration”

Configure valuation categories and valuation types within each category. Rationalize ECC categories: eliminate unused categories, consolidate overlapping types. Configuration must be complete before any split valuation material master records are loaded.

Greenfield is the right time to redesign the cost component structure from scratch (transaction OKTZ). Design principles:

  • Align each cost component to a distinct G/L account for COGS Split mapping
  • Separate at minimum: raw material, packaging, labor (direct), machine (direct), overhead (variable), overhead (fixed), subcontracting, freight
  • Define auxiliary cost components for margin analysis detail without overcomplicating primary cost components
  • Map each cost component to a COGS Split G/L account — required for margin analysis in CO-PA

The cost component structure is the foundation for COGS Split. If it is under-designed, COGS Split data in margin analysis is too coarse to be useful.

COGS Split must be activated before the first goods issue in the new system. Activation is done in CO-PA Customizing. The mapping from cost component to COGS G/L account must be complete. This is a Day 1 non-negotiable: documents posted before COGS Split activation have no cost component breakdown and cannot be retroactively split.

3.6 Secondary Cost Elements: Eliminated in S/4HANA

Section titled “3.6 Secondary Cost Elements: Eliminated in S/4HANA”

S/4HANA eliminates secondary cost elements. All ECC secondary CEs must be mapped to primary G/L accounts before CO master data is loaded.

ECC ObjectECC Secondary CE UsageS/4HANA Replacement
Assessment cyclesSecondary CE as sender/receiverPrimary G/L account
Distribution cyclesSecondary CE as senderPrimary G/L account
Activity type allocationSecondary CE for activity price postingPrimary G/L account (cost element category 43)
Overhead allocation (CO-PC)Secondary CE for overhead surchargePrimary G/L account
WIP calculationSecondary CE for WIP offsetPrimary G/L account
Variance categoriesSecondary CE per variance categoryPrimary G/L account

This mapping must be completed and validated in the chart of accounts before Job_DM_CostCenter_IDOC and Job_DM_ActivityType_IDOC run. Any CO cycle that references a secondary CE that does not exist in S/4HANA will fail activation.

All assessment and distribution cycles must reference primary G/L accounts as the cost element. Rebuild all cycles using primary G/L accounts. Validate cycle configurations in the new system before the first period-end close — not at go-live.

ECC transfer pricing using markup approaches must be reconfigured under the S/4HANA Transfer Pricing framework. The S/4HANA TP framework uses the multiple valuation approach within the Universal Journal — currency type 31 carries the transfer price. Configure TP rules in Customizing before the first intercompany inventory movement. The ECC markup approach does not translate directly — a design session is required during Phase 1.

TransactionSettingGreenfield Action
OKKSSet controlling areaDefine new CO area aligned to S/4HANA company code structure
OKKPCO area currency and fiscal yearSet CO area currency; must match company code currency or define group currency explicitly
OKEVCO versionsDefine version 0 (plan/actual); define additional plan versions if required
OKB9Default account assignmentConfigure cost center/order default per G/L account for posting validations

All CO area settings must be frozen before any CO master data is loaded via RDM.


flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#000
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#000
classDef target fill:#e3f2fd,stroke:#1565c0,color:#000
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#000
subgraph SRC["ECC Source Extraction Layer"]
S1["Valuation Data Extract"]
S2["ML Period Records"]
S3["PO History"]
S4["Costing Run Data"]
S5["CO Line Items"]
S6["BOM / Routing"]
S7["CO Master Data"]
S8["FI Open Items"]
end
subgraph ETL["SAP Data Services 4.3 ETL Layer"]
E1["ATL Job Files"]
E2["IDoc Mapping Templates"]
E3["Lookup Files"]
E4["Migration Services Tool"]
E5["SAP Information Steward"]
E6["WebI Reconciliation Reports"]
end
subgraph CFG["Greenfield Configuration Gate"]
C1["Currency Types"]
C2["Price Determination"]
C3["Split Valuation Config"]
C4["COGS Split Activation"]
C5["Cost Component Structure"]
C6["Secondary CE to G/L Mapping"]
C7["CO Area Settings"]
end
subgraph SEQ["Strict Load Sequence"]
L1["Step 1: CO Master Data"]
L2["Step 2: Material Master"]
L3["Step 3: BOM and Routing"]
L4["Step 4: Activity Prices"]
L5["Step 5: Cost Estimates"]
L6["Step 6: Business Partners"]
L7["Step 7: Open POs and Info Records"]
L8["Step 8: Inventory Balances"]
L9["Step 9: Open Production Orders"]
L10["Step 10: FI Open Items"]
L1 --> L2 --> L3 --> L4 --> L5 --> L6 --> L7 --> L8 --> L9 --> L10
end
subgraph TGT["S/4HANA Target Layer"]
T1["Opening Balances — Currency Types"]
T2["ML Documents"]
T3["ML Header / Period Records"]
T4["Material Valuation"]
T5["CO Documents"]
end
subgraph VAL["Greenfield Validation Layer"]
V1["Stock vs ECC Extract"]
V2["ACDOCA Currency Type Check"]
V3["Split Valuation KZVKZ Check"]
V4["Cost Estimate Consistency"]
V5["GR/IR Balance Reconciliation"]
V6["WebI Reconciliation Reports"]
end
subgraph GOL["Go-Live Gate"]
G1["All Validations Green"]
G2["MM/FI Periods Aligned"]
G3["COGS Split Active"]
G4["Goods Movements Released"]
end
SRC --> ETL
ETL --> CFG
CFG --> SEQ
SEQ --> TGT
TGT --> VAL
VAL --> GOL
S1:::source
S2:::source
S3:::source
S4:::source
S5:::source
S6:::source
S7:::source
S8:::source
E1:::integration
E2:::integration
E3:::integration
E4:::integration
E5:::integration
E6:::reporting
C1:::integration
C2:::integration
C3:::integration
C4:::integration
C5:::integration
C6:::integration
C7:::integration
L1:::integration
L2:::integration
L3:::integration
L4:::integration
L5:::integration
L6:::integration
L7:::integration
L8:::integration
L9:::integration
L10:::integration
T1:::target
T2:::target
T3:::target
T4:::target
T5:::target
V1:::reporting
V2:::reporting
V3:::reporting
V4:::reporting
V5:::reporting
V6:::reporting
G1:::target
G2:::target
G3:::target
G4:::target
NodeDetailTransactions / Tables / Jobs
S1Valuation Data ExtractMBEW Extract
S2ML Period RecordsCKMLPP / CKMLCR
S3PO HistoryEKBE / EKBZ
S4Costing Run DataMLAUFCR
S5CO Line ItemsCOEP
S7CO Master DataCost Centers, Activity Types
S8FI Open ItemsGL / AR / AP / GR-IR
E1ATL Job Files52 Migration Objects
E2IDoc Mapping TemplatesMS Excel
E3Lookup FilesValue Mapping
E4Migration Services ToolValue Mapping Management
E5SAP Information StewardData Quality Profiling
E6WebI Reconciliation ReportsBI Platform
C1Currency TypesOMXW (10/30/31/32)
C2Price Determination per Valuation AreaOMX1
C3Split Valuation ConfigOMWC
C4COGS Split ActivationBefore First GI
C5Cost Component StructureOKTZ
C6Secondary CE to G/L Mapping
C7CO Area SettingsOKKS / OKKP
L1Step 1: CO Master DataCost Centers, Profit Centers, Activity Types, Internal Orders
L2Step 2: Material MasterBKLAS, VPRSV, VERPR/STPRS, MLAST, BWTTY, SOBKZ
L3Step 3: BOM and Routing
L4Step 4: Activity PricesKP26
L5Step 5: Cost EstimatesCK11N / CK40N — Released
L6Step 6: Business PartnersCustomer / Vendor via IDoc
L7Step 7: Open POs and Info RecordsME_INFORECORD_MAINTAIN API
L8Step 8: Inventory BalancesJob_DM_InventoryBalance
L9Step 9: Open Production OrdersWIP Balances
L10Step 10: FI Open ItemsGL / AR / AP / GR-IR
T1Opening Balances — Currency TypesACDOCA
T2ML DocumentsMLDOC / MLDOC_EXTRACT
T3ML Header / Period RecordsCKMLHD / CKMLPR
T4Material ValuationMBEW
T5CO DocumentsCost Objects
V1Stock vs ECC ExtractMB5L vs ECC MBEW Extract
V2ACDOCA Currency Type CheckTypes 10/30/31/32
V3Split Valuation KZVKZ Checkper Valuation Type
V4Cost Estimate ConsistencyCK13N
V5GR/IR Balance Reconciliation
V6WebI Reconciliation Reports

Section 5 — SAP Note 2239701 Deep Dive for Greenfield

Section titled “Section 5 — SAP Note 2239701 Deep Dive for Greenfield”
ComponentPath in ZIPPurpose
Data Services ATL files\Data Services\Migration_S4HANAOne ATL job file per migration object
Test data templates\Templates\Migration_S4HANA\Source_Files_DI_INSource file templates for testing
IDoc mapping templates\Templates\Migration_S4HANA\IDoc Mapping TemplatesMS Excel field mapping per object
WebI reports\BI Platform\Migration_S4HANAReconciliation and data quality reports
Migration Services ToolMIGRATION07_2-10011631.ZIPValue mapping and lookup file management

5.2 Full RDM Object List with ML/Costing Relevance

Section titled “5.2 Full RDM Object List with ML/Costing Relevance”

SAP Note 2239701 lists 52 supported migration objects. The following table maps each to its ML/costing relevance in greenfield.

#RDM ObjectML / Costing RelevanceGreenfield Priority
1Secondary Cost ElementNOT supported in S/4HANA — map to G/L accountsMandatory pre-work
2CharacteristicCO-PA characteristic configurationMedium
3ClassMaterial classification for split valuationHigh if split valuation in scope
4Activity TypePrerequisite for cost estimatesCritical
5Activity PriceKP26 planned prices — prerequisite for CK11NCritical
6Exchange RateCurrency conversion in ML multi-currencyHigh
7Cost CentersPrerequisite for all CO allocationsCritical
8Profit CentersRequired for PCA valuation (currency type 31)Critical
9Bank MasterFI prerequisite for vendor/customerMedium
10Work CenterRouting reference — cost estimate prerequisiteHigh
11Material MasterValuation class, price control, ML indicator, split valuation categoryCritical
12Material Master ClassificationSplit valuation category assignmentHigh
13Configuration Profile for MaterialConfigurable material setupMedium
14Inspection MethodQM — not ML-criticalLow
15Material Inspection TypeQM — not ML-criticalLow
16Material Inspection CharacteristicsQM — not ML-criticalLow
17Inspection PlanQM — not ML-criticalLow
18Bill of MaterialsCost rollup prerequisite for CK11NCritical
19EquipmentsPM — not ML-criticalLow
20Service MasterService procurement — limited ML impactLow
21Object DependencyConfigurable material — limited ML impactLow
22Material Customer ReplenishmentSales planning — not ML-criticalLow
23Reference Operation SetsRouting prerequisiteMedium
24RoutingCost structure for CK11N multilevel rollupCritical
25SD PricingRevenue recognition — indirect ML relevanceMedium
26Inventory BalancesOpening stock quantities and values per plant/valuation typeCritical
27Functional LocationPM — not ML-criticalLow
28Cost Center GroupsReporting hierarchyMedium
29Source ListProcurement — not ML-criticalLow
30Work Breakdown StructureWBS as ML cost objectHigh if projects in scope
31Fixed AssetsAA — not in ML scopeLow
32Purchase Info RecordEKBZ delivery cost history — use API not IDocHigh — see Section 5.4
33Planned Independent RequirementsDemand planning — not ML-criticalLow
34Order ReservationsMM reservations — not ML-criticalLow
35Purchasing RequisitionNot ML-criticalLow
36ContractsNot ML-criticalLow
37Scheduling AgreementsNot ML-criticalLow
38Sales OrderSpecial stock E — ML-relevant if SOBKZ=EHigh if sales order stock in scope
39Purchase OrderOpen POs with EKBE history — ML-relevantCritical
40Internal OrderML cost object with open WIP balancesCritical
41Open DeliveriesGoods in transit — ML-relevantHigh
42Activity Type GroupsReporting — not ML-criticalLow
43Profit Center GroupsPCA reporting hierarchyMedium
44Statistical Key FiguresCO reporting — not ML-criticalLow
45Supplier InvoiceFI open items — GR/IR relevanceHigh
46Credit MemoFI open itemsMedium
47Customer Invoice BillingFI open itemsMedium
48BatchBatch management — split valuation relevanceHigh if batch valuation in scope
49CustomerBP prerequisite for sales order stockCritical
50VendorBP prerequisite for PO and GR/IRCritical
51Maintenance PlanPM — not ML-criticalLow
52Production OrderOpen orders with WIP — ML cost objectCritical

Material Master (Job_DM_Material_IDOC) Carries valuation class (BKLAS), price control (VPRSV), ML indicator (MLAST), and split valuation category (BWTTY). The IDoc interface is MATMAS. Price control S materials must not have STPRS populated via this IDoc — STPRS is set by the cost estimate release only.

Inventory Balances (Job_DM_InventoryBalance) Posts opening stock via movement type 561. For split valuation materials, a separate 561 posting per valuation type is required. The job does not calculate prices — it accepts quantity and value from the source file. For S-price materials, the value must equal quantity × STPRS / PEINH. If the cost estimate has not been released, S/4HANA has no standard price and the posting fails or posts at zero.

Cost Centers (Job_DM_CostCenter_IDOC) and Activity Types (Job_DM_ActivityType_IDOC) Must be loaded before any cost estimate is run. CK11N references work center → activity type → cost center to pull planned activity prices from COSS/COSP. If cost centers or activity types are missing, the cost estimate throws a missing master data error.

BOM (Job_DM_BOM_IDOC) and Routing (Job_DM_Routing_IDOC) Define the cost structure for multilevel cost rollup in CK11N/CK40N. The cost estimate explodes the BOM and pulls activity prices from routing operations. If BOM or routing is incomplete at cost estimate execution, the rollup produces partial costs — finished goods are undercosted and opening inventory is loaded at a price that does not reflect actual production cost structure.

Production Orders (Job_DM_ProductionOrder_IDOC) Open production orders carry WIP balances. In greenfield, WIP is loaded as the open order balance at cutover. The order must reference valid cost centers, activity types, materials, and BOMs already loaded. Post-load, run KKAO to confirm WIP balance agrees with the loaded order value.

Purchase Orders (Job_DM_PurchaseOrder_IDOC) Open POs carry EKBE (GR/IR history) and EKBZ (delivery cost history). The PO must reference a valid vendor (business partner) already loaded. GR/IR open items in FI are reconciled against open PO quantities at cutover.

Internal Orders and WBS Internal orders (Job_DM_InternalOrder_IDOC) and WBS elements (Job_DM_WBS_IDOC) are ML cost objects when they carry open balances at cutover. Load before FI open items — FI postings reference the cost object.

SAP Note 2239701 states explicitly: “There are risks when using INFREC to migrate data. If you would like to distribute info records through SAP systems, you can use the Idoc type INFREC. This is meant for info record distribution via ALE, however, not for data transfer.”

Consequence for ML: Purchase info records carry delivery cost condition records that feed EKBZ. If EKBZ is populated via INFREC IDoc incorrectly, delivery costs are miscalculated in actual costing — specifically in multilevel actual costing where delivery costs are included in the periodic unit price (PUP) calculation.

Correct approach: Use ME_INFORECORD_MAINTAIN API as referenced in Notes 2472030 and 2417298. Do not develop custom Data Services flows against INFREC IDoc.

Job_DM_CustomerMaster_IDOC and Job_DM_Vendor_IDOC are the correct RDM objects for customer and vendor migration. Additional BP roles beyond Customer and Vendor require custom development per the Extension Guide (RDM_S4H_OP_2023_DM_Extension_Guide_EN_XX.docx).

RFC_CVI_EI_INBOUND_MAIN is explicitly obsolete per Note 2239701. Do not use it. Any project team using this RFC risks creating incomplete BP records that block PO and inventory loads.

Business partners must be complete — all roles assigned — before Job_DM_PurchaseOrder_IDOC and Job_DM_InventoryBalance run.

SAP Note 2239701 states: “We do not provide any support for custom SAP Data Services code based on any API that is used with the rapid data migration solution.” If a project team develops custom DS flows for objects not covered by the 52 prebuilt objects, the full validation burden falls on the project. Custom flows must be tested exhaustively in multiple mock cutover iterations before production execution.

SAP Note 2239701 explicitly lists “Secondary Cost Element” as object #1 and notes it is not supported in S/4HANA. This is the single most significant CO master data impact in greenfield. Every ECC secondary CE must be analyzed, mapped to a primary G/L account, and the downstream CO cycles, activity types, and cost component structures must be updated before any CO master data load begins.

SAP Note 2239701 confirms: “If you own either a runtime (REAB) or full use SAP HANA license, this includes a limited use license of SAP Data Services software restricted to loading data into SAP HANA (called Data Integrator license). This fills the minimum requirement for the SAP Rapid Data Migration to SAP S/4HANA content which includes full ETL.” No separate DS license purchase is required for migration ETL execution.


Section 6 — SAP Note 2345739 Applicability in Greenfield

Section titled “Section 6 — SAP Note 2345739 Applicability in Greenfield”
Note CategoryApplies in Greenfield?Rationale
ML Customizing prerequisites (OMXW, OMX1, valuation area assignment)YesConfiguration must be built correctly regardless of migration approach
FINS_MIG_STATUS M10 execution errorsNoM10 does not run in greenfield
FINS_MIG_STATUS M11 execution errorsNoM11 does not run in greenfield
FINS_MIG_STATUS M20 reconciliationNoM20 does not run in greenfield
FINS_MIG_STATUS M21 completionNoM21 does not run in greenfield
NZDT / DOC conversion specific notesNoPure greenfield does not use NZDT
Data integrity checks (EKBZ, CKMLCT)Yes — as data quality referenceChecks identify data conditions that cause issues regardless of migration method
Memory management notes (2927214)NoM10 does not run; memory pressure from M10 step is irrelevant
ML document and period record correctionsPartialApply if the described condition can occur during RDM-based inventory load

6.2 Specific Notes from 2345739 with Direct Greenfield Relevance

Section titled “6.2 Specific Notes from 2345739 with Direct Greenfield Relevance”
SAP NoteComponentIssueGreenfield Applicability
2413401CO-PC-ACTNo CKMLCT / FMLT_CURT_ML entries exist for valuation areaYes — CKMLCT must exist for valuation area before inventory load
2385542CO-PC-ACTSum of quantities is 0 but sum of values is not 0 for EKBZYes — as data quality check — EKBZ data quality must be verified before inventory load
2387172CO-PC-ACTML Migration Correction for Actual Costing (WIP, CCS)Partial — WIP and CCS issues can arise in greenfield when production orders are loaded
2381743CO-PC-ACTML Migration corrections SP00Review for Customizing corrections applicable to configuration build
2364977CO-PC-ACTML Migration Corrections for Actual CostingReview for actual costing setup corrections
2414482CO-PC-ACTAdaption of M20 error messagesNo — M20 does not run
2416066FIN-MIGSet next activity for resettable steps shall not delete packagesNo — FINS_MIG_STATUS specific
2927214FIN-MIG-MLTSV_TNEW_PAGE_ALLOC_FAILED or memory shortage with M10No — M10 does not run
2408065CO-PC-ACTError FINS_ML_MIG 080 CREATE_CCS_2No — M10/M11 specific error class

For greenfield projects, the approach to Note 2345739 is:

  1. Identify the S/4HANA target release and SP level from the tables in Note 2345739
  2. Implement all notes marked X for the target SP level — the note states: “by implementing all of the mentioned notes, you can prevent large amount of issues from occurring”
  3. Filter out notes whose description explicitly references FINS_MIG_STATUS, M10, M11, M20, M21, or NZDT — safe to skip in greenfield
  4. Retain all notes referencing ML Customizing, actual costing, CKMLCT, CKMLHD, or CKMLPR — these apply in greenfield

Section 7 — Greenfield Load Sequence: Strict Order Dependency

Section titled “Section 7 — Greenfield Load Sequence: Strict Order Dependency”

The load sequence runs strictly top to bottom: the Configuration Gate, then Steps 1–10 in order, then the Validation Layer, then the Go-Live Gate.

#StepTransactions / JobsKey Detail
Greenfield Configuration GateOMXW / OMX1 / OMWC / OKTZ / COGS SplitAll Customizing Frozen
1CO Master DataJob_DM_CostCenter / ActivityType / InternalOrderCost Centers · Profit Centers · Activity Types · Internal Orders
2Material MasterJob_DM_Material_IDOCBKLAS · VPRSV · VERPR · BWTTY · SOBKZ
3BOM and RoutingJob_DM_BOM_IDOC · Job_DM_Routing_IDOC
4Activity PricesKP26 · Job_DM_ActivityPricePlanned Activity Prices
5Standard Cost EstimatesCK11N / CK40N — RELEASESTPRS populated in MBEW
6Business PartnersJob_DM_CustomerMaster_IDOC · Job_DM_Vendor_IDOCCustomer · Vendor
7Open POs and Info RecordsJob_DM_PurchaseOrder_IDOC · ME_INFORECORD_MAINTAIN API
8Inventory BalancesJob_DM_InventoryBalanceMvt 561 / 561E / 561Q per Plant / Valuation Type
9Open Production OrdersJob_DM_ProductionOrder_IDOCWIP Balances Loaded
10FI Open ItemsJob_DM_SupplierInvoice / CustomerInvoiceGL / AR / AP / GR-IR
Validation LayerMB5L · ACDOCA Check · KZVKZ · CK13N · GR-IR
Go-Live GateAll Green · Periods Aligned · COGS Split Active
StepWhat Is LoadedWhy This PositionDependency
1 — CO Master DataCost centers, profit centers, activity types, internal ordersAll downstream objects reference CO objectsNone — first in sequence
2 — Material MasterValuation class, price control, ML indicator, split valuationMaterial master references profit center, cost center; split valuation references OMWC configCO master data must exist
3 — BOM and RoutingBill of materials, production routingsCK11N explodes BOM and reads routing operations for activity price pickupMaterial master must exist for all BOM components
4 — Activity PricesKP26 planned prices per cost center / activity typeCK11N reads planned activity prices to cost routing operationsActivity types and cost centers must exist
5 — Cost EstimatesCK11N/CK40N released standard costsSTPRS is set by cost estimate release; Job_DM_InventoryBalance uses STPRS to value S-price stockBOM, routing, and activity prices must be complete
6 — Business PartnersCustomer and vendor mastersOpen POs reference vendors; special stock references customersCost estimates must be released; BP must precede PO
7 — Open POs and Info RecordsPurchase orders, info records via ME_INFORECORD_MAINTAINPOs reference vendor BP and material master; EKBE/EKBZ populated for GR/IR reconciliationBP must exist; material master must exist
8 — Inventory BalancesOpening stock quantities and valuesJob_DM_InventoryBalance posts 561; for S-price materials, STPRS must be populated; for split valuation, all valuation type records must existCost estimates released; material master complete including all valuation types
9 — Open Production OrdersWIP balances, order costsProduction orders reference materials, cost centers, activity types, internal ordersInventory must exist; CO master data complete
10 — FI Open ItemsGL balances, customer open items, vendor open items, GR/IRFI open items reference cost objects; GR/IR references open POsProduction orders must exist; POs must exist

7.3 Consequence Table: What Breaks If Sequence Is Violated

Section titled “7.3 Consequence Table: What Breaks If Sequence Is Violated”
Sequence ViolationImmediate ConsequenceRecovery Complexity
Inventory loaded before cost estimate released (S-price material)Opening stock valued at zero; ACDOCA carries zero-value inventoryHigh — reverse all 561 postings, release cost estimate, reload
Material master loaded before CO master dataProfit center assignment fails; material master rejected or created without account assignmentMedium — update material master records
BOM loaded before material masterBOM component materials not found; BOM creation rejectedLow — reload BOM after material master complete
Activity prices missing when cost estimate runsRouting operations costed at zero; finished goods undercostedHigh — re-run all cost estimates after activity prices loaded; if inventory already loaded, reverse and reload
PO loaded before vendor BPPO creation rejected — vendor not foundMedium — reload POs after BP complete
Inventory loaded before split valuation type records existStock posted to header material without valuation type; KZVKZ field blank; ML cannot reconcileHigh — reverse inventory postings, create valuation type records, reload
Production orders loaded before inventoryOrder references material with no stock record; WIP calculation baseline incorrectMedium — reload production orders after inventory complete
FI open items loaded before production ordersInternal order / WBS account assignment missing; FI posting rejected or posted to default accountMedium — reverse FI postings, load production orders, reload FI
BP loaded using RFC_CVI_EI_INBOUND_MAINIncomplete BP records; missing roles; PO and inventory loads subsequently failHigh — rebuild BP records using correct IDoc; cascade failures across PO and inventory
Info records loaded via INFREC IDocEKBZ delivery cost data corrupted; actual costing PUP calculation incorrectHigh — identify affected POs, correct EKBZ, verify actual costing run

Section 8 — Material Master Deep Dive: Greenfield Loading Rules

Section titled “Section 8 — Material Master Deep Dive: Greenfield Loading Rules”
ECC Source FieldS/4HANA Target FieldGreenfield Loading RuleML ImpactConsequence If Wrong
MBEW-BKLASMBEW-BKLASMap via rationalization table; validate against OBYC account determinationDrives all G/L account postings for inventory and COGSWrong G/L from day one; requires reposting or fiscal year correction
MBEW-VPRSVMBEW-VPRSVSet explicitly; must match OMX1 price determination design per material typeControls valuation method for all ML postingsWrong price control causes incorrect inventory valuation method permanently
MBEW-STPRSMBEW-STPRSDo NOT load directly — populated only by cost estimate release via CK11N/CK40NStandard price used to value all S-price inventory postingsDirect load bypasses ML price document; ACDOCA lacks ML price change record
MBEW-VERPRMBEW-VERPRLoad explicitly via IDoc for V-price materials; source from ECC MBEW-VERPR at reference period closeInitial MAP seeded into ML; basis for first period PUP calculationZero or wrong MAP → all opening inventory at incorrect value
MBEW-MLASTMBEW-MLASTSet automatically by system when ML activated for valuation area; do not load manuallyConfirms ML active for material/plantIf not active, ML documents not created for inventory postings
MBEW-PEINHMBEW-PEINHLoad matching ECC value; typically 1 but may be 100 for low-value materialsPrice unit divisor in all valuation calculationsWrong PEINH causes systematic per-unit pricing error across all stock movements
MBEW-BWTTYMBEW-BWTTYLoad for split valuation materials; header record first with category, then type recordsActivates split valuation; KZVKZ field set in MLMissing BWTTY → system treats as non-split; all stock merged into single bucket
MBEW-SOBKZMBEW-SOBKZSet per special stock type; drives movement type selection in Job_DM_InventoryBalanceControls account assignment for special stock postings in ACDOCAWrong SOBKZ → stock posted to wrong cost object
MBEW-LBKUMMBEW-LBKUMDo NOT load — stock quantity loaded via Job_DM_InventoryBalance movement type 561Quantity in ML period recordIf loaded directly, double-counts with 561 posting
MBEW-SALK3MBEW-SALK3Do NOT load — stock value derived from quantity × price in 561 postingValue in ML period recordDirect load causes value/quantity mismatch in ML
MBEW-LFGJAMBEW-LFGJASet to current fiscal year in S/4HANA — do not carry ECC valueML period reference yearWrong fiscal year reference causes period-end close issues
MBEW-LFMONMBEW-LFMONSet to go-live period in S/4HANAML period reference monthMisalignment causes ML to process wrong period on first actual costing run

8.2 Standard Price Materials: Loading Protocol

Section titled “8.2 Standard Price Materials: Loading Protocol”
  1. Load material master via Job_DM_Material_IDOC with VPRSV = S and STPRS = 0
  2. Load BOM and routing referencing this material
  3. Ensure activity prices are loaded (KP26)
  4. Execute CK11N or CK40N to create and release the cost estimate
  5. System writes STPRS to MBEW via ML price change document
  6. Only then execute Job_DM_InventoryBalance for this material

Never load STPRS directly in the material master IDoc for S-price materials. The cost estimate release creates the ML price document chain in CKMLHD/CKMLPR. Without this chain, ACDOCA has no basis for the standard price, and variance calculation in actual costing is broken from the first goods movement.

8.3 Moving Average Price Materials: Loading Protocol

Section titled “8.3 Moving Average Price Materials: Loading Protocol”
  1. Load material master via Job_DM_Material_IDOC with VPRSV = V and VERPR set to the ECC closing MAP at the reference period
  2. Reconcile loaded VERPR against ECC MBEW-VERPR extract — tolerance should be zero (exact match)
  3. Execute Job_DM_InventoryBalance — the 561 posting uses the loaded VERPR as the price basis
  4. Post-load, verify MBEW-VERPR in S/4HANA matches the source extract

MAP is not recalculated by the system during the 561 posting — it uses the price already in MBEW-VERPR. If VERPR was loaded incorrectly, every subsequent goods movement uses the wrong price until a physical inventory adjustment corrects it.

8.4 Split Valuation Materials: Loading Protocol

Section titled “8.4 Split Valuation Materials: Loading Protocol”
Sub-StepWhat Is LoadedTransaction / JobKey Fields
1 — Header recordMaterial master with BWTTY set; no individual valuation type at headerJob_DM_Material_IDOCMBEW-BWTTY (valuation category)
2 — Valuation type recordsOne material master record per valuation type; each with own VPRSV, STPRS/VERPR, BKLASJob_DM_Material_IDOCMBEW-BWTTY, MBEW-BWTAR (valuation type)
3 — Cost estimates per typeCK11N for each valuation type with VPRSV = SCK11N / CK40NReleased cost estimate per type
4 — Inventory per typeSeparate 561 posting per valuation typeJob_DM_InventoryBalanceQuantity and value per BWTAR
ECC Valuation ClassECC DescriptionRationalized S/4HANA ClassS/4HANA G/L Account (OBYC BSX)Rationale
3000Raw materials 1300013000010Retain — primary raw material class
3001Raw materials 2300013000010Consolidate into 3000 — same G/L treatment
3002Raw materials (imported)300113000020Retain if separate G/L required for customs reporting
7900Trading goods790013000050Retain
7920Trading goods (consignment)790013000050Consolidate into 7900 if consignment G/L same
2000Semi-finished goods200013000030Retain
2001Semi-finished (co-products)200113000035Retain if separate G/L required
1000Finished goods100013000040Retain
3100Spare parts310013000060Retain
3190Spare parts (critical)310013000060Consolidate — same G/L treatment

G/L account numbers are illustrative. Actual accounts must align to the S/4HANA chart of accounts design.

Material TypeBusiness ScenarioRecommended Price ControlRationale
Raw material (ROH)Purchased, price varies by GRV (Moving Average)MAP tracks actual purchase prices; no standard cost estimate required
Semi-finished (HALB)Manufactured in-houseS (Standard)Standard cost provides stable valuation basis; variances isolated via actual costing
Finished good (FERT)Manufactured in-houseS (Standard)Required for meaningful variance analysis and COGS Split
Trading good (HAWA)Purchased for resaleV or SV if prices fluctuate; S if stable pricing preferred for margin reporting
Configurable material (KMAT)Make-to-orderS or VDepends on CO-PA margin strategy; S requires costing variant for configurable materials
Co-productJoint productionSRequired for joint cost allocation via cost estimate
Consignment stockVendor-managedVMAP tracks actual settlement prices
SOBKZ ValueSpecial Stock TypeMovement Type for Opening BalanceAccount Assignment in ACDOCA
ESales order stock561ESales order / WBS element
QProject (WBS) stock561QWBS element
WVendor consignment561WVendor account
blankUnrestricted own stock561Plant / storage location

Each special stock type requires its own 561 variant posting in Job_DM_InventoryBalance. The source file must include the correct SOBKZ value and the associated account assignment object.


Section 9 — Inventory Balance Migration: Greenfield Deep Dive

Section titled “Section 9 — Inventory Balance Migration: Greenfield Deep Dive”

Job_DM_InventoryBalance is the RDM Data Services job that posts opening stock in the new S/4HANA system.

What it does: Reads quantity and value from the source file, generates an IDoc with movement type 561, and posts a goods receipt to unrestricted stock (or special stock per SOBKZ). The posting creates an ACDOCA line item with all ML currency fields populated based on the configured currency types (10/30/31/32).

What it does NOT do: It does not calculate prices. It does not create cost estimates. It does not validate that the loaded value matches the standard price. It does not post split valuation types automatically — each valuation type requires a separate source record.

9.2 Opening Balance Calculation Rules Per Price Control Type

Section titled “9.2 Opening Balance Calculation Rules Per Price Control Type”
Price ControlQuantity SourceValue CalculationSource FieldValidation Check
S — Standard priceECC MBEW-LBKUM at reference period closeQuantity × STPRS / PEINH where STPRS is from released S/4HANA cost estimateECC MBEW-STPRS is reference onlyLoaded value must equal Qty × S/4 STPRS / PEINH — any delta is a price difference
V — Moving averageECC MBEW-LBKUMQuantity × VERPR / PEINH where VERPR is loaded into S/4HANA material masterECC MBEW-VERPRLoaded value must equal Qty × S/4 VERPR / PEINH — tolerance ±0.01 per unit
Split valuation S per typeECC MBEW-LBKUM per BWTARQty per type × STPRS per type / PEINHECC MBEW per valuation typeEach type reconciled independently
Split valuation V per typeECC MBEW-LBKUM per BWTARQty per type × VERPR per type / PEINHECC MBEW per valuation typeEach type reconciled independently
Special stock E — sales orderECC MSKA-MENGEQty × price / PEINH per price control of materialECC MSKA extractReconcile per sales order item
Special stock Q — projectECC MSPR-MENGEQty × price / PEINHECC MSPR extractReconcile per WBS element
Special stock W — vendor consignmentECC MKOL-MENGEQty × VERPR / PEINHECC MKOL extractReconcile per vendor
Stock TypeMovement TypeDescription
Unrestricted own stock561Standard opening balance — goods receipt without reference
Sales order stock561EOpening balance for sales-order-managed stock
Project stock561QOpening balance for WBS-assigned stock
Vendor consignment501WConsignment stock receipt without PO reference
Returnable packaging at customer561PIf returnable packaging stock in scope

In brownfield, FINS_MIG_STATUS M20 performs the formal reconciliation. In greenfield, M20 does not run. The reconciliation framework must be built by the project team.

CheckSourceTargetToolPass Criteria
Inventory quantityECC MBEW-LBKUM per plant/materialS/4HANA MBEW-LBKUM post-561MB5L / custom reportExact match per material/plant/valuation type
Inventory value (local currency)ECC MBEW-SALK3 adjusted for price differenceS/4HANA ACDOCA currency type 10 balanceMB5L vs FS10NWithin tolerance (see Section 9.5)
Inventory value (group currency)ECC MBEW translated at exchange rateS/4HANA ACDOCA currency type 30 balanceCustom ACDOCA queryExchange rate applied consistently
Split valuation KZVKZECC MBEW-KZVKZ per valuation typeS/4HANA MBEW-KZVKZ post-loadSE16N on MBEWAll split valuation types have KZVKZ = X
Cost estimate consistencyECC released cost estimate at reference periodS/4HANA CK13N per material/plantCK13N / CK40N statusAll S-price materials have released cost estimate; status = FR
GR/IR balanceECC EKBE open GR/IR itemsS/4HANA ACDOCA GR/IR account balanceMR11 / custom ACDOCA queryGR/IR balance agrees to open PO quantity × price
Special stock quantitiesECC MSKA / MSPR / MKOLS/4HANA special stock tablesMB52 / custom reportExact match per stock category
ML period record existenceN/AS/4HANA CKMLHD / CKMLPRSE16N on CKMLHDRecord exists for every material/plant/period loaded
ACDOCA currency type completenessN/AS/4HANA ACDOCA per currency typeCustom ACDOCA queryAll configured currency types (10/30/31/32) populated for every inventory document
flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#000
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#000
classDef target fill:#e3f2fd,stroke:#1565c0,color:#000
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#000
ECC["ECC Extract"]:::source
S4["S/4HANA Post-Load"]:::target
Q1{"Quantity Match?"}:::integration
Q2{"Value Match?"}:::integration
Q3{"KZVKZ Check"}:::integration
Q4{"Cost Estimate Status?"}:::integration
Q5{"ACDOCA Currency Types?"}:::integration
Q6{"GR/IR Balance?"}:::integration
Q7{"ML Period Records?"}:::integration
PASS["All Checks Pass — Sign Off"]:::target
FAIL1["Quantity Mismatch"]:::reporting
FAIL2["Value Mismatch"]:::reporting
FAIL3["KZVKZ Missing"]:::reporting
FAIL4["Cost Estimate Missing"]:::reporting
FAIL5["Currency Type Gap"]:::reporting
FAIL6["GR/IR Mismatch"]:::reporting
FAIL7["ML Record Missing"]:::reporting
ECC --> Q1
S4 --> Q1
Q1 -->|"Pass"| Q2
Q1 -->|"Fail"| FAIL1
FAIL1 -->|"Corrected"| Q1
Q2 -->|"Pass"| Q3
Q2 -->|"Fail"| FAIL2
FAIL2 -->|"Corrected"| Q2
Q3 -->|"Pass"| Q4
Q3 -->|"Fail"| FAIL3
FAIL3 -->|"Corrected"| Q3
Q4 -->|"Pass"| Q5
Q4 -->|"Fail"| FAIL4
FAIL4 -->|"Corrected"| Q4
Q5 -->|"Pass"| Q6
Q5 -->|"Fail"| FAIL5
FAIL5 -->|"Corrected"| Q5
Q6 -->|"Pass"| Q7
Q6 -->|"Fail"| FAIL6
FAIL6 -->|"Corrected"| Q6
Q7 -->|"Pass"| PASS
Q7 -->|"Fail"| FAIL7
FAIL7 -->|"Corrected"| Q7
NodeCheck / ActionDetail (Tables / Steps)
ECCECC Extract — Reference Period CloseMBEW · MSKA · MSPR · MKOL
S4S/4HANA Post-Load — Post-561 PostingsMBEW · ACDOCA · CKMLHD
Q1Quantity Match?ECC LBKUM vs S4 LBKUM per Plant / Material / Type
Q2Value Match?ECC SALK3 vs ACDOCA CCy Type 10 — Within Tolerance?
Q3KZVKZ CheckAll Split Val Types KZVKZ = X?
Q4Cost Estimate StatusStatus = FR, All S-Price Materials?
Q5ACDOCA Currency Types10/30/31/32 All Populated?
Q6GR/IR BalanceAgrees to Open PO Qty × Price?
Q7ML Period RecordsCKMLHD/CKMLPR Exist for All Materials?
PASSAll Checks Pass — Sign Off ReconciliationProceed to Go-Live Gate
FAIL1Quantity MismatchInvestigate: missing 561 · duplicate posting · wrong valuation type
FAIL2Value MismatchInvestigate: wrong VERPR · price diff on 561 · exchange rate error
FAIL3KZVKZ MissingCreate missing valuation type MBEW record · Reload inventory for type
FAIL4Cost Estimate MissingRun CK11N/CK40N · Release estimate · Reload inventory
FAIL5Currency Type GapCheck OMXW config · Verify ML activation · Reload if required
FAIL6GR/IR MismatchReconcile EKBE vs open PO quantities · Adjust FI open items
FAIL7ML Record MissingVerify ML activation for valuation area · Check CKMLCT entry
Price ControlAcceptable ToleranceRationale
S — Standard priceZero toleranceValue must equal Qty × STPRS / PEINH exactly — any delta is a price difference document
V — Moving average±0.01 per unit (rounding)MAP is a calculated average; minor rounding differences are acceptable if within materiality threshold
Split valuation S per typeZero toleranceEach type treated as independent S-price material
Split valuation V per type±0.01 per unitSame as single-level MAP
Special stock E / Q±0.01 per unitMAP-equivalent tolerance for project and sales order stock
Group currency (type 30)±functional currency roundingTranslation rounding acceptable; document exchange rate applied

9.7 Reconciliation Failure Investigation Path

Section titled “9.7 Reconciliation Failure Investigation Path”
Failure TypeStep 1 — IdentifyStep 2 — Root CauseStep 3 — Correct
Quantity mismatchRun MB5L; compare to ECC extract per material/plantCheck for duplicate 561 postings; missing valuation type records; wrong SOBKZReverse duplicate; load missing records; correct SOBKZ in source file and reload
Value mismatch (S-price)Compare ACDOCA value to Qty × STPRS / PEINHCheck if cost estimate was released before 561 posting; check STPRS in MBEWIf cost estimate missing: reverse 561, release cost estimate, reload
Value mismatch (V-price)Compare ACDOCA value to Qty × VERPR / PEINHCheck VERPR loaded in material master against ECC extractCorrect VERPR in material master (MM02); post adjustment if quantity already in stock
KZVKZ missingSE16N on MBEW; filter KZVKZ blank for split valuation materialsValuation type MBEW record not createdCreate valuation type record; reload inventory for that type
CKMLHD missingSE16N on CKMLHD; identify missing material/plant combinationsML not activated for valuation area; or CKMLCT entry missing per Note 2413401Verify OMXW; create CKMLCT entry; repost inventory
ACDOCA currency type gapQuery ACDOCA for documents with null group currencyOMXW currency type configuration incomplete at time of postingAdd currency type in OMXW; run ML currency revaluation if SAP-supported; or reverse and reload

Section 10 — Product Costing Setup: Greenfield

Section titled “Section 10 — Product Costing Setup: Greenfield”

Greenfield is the only opportunity to design the cost component structure without migration constraints. Design the cost component structure (OKTZ) as follows:

  • Align each cost component to a distinct G/L account for COGS Split mapping
  • Separate at minimum: raw material, packaging, labor (direct), machine (direct), overhead (variable), overhead (fixed), subcontracting, freight
  • Define auxiliary cost components for margin analysis detail where the business requires more granularity than COGS Split G/L accounts
  • Define at least the “cost of goods manufactured” view and the “cost of goods sold” view separately if transfer pricing is in scope

Three prerequisites (Activity Prices, BOM, Routing) must all be complete before the cost estimate is created; the remaining steps run strictly in sequence.

#StepTransactions / JobsStatus / Detail
1Activity Prices LoadedKP26All Cost Centers · All Activity Types
2BOM CompleteAll Components Exist in Material Master
3Routing CompleteAll Work Centers · Activity Types Referenced
4Cost Estimate CreatedCK11N / CK40NStatus: KA (Created)
5Cost Estimate ReleasedCK11N / CK40NStatus: FR (Released)
6MBEW-STPRS PopulatedML Price Change Document Written to CKMLHD
7Inventory Balance PostedJob_DM_InventoryBalance561 Posting Uses STPRS · ACDOCA Inventory Value Correct

Actual costing activation is configured per plant via transaction CKMVFM. This decision is non-reversible after inventory has been posted.

ScenarioActual Costing OnActual Costing Off
Finished goods with production variancesRequired — captures actual production costs in PUPNot available — variances posted to P&L directly
Raw materials with price variancesRequired — PUP includes purchase price variancesNot available
Transfer pricing with multilevel revaluationRequired — multilevel actual costing revalues across plantsNot available
Simple distribution operationsOptional — overhead may be sufficientAcceptable if actual cost detail not required
First period-end close complexityHigher — CKMLCP sequence requiredLower — no actual costing run

COGS Split must be activated before the first goods issue in S/4HANA. Activation sequence:

  1. Activate COGS Split in CO-PA Customizing
  2. Map each cost component to a COGS G/L account
  3. Validate the mapping covers 100% of cost components — any unmapped component posts to the default COGS account without breakdown
  4. Activate for all relevant company codes and plants
  5. Verify activation before go-live gate sign-off

If COGS Split is not active at go-live, the first period’s margin analysis has no cost component detail — this cannot be retroactively corrected.

StepActionTransaction
1Define procurement alternativesCK91N
2Define mixing ratios (weighting factors)CK94
3Set price determination = 3 in material masterMM02 / material master IDoc
4Run cost estimates for all procurement alternativesCK11N per alternative
5Release mixed cost estimateCK40N
6Verify STPRS reflects weighted averageCK13N

Price determination = 3 must be set in the material master before the cost estimate is created. If price determination = 2 is set and the cost estimate is released, the material is valued at the single-source cost — switching to = 3 afterward requires re-running and re-releasing the cost estimate and reposting any inventory already loaded.

10.6 First Actual Costing Run (CKMLCP Sequence)

Section titled “10.6 First Actual Costing Run (CKMLCP Sequence)”
StepTransactionDescriptionPrerequisite
1CKMLCP — SelectionSelect plants and period for actual costing runPeriod must be closed for MM (MMPV)
2CKMLCP — Determine SequenceSystem determines processing sequence for multilevel costingSelection complete
3CKMLCP — Single-LevelCalculate single-level actual price per materialAll goods movements posted and confirmed
4CKMLCP — MultilevelPropagate actual prices across BOM levelsSingle-level complete for all materials
5CKMLCP — RevaluationPost revaluation documents to ACDOCAMultilevel complete
6CKMLCP — WIP RevaluationRevalue WIP on open production ordersRevaluation complete
7CKMLCP — Post Closing EntriesPost ML closing entries to ACDOCAWIP revaluation complete
8CKMLCP — Close PeriodClose ML periodAll prior steps complete
9CKM3NReview ML cockpit — verify actual price, consumption revaluation, WIP revaluationPeriod closed
10MLDOC_EXTRACTExtract ML documents for reconciliation and auditPeriod closed

After Job_DM_ProductionOrder_IDOC loads open production orders:

  1. Run KKAO (WIP calculation) for all loaded orders
  2. Compare WIP balance per order to the ECC COEP extract at the reference period
  3. Any discrepancy indicates a missing cost posting on the order — investigate via KOB1
  4. WIP is carried in ACDOCA as a balance on the production order cost object — verify per order that the ACDOCA balance matches the loaded WIP value

Risk IDDescriptionProbabilityImpactSourceMitigation
GF-R01Standard cost not released before inventory loadHighCriticalJob_DM_InventoryBalance posts at zero for S-price materialsEnforce load sequence gate: cost estimate release verified (CK13N status FR) before inventory job runs
GF-R02Valuation class mapping errors — wrong G/L from day oneMediumCriticalIncorrect BKLAS in material master IDocComplete OBYC account determination testing before first material master load; validate all mapped classes in DEV/QA
GF-R03Split valuation type records missing — zero-stock types not loadedMediumHighKZVKZ blank; future GR fails or posts to wrong bucketLoad all valuation type MBEW records including zero-stock types; validate via SE16N KZVKZ check
GF-R04Load sequence violation — inventory loaded before cost estimatesHighCriticalOpening stock at zero or wrong price; ACDOCA incorrect from day oneImplement load sequence dependency gates; no inventory job execution without cost estimate sign-off
GF-R05INFREC IDoc used for info record migrationMediumHighEKBZ delivery cost data corrupted; actual costing PUP incorrectFollow Note 2239701 — use ME_INFORECORD_MAINTAIN API per Notes 2472030/2417298; never use INFREC IDoc for data transfer
GF-R06Custom DS flows with no SAP support — undetected transformation errorsMediumHighSilent data errors in migrated objects not covered by 52 prebuilt RDM objectsFollow Extension Guide per Note 2239701; build comprehensive reconciliation checks for all custom objects
GF-R07COGS Split not activated before first goods issueLowCriticalFirst period margin analysis has no cost component breakdown — cannot be retroactively correctedCOGS Split activation is a go-live gate check — mandatory sign-off item before goods movements released
GF-R08Secondary CE references in migrated CO cyclesHighHighAssessment/distribution cycles fail activation; period-end close fails on first runComplete secondary CE to G/L mapping before CO master data load; validate all cycles in QA before go-live
GF-R09RFC_CVI_EI_INBOUND_MAIN used for BP migrationMediumHighIncomplete BP records; missing roles; cascade failures in PO and inventory loads per Note 2239701Use Job_DM_CustomerMaster_IDOC and Job_DM_Vendor_IDOC exclusively; validate BP completeness before PO load
GF-R10ML type currency types incomplete before first data loadMediumCriticalInventory postings missing group currency or profit center currency fields in ACDOCA — cannot be added retroactivelyFreeze OMXW configuration before first data load; validate all currency types in QA with test inventory postings
GF-R11Activity prices missing — zero cost estimates for routing-dependent materialsHighHighFinished goods and semi-finished goods costed at zero or material-only; opening inventory undervaluedLoad and verify KP26 activity prices before CK11N execution; include activity price completeness check in Phase 3 gate
GF-R12Transfer pricing not reconfigured in S/4HANA TP frameworkMediumHighIntercompany inventory movements post at wrong transfer price; currency type 31 values incorrectDesign TP configuration in Phase 1; validate first intercompany movement in QA before go-live
GF-R13WebI reconciliation reports not reviewed — silent data quality failuresMediumHighData errors in migrated objects not detected until operational issues arise post go-liveMake WebI reconciliation report review a mandatory gate at end of each mock cutover and production load
GF-R14RDM custom extension developed without following Extension GuideMediumMediumCustom DS flows fail in production; no SAP supportReference RDM_S4H_OP_2023_DM_Extension_Guide_EN_XX.docx per Note 2239701; review in multiple mock cutovers
GF-R15CKMLCT / FMLT_CURT_ML entries missing for valuation areaMediumHighML cannot post inventory documents; first goods movement fails per Note 2413401Verify CKMLCT entries exist for all valuation areas post-OMXW configuration; apply Note 2413401 if missing
GF-R16EKBZ data quality issue — zero quantities with non-zero valuesMediumHighActual costing PUP calculation incorrect; delivery costs misallocated per Note 2385542Run EKBZ data quality check per Note 2385542 before PO load; correct source data before migration
GF-R17Actual costing activated on wrong plant — cannot reverseLowCriticalML period records begin accumulating; actual costing run required every period; cannot deactivateConfirm actual costing on/off decision per plant in Phase 1; document and sign off before CKMVFM execution
GF-R18Mixed costing price determination not set to 3 before cost estimate releaseMediumHighMaterial valued at single-source cost; re-run required; if inventory already loaded, reverse and reloadInclude price determination field in material master load validation checklist; validate MM02 field before CK11N

Section 12 — Execution Playbook: Greenfield

Section titled “Section 12 — Execution Playbook: Greenfield”

Phase 1: Assess and Design (10–14 Weeks)

Section titled “Phase 1: Assess and Design (10–14 Weeks)”
#ActivityOwnerTransaction / ToolNote Reference
1.1Define S/4HANA target release and SP level; identify all correction notes from Note 2345739 applicable to SPProject Manager / BasisSAP ONE Support LaunchpadNote 2345739
1.2Download RDM package RDMS4HOP08_0-80001221.ZIP and install on Data Services 4.3 platformETL ArchitectSAP Software Download CenterNote 2239701
1.3Inventory all ECC secondary cost elements; map each to S/4HANA primary G/L accountCO ConsultantKA03 / FS00Note 2239701
1.4Design cost component structure — align components to COGS Split G/L accountsCO-PC ConsultantOKTZ design workshop
1.5Design valuation class rationalization — ECC classes to S/4HANA classes mapping tableFI ConsultantMM04 / OBYC analysis
1.6Define price control decision per material type (S vs V) per plantFI-MM ConsultantDesign document
1.7Design split valuation categories and types for S/4HANA (OMWC)MM ConsultantOMWC design workshop
1.8Define currency types (10/30/31/32) per company code / valuation areaFI ConsultantOMXW design
1.9Define price determination setting per valuation area (OMX1)CO-PC ConsultantOMX1 design
1.10Confirm actual costing on/off per plant (CKMVFM) — document and sign offCO-PC Consultant / BusinessCKMVFM
1.11Design transfer pricing configuration for S/4HANA TP frameworkCO ConsultantTP design workshop
1.12Assess EKBZ data quality per Note 2385542 — identify zero-quantity/non-zero-value recordsCO-PC ConsultantECC EKBZ extractNote 2385542
1.13Confirm LSMW not in migration toolset; remove any legacy LSMW scriptsETL ArchitectNote 2287723 (referenced in Note 2239701)
1.14Define BP migration scope — customer and vendor roles; identify additional roles requiring custom developmentMDM ConsultantJob_DM_CustomerMaster_IDOC / Job_DM_Vendor_IDOCNote 2239701
1.15Confirm ME_INFORECORD_MAINTAIN API approach for info records; no INFREC IDocMM ConsultantAPI designNote 2239701, Notes 2472030/2417298
1.16Define WebI reconciliation report deployment on SAP BusinessObjects BI platformBI Consultant*.lcmbiar installNote 2239701
1.17Define go-live cutover window and migration freeze dateProject ManagerProject plan

Phase 2: Build and Configure (6–10 Weeks)

Section titled “Phase 2: Build and Configure (6–10 Weeks)”
#ActivityOwnerTransactionNote Reference
2.1Build CO area settings (OKKS, OKKP, OKEV, OKB9)CO ConsultantOKKS / OKKP
2.2Activate ML per valuation area (OMXW) — all currency typesFI ConsultantOMXWNote 2345739
2.3Configure price determination per valuation area (OMX1)CO-PC ConsultantOMX1Note 2345739
2.4Configure split valuation categories and types (OMWC)MM ConsultantOMWC
2.5Build cost component structure (OKTZ)CO-PC ConsultantOKTZ
2.6Activate COGS Split; map cost components to G/L accountsCO-PC ConsultantCO-PA Customizing
2.7Build account determination (OBYC) for all rationalized valuation classesFI ConsultantOBYC
2.8Rebuild all CO assessment and distribution cycles referencing primary G/L accountsCO ConsultantKSU5 / KSV5
2.9Configure transfer pricing under S/4HANA TP frameworkCO ConsultantTP Customizing
2.10Verify CKMLCT entries exist for all valuation areas post-OMXW configurationCO-PC ConsultantSE16N on CKMLCTNote 2413401
2.11Activate actual costing per plant (CKMVFM)CO-PC ConsultantCKMVFM
2.12Install and configure Migration Services Tool for value mappingETL ArchitectMigration Services ToolNote 2239701
2.13Build lookup files for valuation class mapping, price control mapping, CO object mappingETL ArchitectMigration Services ToolNote 2239701
2.14Configure Information Steward for data quality profiling of ECC source extractsData Quality ConsultantSAP Information StewardNote 2239701
2.15Deploy WebI reconciliation reports on BI platformBI ConsultantSAP BusinessObjectsNote 2239701
2.16Implement all SP-level correction notes from Note 2345739 applicable to target SPBasis ConsultantSNOTENote 2345739

Phase 3: Master Data Load Iterations (4–8 Weeks)

Section titled “Phase 3: Master Data Load Iterations (4–8 Weeks)”
#ActivityOwnerRDM Job / TransactionDependency
3.1Load CO master data: cost centers, profit centers, activity types, internal ordersCO ConsultantJob_DM_CostCenter / Job_DM_ActivityType / Job_DM_InternalOrderPhase 2 complete
3.2Load profit center groups and cost center groupsCO ConsultantJob_DM_ProfitCenterGroup / Job_DM_CostCenterGroup3.1 complete
3.3Load exchange ratesFI ConsultantJob_DM_ExchangeRatePhase 2 complete
3.4Load material master — all plants, all material typesMM ConsultantJob_DM_Material_IDOC3.1 complete
3.5Validate material master: BKLAS, VPRSV, BWTTY, SOBKZ per rationalization tableFI-MM ConsultantMM03 / SE16N MBEW3.4 complete
3.6Load work centersPP ConsultantJob_DM_WorkCenter3.1 complete
3.7Load BOMPP ConsultantJob_DM_BOM_IDOC3.4 complete
3.8Load routingsPP ConsultantJob_DM_Routing_IDOC3.6 complete
3.9Load activity prices (KP26)CO ConsultantJob_DM_ActivityPrice3.1 complete
3.10Run standard cost estimates and release (CK40N) — all S-price materialsCO-PC ConsultantCK40N3.7, 3.8, 3.9 complete
3.11Verify all S-price materials have released cost estimate (status FR)CO-PC ConsultantCK40N / CK13N3.10 complete
3.12Load business partners — customersMDM ConsultantJob_DM_CustomerMaster_IDOC3.4 complete
3.13Load business partners — vendorsMDM ConsultantJob_DM_Vendor_IDOC3.4 complete
3.14Load purchase info records via ME_INFORECORD_MAINTAIN APIMM ConsultantME_INFORECORD_MAINTAIN3.13 complete
3.15Load open purchase ordersMM ConsultantJob_DM_PurchaseOrder_IDOC3.12, 3.13 complete
3.16Load inventory balances — unrestricted stock (movement type 561)MM ConsultantJob_DM_InventoryBalance3.11 complete
3.17Load inventory balances — special stock (561E, 561Q, 501W)MM ConsultantJob_DM_InventoryBalance3.12, 3.16 complete
3.18Load WBS elementsPS ConsultantJob_DM_WBS_IDOC3.1 complete
3.19Load open production ordersPP ConsultantJob_DM_ProductionOrder_IDOC3.16 complete
3.20Run KKAO to verify WIP balances on loaded production ordersCO-PC ConsultantKKAO3.19 complete
3.21Load FI open items: GL, customer invoices, vendor invoices, GR/IRFI ConsultantJob_DM_SupplierInvoice / Job_DM_CustomerInvoice3.19 complete
3.22Execute WebI reconciliation reports; review all data quality outputsData Quality ConsultantSAP BusinessObjects WebI3.21 complete

Phase 4: Mock Cutovers and Reconciliation (2–4 Weeks)

Section titled “Phase 4: Mock Cutovers and Reconciliation (2–4 Weeks)”
#ActivityOwnerToolPass Criteria
4.1Execute full mock cutover 1 — complete load sequence in QAMigration LeadAll RDM jobs in sequenceAll jobs complete without errors
4.2Run MB5L reconciliation: S/4HANA vs ECC extractFI ConsultantMB5LZero quantity variance; value within tolerance
4.3Run ACDOCA currency type completeness checkFI ConsultantCustom ACDOCA queryAll currency types (10/30/31/32) populated
4.4Run KZVKZ validation for all split valuation materialsMM ConsultantSE16N MBEWAll split valuation types KZVKZ = X
4.5Run CK13N cost estimate consistency checkCO-PC ConsultantCK13NAll S-price materials status FR; STPRS non-zero
4.6Run GR/IR reconciliation — MR11 vs open PO quantitiesFI ConsultantMR11GR/IR balance agrees to open PO register
4.7Review WebI reconciliation reports — all objectsData Quality ConsultantSAP BusinessObjects WebINo unresolved data quality issues
4.8Run KKAO WIP verification for all loaded production ordersCO-PC ConsultantKKAOWIP balance agrees to ECC COEP extract
4.9Simulate first period-end close in QA — run CKMLCP sequenceCO-PC ConsultantCKMLCPAll steps complete; no ML errors
4.10Document all issues found in mock cutover 1; assign resolution ownersMigration LeadIssue logAll critical issues resolved before mock 2
4.11Execute mock cutover 2 — incorporate all corrections from mock 1Migration LeadAll RDM jobs in sequenceReduced error count vs mock 1
4.12Measure mock cutover 2 duration against cutover windowProject ManagerCutover timelineDuration fits within approved migration window
4.13Obtain sign-off on mock cutover 2 reconciliation resultsBusiness Owner / FI LeadSign-off documentAll reconciliation checks passed

Phase 5: Cutover Execution (Migration Window)

Section titled “Phase 5: Cutover Execution (Migration Window)”
#ActivityOwnerTool / TransactionDependencyDuration Estimate
5.1Freeze ECC system — no new postingsProject ManagerECC system lockMigration window openT-0
5.2Extract final ECC data snapshots: MBEW, EKBE, EKBZ, COEP, MSKA, MSPR, MKOLETL ArchitectECC extraction jobs5.1 complete2–4 hours
5.3Implement all outstanding correction notes from Note 2345739 in production S/4HANABasis ConsultantSNOTE5.1 complete1–2 hours
5.4Verify OMXW, OMX1, OMWC, COGS Split configuration in production — final checkFI ConsultantOMXW / OMX1 / OMWC5.3 complete1 hour
5.5Verify CKMLCT entries for all valuation areas in productionCO-PC ConsultantSE16N CKMLCT5.4 complete30 minutes
5.6Load CO master data (Step 1)CO ConsultantJob_DM_CostCenter / Job_DM_ActivityType / Job_DM_InternalOrder5.5 complete2–4 hours
5.7Load exchange ratesFI ConsultantJob_DM_ExchangeRate5.5 complete30 minutes
5.8Load material master (Step 2)MM ConsultantJob_DM_Material_IDOC5.6 complete4–8 hours
5.9Validate material master: BKLAS, VPRSV, BWTTY spot checkFI-MM ConsultantMM03 / SE16N5.8 complete1 hour
5.10Load work centersPP ConsultantJob_DM_WorkCenter5.6 complete1–2 hours
5.11Load BOM (Step 3)PP ConsultantJob_DM_BOM_IDOC5.8 complete2–4 hours
5.12Load routings (Step 3)PP ConsultantJob_DM_Routing_IDOC5.10 complete2–4 hours
5.13Load activity prices KP26 (Step 4)CO ConsultantJob_DM_ActivityPrice5.6 complete1–2 hours
5.14Run and release cost estimates CK40N (Step 5)CO-PC ConsultantCK40N5.11, 5.12, 5.13 complete4–8 hours
5.15Verify all S-price materials have released cost estimateCO-PC ConsultantCK40N / CK13N5.14 complete1 hour
5.16Load business partners — customers and vendors (Step 6)MDM ConsultantJob_DM_CustomerMaster_IDOC / Job_DM_Vendor_IDOC5.8 complete2–4 hours
5.17Load purchase info records via ME_INFORECORD_MAINTAIN (Step 7)MM ConsultantME_INFORECORD_MAINTAIN5.16 complete1–2 hours
5.18Load open purchase orders (Step 7)MM ConsultantJob_DM_PurchaseOrder_IDOC5.16 complete2–4 hours
5.19Load inventory balances — unrestricted stock 561 (Step 8)MM ConsultantJob_DM_InventoryBalance5.15 complete4–8 hours
5.20Load inventory balances — special stock 561E/561Q/501W (Step 8)MM ConsultantJob_DM_InventoryBalance5.16, 5.19 complete2–4 hours
5.21Load WBS elementsPS ConsultantJob_DM_WBS_IDOC5.6 complete1–2 hours
5.22Load open production orders (Step 9)PP ConsultantJob_DM_ProductionOrder_IDOC5.19 complete2–4 hours
5.23Run KKAO WIP verificationCO-PC ConsultantKKAO5.22 complete1 hour
5.24Load FI open items: GL, AR, AP, GR/IR (Step 10)FI ConsultantJob_DM_SupplierInvoice / Job_DM_CustomerInvoice5.22 complete4–6 hours
5.25Execute reconciliation: MB5L, ACDOCA currency check, KZVKZ, CK13N, GR/IRFI / CO-PC ConsultantMB5L / CK13N / MR11 / ACDOCA query5.24 complete2–4 hours
5.26Review WebI reconciliation reports — final production checkData Quality ConsultantSAP BusinessObjects WebI5.25 complete1–2 hours
5.27Obtain business sign-off on reconciliation resultsBusiness Owner / FI LeadSign-off document5.26 complete1 hour
5.28Open MM and FI posting periods for go-live periodFI ConsultantMMPV / OB525.27 complete30 minutes
5.29Verify COGS Split active — final checkCO-PC ConsultantCO-PA Customizing5.28 complete30 minutes
5.30Release goods movements — go-liveProject ManagerSystem unlock5.29 completeT+0 go-live

Phase 6: Hypercare and Validation (4 Weeks Post Go-Live)

Section titled “Phase 6: Hypercare and Validation (4 Weeks Post Go-Live)”
#ActivityOwnerTool / TransactionFrequency
6.1Monitor IDoc processing — identify any failed IDocs from cutover loadsETL ArchitectBD87 / WE02Daily — Week 1
6.2Monitor first goods movements post go-live — verify ACDOCA ML fields populatedFI ConsultantACDOCA display / MIR4Daily — Week 1
6.3Run MB5L daily — confirm inventory values stableFI ConsultantMB5LDaily — Week 1–2
6.4Monitor GR/IR account — confirm new GRs against open POs reconciling correctlyFI ConsultantMR11Daily — Week 1
6.5Verify COGS Split posting on first goods issue post go-liveCO-PC ConsultantACDOCA / margin analysisDay 1 post go-live
6.6Monitor production order WIP accumulation — verify against KKAOCO-PC ConsultantKKAO / KOB1Weekly
6.7Execute first period-end CO close checklist (see Section 13)CO ConsultantFull CO close sequenceEnd of first period
6.8Execute first actual costing run (CKMLCP)CO-PC ConsultantCKMLCPEnd of first period
6.9Review CKM3N ML cockpit after first actual costing runCO-PC ConsultantCKM3NPost first CKMLCP
6.10Review WebI reconciliation reports post first period closeData Quality ConsultantSAP BusinessObjects WebIPost first period close
6.11Resolve any outstanding data issues from hypercare monitoringMigration LeadIssue logWeekly review
6.12Formal hypercare exit sign-offBusiness Owner / Project ManagerSign-off documentWeek 4
flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#000
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#000
classDef target fill:#e3f2fd,stroke:#1565c0,color:#000
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#000
P1["Phase 1: Assess and Design<br>10–14 Weeks"]:::source
P2["Phase 2: Build and Configure<br>6–10 Weeks"]:::integration
P3["Phase 3: Master Data Load Iterations<br>4–8 Weeks"]:::integration
P4["Phase 4: Mock Cutovers<br>2–4 Weeks"]:::integration
P5["Phase 5: Cutover Execution<br>Migration Window"]:::target
P6["Phase 6: Hypercare<br>4 Weeks Post Go-Live"]:::reporting
P1 --> P2
P2 --> P3
P3 --> P4
P4 -->|"Mock Cutovers Pass"| P5
P4 -->|"Issues Found"| P3
P5 --> P6
NodePhaseDurationKey Activities
P1Assess and Design10–14 WeeksSecondary CE Mapping · Valuation Class Rationalization · RDM Package Install · Currency Type Design · Actual Costing Decision
P2Build and Configure6–10 WeeksOMXW · OMX1 · OMWC · OKTZ · COGS Split · OBYC · CO Cycles · Correction Notes from Note 2345739
P3Master Data Load Iterations4–8 WeeksCO Master · Material Master · BOM/Routing · Activity Prices · Cost Estimates · BP · POs · Inventory · Production Orders · FI
P4Mock Cutovers2–4 Weeks2× Full Mock · MB5L · ACDOCA Check · KZVKZ · CK13N · GR/IR · KKAO · First Period-End Simulation
P5Cutover ExecutionMigration WindowECC Freeze → Extract → Load Sequence · Reconciliation → Sign-Off · Periods Open → Go-Live
P6Hypercare4 Weeks Post Go-LiveIDoc Monitoring · MB5L Daily · First CKMLCP · First CO Close · WebI Reports · Exit Sign-Off

Section 13 — Post-Migration Governance: Greenfield

Section titled “Section 13 — Post-Migration Governance: Greenfield”

13.1 First Period-End Close in S/4HANA: CO Close Checklist

Section titled “13.1 First Period-End Close in S/4HANA: CO Close Checklist”
#StepTransactionDescriptionPass Criteria
1Confirm all goods movements postedMMBE / MB52No pending goods movements for the periodAll GR/GI posted and confirmed
2Confirm all production order confirmations postedCOHVNo open confirmationsAll confirmations complete
3Run overhead calculation on production ordersKGI2 / CO43Apply overhead surcharges to open ordersNo errors
4Calculate WIP on open production ordersKKAOWIP balance per orderWIP agrees to order actual costs minus confirmed output value
5Calculate variances on completed/settled production ordersKKS1 / KKS2Variance calculation per orderAll completed orders have variance calculated
6Settle production ordersKO88 / CO88Settle costs to cost objects and receiversAll settlement rules executed; no settlement errors
7Run assessment cyclesKSU5Execute CO-CCA assessment cyclesAll cycles complete; sender balances zero
8Run distribution cyclesKSV5Execute CO-CCA distribution cyclesAll cycles complete
9Close CO posting periodOKP1Close controlling periodPeriod closed; no further CO postings possible
10Run actual costing (CKMLCP) — see Section 13.2CKMLCPML actual costing runAll steps complete
11Close MM periodMMPVClose materials management periodPeriod closed; new period open
12Run FI depreciation (if AA in scope)AFABAsset accounting depreciation runAll assets processed
13Run FI period closeF.16 / F.07Close FI periodAll FI postings complete
14Run MB5L vs FS10N reconciliationMB5L / FS10NInventory value agrees to G/LZero variance

13.2 First Actual Costing Run: CKMLCP Sequence

Section titled “13.2 First Actual Costing Run: CKMLCP Sequence”
StepTransactionDescriptionPrerequisiteMonitor Via
1CKMLCP — SelectionDefine run: plants, period, fiscal yearMM period closed (MMPV)CKMLCP status screen
2CKMLCP — Determine SequenceSystem determines processing sequence for multilevel costingSelection completeSequence log
3CKMLCP — Single-Level Price DeterminationCalculate single-level actual prices per materialSequence determinedCKM3N per material
4CKMLCP — Multilevel Price DeterminationPropagate actual prices across BOM levels bottom-upSingle-level complete for all materialsCKM3N multilevel tab
5CKMLCP — Revaluation of ConsumptionPost revaluation documents to ACDOCA for goods movementsMultilevel completeACDOCA revaluation docs
6CKMLCP — WIP RevaluationRevalue WIP on open production orders at actual pricesRevaluation of consumption completeKKAO post-revaluation
7CKMLCP — Post Closing EntriesPost ML closing entries to ACDOCAWIP revaluation completeACDOCA ML closing docs
8CKMLCP — Close PeriodClose ML period — no further ML postings possible for periodAll prior steps completeCKMLCP status: closed
9CKM3NReview ML cockpit per material — verify actual price, consumption revaluation, WIP revaluationPeriod closedCKM3N per plant/material
10MLDOC_EXTRACTExtract ML documents for reconciliation and auditPeriod closedCustom report / BW extract

First Run Prerequisites Specific to Greenfield:

  • All opening inventory postings (561) must be in the same period as the first CKMLCP run — do not split inventory loads across two periods
  • All open production order WIP loaded via Job_DM_ProductionOrder_IDOC must be in the first period
  • Activity prices (KP26) must be loaded before CKMLCP — actual costing uses planned activity prices as the basis for single-level price calculation until actual prices are confirmed
  • COGS Split must be active — first CKMLCP run generates COGS revaluation documents that split across cost component G/L accounts

First Run Monitoring Checklist:

CheckToolExpected Result
All materials in scope processed by single-level stepCKMLCP status / CKM3NStatus: completed for all materials
No materials stuck in multilevel — circular BOM checkCKMLCP multilevel logZero circular BOM errors
Revaluation documents posted to ACDOCAACDOCA displayRevaluation documents with ML document category
WIP revaluation agrees to KKAO outputKKAO / ACDOCAWIP value matches post-revaluation order balance
No materials with zero actual price after multilevelCKM3NAll materials have non-zero actual price
COGS revaluation split correctly across cost componentsMargin analysis / ACDOCACOGS split amounts agree to cost component structure

13.3 Ongoing MB5L vs FS10N Reconciliation Framework

Section titled “13.3 Ongoing MB5L vs FS10N Reconciliation Framework”
StepDescriptionTransactionFrequencyOwner
1Run MB5L for all plants — total inventory value per valuation areaMB5LMonthly (period-end)FI Consultant
2Run FS10N for all inventory G/L accounts — balance per accountFS10NMonthly (period-end)FI Consultant
3Compare MB5L total to FS10N total per valuation class / G/L accountCustom reconciliation reportMonthlyFI Consultant
4Investigate any variance — identify posting without ML document or ML document without FI postingCKM3N / ACDOCAAs neededCO-PC Consultant
5Document reconciliation result and obtain sign-offReconciliation workbookMonthlyFI Lead / Controller
6Escalate unresolved variances to SAP support if systemicSAP OSS messageAs neededMigration Lead

Common causes of MB5L vs FS10N variance in greenfield post go-live:

CauseDetectionResolution
Goods movement posted to wrong valuation classCKM3N — valuation class mismatchCorrect valuation class in material master; reverse and repost
ML document missing for a goods movementACDOCA — FI document exists but no ML documentVerify ML activation for valuation area; apply correction note if systemic
Currency translation rounding accumulationACDOCA — group currency balance driftsRun ML currency rounding correction if SAP-supported for release
Revaluation document not postedCKMLCP status — revaluation step incompleteRe-run revaluation step for affected period
COGS Split G/L mapping incompleteMargin analysis — COGS amounts missingComplete cost component to G/L mapping; re-run COGS Split for affected period if supported

13.4 ML Document Monitoring: CKM3N and MLDOC_EXTRACT

Section titled “13.4 ML Document Monitoring: CKM3N and MLDOC_EXTRACT”

CKM3N — Material Ledger Cockpit:

CKM3N ViewWhat It ShowsWhen to Use
OverviewInventory quantity, cumulative inventory, beginning inventory per periodFirst check after each period close
ReceiptsAll goods receipts and their ML valuesInvestigate receipt value anomalies
ConsumptionAll goods issues with COGS Split breakdownVerify COGS Split functioning correctly
Production VariancesVariance categories per production order settlementVerify variance calculation and settlement
Actual PricePeriodic unit price (PUP) after actual costing runConfirm PUP reasonable vs standard price
RevaluationRevaluation documents posted per consumptionVerify revaluation amount and direction
MultilevelPrice propagation from lower BOM levelsInvestigate multilevel costing anomalies

MLDOC_EXTRACT provides a structured extract of all ML documents for a plant/period. Use it for audit trail of all ML-relevant postings, BW/analytics feed for ML reporting, reconciliation input comparing ML document values to ACDOCA balances, and investigation of specific ML document categories (price change, revaluation, settlement). Run at the end of each period and store the output as an audit artifact.

13.5 RDM Reconciliation Reports: Ongoing Use

Section titled “13.5 RDM Reconciliation Reports: Ongoing Use”

The WebI reconciliation reports delivered by SAP Note 2239701 are not only for cutover — they should be integrated into the ongoing data quality monitoring framework.

Report CategoryPost-Cutover UseFrequency
IDoc Status CheckMonitor any late-arriving IDocs from cutover loads; identify IDocs in error statusWeekly — first month post go-live
Reconciliation reportsCompare loaded quantities and values to ECC extract; confirm no driftMonthly — first quarter
Data quality profiling (Information Steward)Ongoing master data quality monitoring for material master and business partnerMonthly ongoing
Vendor/Customer deduplication reportsIdentify duplicate BP records created post-migrationQuarterly

Section 14 — Greenfield Closing Recommendations

Section titled “Section 14 — Greenfield Closing Recommendations”

14.1 Five Non-Negotiables for Greenfield ML Cutover

Section titled “14.1 Five Non-Negotiables for Greenfield ML Cutover”
#Non-NegotiableWhy It Cannot Be SkippedConsequence If Skipped
1ML Customizing frozen before first data load — OMXW currency types, OMX1 price determination, OMWC split valuation, COGS Split all complete and signed offEvery data load builds on Customizing; retroactive changes require full data reloadInventory posted in wrong currency types; no COGS Split from day one; split valuation inoperative
2Released cost estimate before inventory load for all S-price materials — status FR in CK40N verified per plantJob_DM_InventoryBalance uses STPRS; without released cost estimate STPRS is zeroOpening inventory at zero value; ACDOCA incorrect from first posting; requires full reverse and reload
3Secondary CE to G/L mapping complete before CO master data load — all ECC secondary CEs mapped, CO cycles rebuilt with primary G/L accountsS/4HANA does not support secondary cost elements per Note 2239701; CO cycles referencing secondary CEs failPeriod-end close fails on first run; assessment and distribution cycles inoperative
4No INFREC IDoc for info record migration — use ME_INFORECORD_MAINTAIN API per Note 2239701INFREC IDoc is for ALE distribution, not data migration; EKBZ data corruption causes actual costing errorsDelivery costs in EKBZ incorrect; actual costing PUP calculation wrong from first run; Note 2385542 data quality issue triggered
5COGS Split active before first goods issue — verified as go-live gate itemCOGS Split cannot be retroactively applied to documents already postedFirst period margin analysis has no cost component breakdown; management reporting gap from day one

14.2 Three Highest-Value Opportunities Unique to Greenfield

Section titled “14.2 Three Highest-Value Opportunities Unique to Greenfield”
#OpportunityWhat It EnablesHow to Capture It
1Valuation class rationalization — consolidate ECC legacy valuation classes into a clean S/4HANA set aligned to the chart of accountsAccurate COGS Split from day one; simplified account determination; fewer OBYC entries to maintainComplete the full ECC-to-S/4HANA valuation class mapping table in Phase 1; validate all account determination in QA before go-live
2Cost component structure redesign — build from scratch aligned to margin analysis requirementsGranular COGS Split in CO-PA; meaningful cost-of-goods-manufactured vs cost-of-goods-sold split; transfer pricing via cost component viewsRun a cost component design workshop in Phase 1 with FI, CO, and business controlling stakeholders; align components to G/L accounts before OKTZ configuration
3Actual costing decision per plant — make the right on/off decision with full information, not constrained by ECC legacyPlants that need actual PUP for inventory revaluation get it; plants where standard costing is sufficient avoid CKMLCP overheadDocument the decision per plant in Phase 1 with the business rationale; sign off before CKMVFM execution in Phase 2 — this decision is non-reversible

14.3 Success Criteria and Sign-Off Checklist

Section titled “14.3 Success Criteria and Sign-Off Checklist”
#Success CriterionVerification MethodSign-Off Owner
1All OMXW currency types configured and verified — types 10/30/31/32 per valuation areaSE16N on T001K / OMXWFI Lead
2All CKMLCT entries exist for every valuation area per Note 2413401SE16N on CKMLCTCO-PC Lead
3All S-price materials have released cost estimate — CK40N status FRCK40N / CK13N mass checkCO-PC Lead
4All split valuation type MBEW records loaded including zero-stock types — KZVKZ = XSE16N on MBEW filtered by BWTTYMM Lead
5MB5L quantity and value agrees to ECC extract within toleranceMB5L vs ECC MBEW extract reconciliation workbookFI Lead / Controller
6ACDOCA populated with all configured currency types for every inventory documentCustom ACDOCA queryFI Lead
7GR/IR balance agrees to open PO registerMR11 / ACDOCA GR/IR accountFI Lead
8COGS Split active and verified via test goods issue postingTest GI in QA — margin analysis COGS Split visibleCO-PC Lead
9All CO assessment and distribution cycles rebuilt with primary G/L accounts — no secondary CE referencesKSU5 / KSV5 cycle activation test in QACO Lead
10No RFC_CVI_EI_INBOUND_MAIN usage — BP migration via Job_DM_CustomerMaster_IDOC and Job_DM_Vendor_IDOC onlyETL job log reviewMDM Lead
11No INFREC IDoc usage — info records loaded via ME_INFORECORD_MAINTAIN APIETL job log reviewMM Lead
12All correction notes from Note 2345739 applicable to target SP level implemented in productionSNOTE implementation logBasis Lead
13WebI reconciliation reports deployed and reviewed — no unresolved data quality issuesSAP BusinessObjects WebI report outputData Quality Lead
14KKAO WIP verification complete — all open production orders agree to ECC COEP extractKKAO output vs COEP extractCO-PC Lead
15LSMW not used in any migration object — confirmed by ETL job log reviewETL architecture reviewETL Architect
16First mock cutover duration fits within approved migration windowCutover timing log from mock 2Project Manager
17Actual costing on/off decision documented and signed off per plantDesign decision logBusiness Owner / CO Lead
18Transfer pricing configured under S/4HANA TP framework — first intercompany movement tested in QAQA test resultCO Lead
19RDM Extension Guide followed for all custom DS flows — custom flows tested in minimum two mock cutoversCustom flow test logETL Architect
20Full hypercare plan in place — monitoring schedule, escalation path, exit criteria definedHypercare plan documentProject Manager