Universal Journal ACDOCA Replacing Classic Totals Tables
ACDOCA is the single line-item table in S/4HANA that now holds FI, CO, AA, ML and profit centre data together at the most granular level. It replaces the separate GL totals tables, CO totals tables, and the various index tables, eliminating reconciliation between modules but requiring every custom program that read those old tables directly to be rewritten or redirected through compatibility views.
This page covers how document posting and reporting worked in classic ECC using separate FI and CO totals tables versus the single Universal Journal table in S/4HANA. It focuses on what breaks in custom code, authorisations and month-end when the underlying data model collapses into one table, and what a conversion project must check before go-live.
Published 16 Sept 2026· 1,216 words
Classic ECC behaviour
In classic ECC, financial data was split across purpose-built tables. GLT0 held general ledger totals by fiscal period. FAGLFLEXT held the new GL totals if the new General Ledger was active. CO line items and totals lived in separate CO tables (COEP, COSP, COSS). Asset accounting had its own ANEK/ANEP tables. Each module kept its own summarised and line-item structures, and a set of index tables (BSIS, BSAS, BSID, BSAD, BSIK, BSAK) supported open and cleared item reporting for GL, customer and vendor accounts. Reconciliation between FI and CO ran through periodic jobs and reconciliation ledgers, because a CO-internal allocation or settlement did not automatically post to FI in real time unless real-time integration was configured. Reports had to decide which table to read depending on whether the figure needed was a GL balance, a CO cost element view, or an open item list, and totals records were pre-aggregated for performance, which meant drill-back to source documents relied on separate index and line-item tables staying in sync with the totals.
S/4HANA behaviour
ACDOCA is a single, highly denormalised line-item table that carries FI, CO (including real-time CO-FI integration by design), Asset Accounting, Material Ledger and Profit Centre data at the same granularity, for every posting. There are no separate totals tables generated and maintained in parallel; totals and reports are calculated on the fly from ACDOCA because the underlying database can aggregate at speed. GLT0, FAGLFLEXT, COEP, COSP, COSS and the classic index tables (BSIS/BSAS/BSID/BSAD/BSIK/BSAK) are no longer populated as physical tables in the same way; where they still exist they are exposed as compatibility views that read from ACDOCA, so old code that selects from them still returns data but the underlying source is the Universal Journal. Every journal entry now carries characteristics that used to be scattered across module-specific tables: cost element, profit centre, segment, functional area, and for material postings the actual costing fields, all on one line. Reconciliation between FI and CO effectively disappears because both are the same record; there is no month-end reconciliation run between ledgers for that purpose anymore.
Project impact
This is where conversion projects lose the most time, because the change is invisible in configuration screens but fatal in code and reporting.
- Custom ABAP reports, LSMW loads, and interfaces with direct SELECT statements against GLT0, FAGLFLEXT, COEP, COSP, COSS or the BSIS/BSAS/BSID/BSAD/BSIK/BSAK family must be checked; most still run against the compatibility views but performance and field content can differ, and some custom code inserts or updates those tables directly, which fails outright
- Custom Z-tables built as shadow copies of totals tables for performance reasons become redundant and sometimes contradict ACDOCA-based standard reports, causing finance to see two different numbers for the same period
- Authorisation objects built around the old table structure or around CO-specific transactions may not carry over cleanly, since some classic CO reporting transactions are hidden or replaced and users lose access they expected
- Month-end habits built around running a separate CO-FI reconciliation step, or checking cost centre actuals in a CO-only transaction before checking FI, no longer match the new real-time integrated posting flow, and finance teams keep running redundant reconciliation jobs out of habit
- Reports that joined FI and CO tables manually to get a combined view now duplicate what ACDOCA gives natively, and if not retired they risk double-counting or mismatched join keys
- Data volume and archiving strategy for the old tables needs a decision, since historical data before conversion sits in the old tables or is migrated into ACDOCA with historical load logic, and reporting across the cutover date can silently split into two different data sources
Migration actions
None of this is cosmetic; the technical data model change is the gate the whole finance conversion sits behind.
- Run a custom code impact scan (SAP's remote-enabled analysis tooling or an equivalent ABAP Test Cockpit check) against the full custom codebase to find every direct read, insert, update or delete against the classic totals and index tables; this is a mandatory pre-conversion gate, not optional cleanup
- Classify each finding: reads through the compatibility view usually work unchanged, but any direct write, any native SQL bypassing the view, and any use of table-specific technical fields that do not exist in ACDOCA must be remediated before cutover
- Retire or rebuild custom shadow totals tables and custom reconciliation reports that duplicated FI-CO reconciliation, since keeping them running in parallel with the Universal Journal produces conflicting numbers that finance will not trust
- Rebuild authorisation roles for any transaction or report that changes shape, particularly custom CO reporting variants and any Z-transaction built on the old table structure
- Plan the historical data strategy explicitly: decide whether prior-year data is migrated into ACDOCA, left in legacy tables for reference, or both, and document which reports read which source so nobody builds a report spanning the cutover date that silently mixes sources
- Retrain finance on the disappearance of the FI-CO reconciliation step and on any new drill-down paths, since old T-code muscle memory pointing at CO-only totals reports no longer reflects how the number was actually calculated
Whose problem this is
Both. The technical team owns the custom code scan, remediation of direct table access, and performance validation of compatibility views under production volume. The functional FI/CO lead owns deciding which legacy reports and reconciliation steps are retired versus rebuilt, and owns sign-off that finance trusts the new single source of truth before go-live.
Common pitfalls
The gap between a clean sandbox test and a real cutover is almost always volume and timing.
- A custom code scan run early in the project against a small subset of Z-programs misses reports generated dynamically or called through variant transactions, so items surface only during integration test or, worse, at first month-end close on the new system
- Compatibility views perform fine in unit test with a handful of documents but slow down badly once run against a full fiscal year of production-volume postings, because the view has to aggregate what used to be pre-summarised
- Teams keep a legacy CO-FI reconciliation report running after conversion 'just in case', and it produces a mismatch against ACDOCA-based standard reports purely because of timing differences in when each was refreshed, triggering a false alarm at the first close
- Historical data loaded into ACDOCA with a different granularity or default characteristic value (profit centre, segment) than what was used going forward creates a discontinuity in trend reports that nobody notices until a year-over-year comparison is run
- Authorisation testing focuses on transaction access but misses field-level or table-level authorisation changes tied to the old table structure, so a user who could see everything in ECC is unexpectedly restricted in production
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-s4hana-changes/universal-journal-acdoca-replaces-the-classic-totals-and-index-tablesERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.