SAP ECC and S/4HANA
The financial and logistical system of record for most large enterprises: what was ordered, made, moved, invoiced and posted.
01 What it holds
The data inside it
Master data for materials, customers, vendors and cost objects, plus every document that moves value between them. If a figure is defended in a board pack, this is usually where it starts.
MARA / MARC (material), KNA1 (customer), LFA1 (vendor), VBAK / VBAP (sales order), EKKO / EKPO (purchase order), BKPF / BSEG (accounting document), ACDOCA (universal journal in S/4), MSEG (material movement), CE1xxxx (COPA)
02 Getting the data out
Extraction, and the keys that decide whether it joins
Three honest options: CDS views or OData in S/4, direct table extraction with delta pointers in ECC, or an SLT / CDC feed. Extraction is rarely the hard part — deciding which of four overlapping tables represents the truth is.
Almost everything is scoped by client (MANDT) and company code (BUKRS). Material and customer numbers are often padded with leading zeros in one table and not in another, which is the single most common cause of a join that silently returns nothing.
03 What goes wrong
The failures that look like success
Each of these produces a number that is plausible, reconciles to something, and is wrong. They are worth reading before the first extract, not after the first dispute.
Table sprawl for one business event
A sales order touches VBAK, VBAP, VBEP, VBUK and then LIPS and VBRK downstream. Picking the wrong grain double-counts revenue in a way that looks plausible for months.
ACDOCA changed the rules
S/4 collapses FI, CO and COPA into one universal journal. Reports built on the classic ECC tables can be reproduced but not simply lifted, and assuming otherwise is how migrations lose their reporting.
Custom Z-fields carry the real logic
Most SAP estates keep business-critical attributes in customer-specific fields and append structures that no standard extractor knows about.
Currency and period logic
Document, local and group currency all exist, converted at different rates on different dates. Choosing one without saying so produces numbers finance will not accept.
04 Joins that matter
What this system is worth joining to
| Join to | What it lets you answer |
|---|---|
| MES | to value production against standard cost, and to reconcile confirmed output |
| CRM | to connect the quote and the order to the invoice actually raised |
| WMS / TMS | to compare delivered freight cost against the terms priced into the order |
05 Metrics it feeds
The numbers that come out of it
06 Questions
Frequently asked
Should we extract from SAP or report inside it?
Report inside it for statutory and transactional views; extract when a question needs SAP joined to something SAP does not hold — which is most questions in this dictionary. The value tree almost always crosses a system boundary.
How do we avoid a two-year SAP data project?
Scope to one domain and the tables that domain needs, with business logic applied at extraction rather than reconstructed afterwards. Estate-wide table replication produces a copy of the problem, faster.
Connect this system without replacing it
SCIKIQ reads it in place, resolves the entities inside it and governs what the fields mean.