SAP S/4HANA · Controlling · Legacy → ACDOCA
COEP, COSP & COSS in S/4HANA
Compatibility viewCO-OM
Short answer
In S/4HANA, COEP, COSP, and COSS are compatibility views, not your source. CO actuals are journal lines in ACDOCA — the cost element is RACCT, and the cost center, order, and profit center are explicit columns (RCNTR, AUFNR, PRCTR). Read ACDOCA (or the released journal CDS view). Don't extract COEP/COSP/COSS.
COEP · line itemsCOSP/COSS · totals────▶ACDOCA · CO actuals
What they were
In ECC, Controlling kept its own tables. COEP held CO line items by period; COSP and COSS held the pre-aggregated totals — COSP for external (primary) postings, COSS for internal (secondary) ones. The CO object — cost center, order, or WBS element — was encoded in a single 22-character field, OBJNR.
What changed in S/4HANA
HANA aggregates on the fly, so the CO totals tables aren't needed — and FI and CO are now one journal. The names live on as compatibility views; the data resolves to ACDOCA.
| Object | Was | Now in S/4HANA |
|---|---|---|
| COEP | CO line items (table) | Compat view → ACDOCA |
| COSP | CO totals, external (table) | Compat view → ACDOCA |
| COSS | CO totals, internal (table) | Compat view → ACDOCA |
| ACDOCA | — | Transparent table — every CO actual line |
| COBK | — | Still written — the CO document header |
Actuals (value type 04) and statistical actuals (11) are in ACDOCA. Other value types — plan, target — still sit in COEP, COSP_BAK, and COSS_BAK. The compatibility view V_COEP merges the two to rebuild the old shape; V_COEP_ORI reaches the original old rows. Build new reporting on ACDOCA, not on these views (SAP Note 2270404).
Where the fields went — COEP to ACDOCA
| COEP field | ACDOCA field | Meaning |
|---|---|---|
| OBJNR | RCNTR / AUFNR / PRCTR | The CO object — was one encoded field, now explicit columns |
| KSTAR | RACCT | Cost element — now merged with the G/L account |
| GJAHR | GJAHR | Fiscal year |
| PERIO | POPER | Posting period |
| BELNR | BELNR | Document number (now the universal-journal document) |
| BUZEI | DOCLN | Line item (now 6-digit) |
| WKGBTR | KSL | Amount in controlling-area currency |
| WTGBTR | TSL | Amount in transaction currency |
| — | HSL | Amount in company-code currency (FI and CO share it now) |
| WRTTP | — | Value type; in ACDOCA the actual ('04') is the record itself |
The big change is OBJNR. In ECC you decoded a 22-character object key to find the cost center or order. In ACDOCA the assignments are first-class columns — RCNTR, AUFNR, PRCTR — so no decoding, and one line can be sliced every way at once. Cost element and G/L account are now the same field (RACCT).
How to query it now
SELECT a.rcntr, a.aufnr, a.racct,
a.poper, a.hsl, a.ksl
FROM acdoca a
WHERE a.rldnr = '0L' -- leading ledger
AND a.rbukrs = :company_code
AND a.gjahr = :fiscal_year
AND a.racct BETWEEN :cost_elem_from AND :cost_elem_to;
Plan vs actual is not a single ACDOCA query. Actuals are in ACDOCA; plan and other value types stay in COEP / COSP_BAK / COSS_BAK. For plan/actual reporting, read ACDOCA for actuals and your plan source for plan — don't reach for the COEP compatibility view.
Extract it compliantly
| Method | Use when |
|---|---|
| Released CDS view + SLT | Bulk to a warehouse — the owned-layer path (I_GLAccountLineItem journal view) |
| Table / Table-CDC | Direct ACDOCA replication with delta |
| ODP-OData | SAP-sanctioned API, lower volume |
| SAP BDC / Datasphere Replication Flow | SAP-native pass-through (Delta Sharing) |
Not ODP-RFC. SAP Note 3255746 prohibits third-party ODP-RFC extraction, and a June 2026 security patch blocks it.
Related
ACDOCA — the Universal Journal hub · Cost Center report — built on it · Extraction pattern
Moving CO reporting off COEP/COSP/COSS?
We ship the ACDOCA SQL, CDS / SLT config, and dbt models — CO actuals reconciled to your books, and you own the code.