ACDOCP table — Universal Journal Plan Line Items Table
ACDOCP is the S/4HANA Universal Journal table for plan data: each row is one planning line item combining company code, account, planning version, fiscal year, period and controlling object (cost center, profit center, WBS element, order) with a planned amount in local and group currency. It mirrors ACDOCA's structure but holds figures written by planning functions, embedded planning apps or SAP Analytics Cloud integration, not posted FI documents.
This page covers ACDOCP, the plan-data counterpart to ACDOCA in S/4HANA's Universal Journal, used by cost center, profit center and profitability planning scenarios. It focuses on which fields are safe to rely on, how to join it against actuals and master data, and the specific ways plan figures in this table get misread as if they were posted transactions.
Published 15 Sept 2026· 1,032 words
What it stores
One row in ACDOCP is a single plan line item: one combination of company code, general ledger account, planning version, fiscal year, period and the relevant controlling object (cost center, profit center, WBS element, internal order, segment) together with the planned amount in local and group currency. It has the same wide, denormalized shape as ACDOCA, the actual-data Universal Journal table, deliberately, so plan and actual figures can be compared field for field without a translation layer. There is no accounting document number on a plan line because it was never posted through FI; it was written by a planning function, a manual entry in an embedded planning app, an upload from SAP Analytics Cloud, or an allocation cycle run against a planning version. The table underpins embedded cost center planning, profit center planning and profitability planning in S/4HANA.
Key fields
- RCLNT - client
- VERSION - planning version identifying which planning scenario the row belongs to (exact field name not fully confirmed)
- RYEAR - fiscal year
- POPER - posting period
- RBUKRS - company code
- RACCT - general ledger account / cost element
- KOKRS - controlling area
- RCNTR - cost center
- PRCTR - profit center
- SEGMENT - segment
- PS_POSID - WBS element (uncertain spelling)
- AUFNR - internal order (uncertain whether present on all planning apps)
- HSL - amount in company code (local) currency
- KSL - amount in group currency
How it joins the data model
ACDOCP shares its dimensional fields with ACDOCA and with the classic controlling master data tables, so most joins a consultant writes here are the same joins used against actuals, just restricted by planning version instead of document number.
- ACDOCP-RACCT = SKA1-SAKNR
- ACDOCP-RACCT = SKB1-SAKNR
- ACDOCP-RBUKRS = T001-BUKRS
- ACDOCP-RCNTR = CSKS-KOSTL
- ACDOCP-RACCT = ACDOCA-RACCT, matched also on RBUKRS, RYEAR and POPER, to compare plan against actual for the same account and period while VERSION and ledger differ
How to read it safely
ACDOCP is client-dependent and can be large once several planning versions and multiple replanning cycles have run, so RCLNT is implicit but the real filters that matter are VERSION, RYEAR and RBUKRS, applied together before touching RCNTR or PRCTR. Never scan the table by account alone across all versions; a single account can carry a dozen unrelated plan scenarios in different versions and years. Selectivity improves sharply once POPER is added, because most planning apps write at period or year-bucket granularity, and pulling a single period avoids summing rows that were never meant to be added together.
How to prove it in the data
Symptom: a profit center planning report shows a total that does not match what was uploaded from SAP Analytics Cloud. Select ACDOCP restricted on RBUKRS, VERSION, RYEAR, PRCTR and RACCT for the period in question, sum HSL, and compare that figure directly against the source file or the SAC story export for the same version and period. A mismatch at this level points to a version or period mapping error in the integration, not a reporting layer problem.
ECC vs S/4HANA
ACDOCP exists only in S/4HANA; there is no ECC equivalent because ECC planning ran through separate CO tables such as those behind cost center and profit center planning transactions. Migrating to S/4HANA does not automatically move historical plan data into ACDOCP; older plan versions may remain in the classic tables if the planning process for that scenario was never converted to embedded planning. Where embedded planning is active, ACDOCP is the single source for plan line items across cost center, profit center and profitability planning.
Common pitfalls
- Treating ACDOCP as the complete record of all planning activity in the system: scenarios that were never migrated to embedded planning may still write to classic CO planning tables, and ACDOCP will simply be empty for those.
- Assuming a VERSION value means the same thing everywhere: the same version number can represent different planning contexts depending on which app or process created it, and comparing across apps without confirming the version definition produces false discrepancies.
- Expecting a change history: replanning typically overwrites or deletes and reinserts rows for a version, so there is no document-level audit trail comparable to FI postings; historical reconstruction from ACDOCP alone is unreliable.
- Reading HSL as if it were the only currency that matters: group currency figures live in KSL, and mixing them when a report expects one or the other silently inflates or shrinks totals.
- Comparing ACDOCP to ACDOCA period by period without checking granularity: plan data is often written at year or half-year buckets rather than monthly, so a monthly actual will never tie exactly to a monthly plan slice pulled the same way.
- Editing rows directly: consistency structures maintained by the planning framework (aggregation, indexing, version locking) are not maintained by a direct table change, and the next planning run can produce inconsistent totals as a result.
Whose problem this is
A discrepancy in ACDOCP is a controlling or planning-lead question first, since it depends on which planning function, app or SAC integration wrote the row and under which version definition. FI does not usually own version semantics. Basis or the analytics team is pulled in only if the embedded planning model itself is misconfigured, not for individual data mismatches.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/acdocpERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.