JCDS table — Status Change Documents
JCDS stores the history of status changes for SAP objects that use general status management. It records when a system or user status was activated or deactivated for an object number and provides the chronological counterpart to JEST's current status snapshot. Status codes must be translated and interpreted in the context of the owning business object.
A consultant-focused reference for JCDS covering its purpose, key fields, joins, safe query restrictions, proof steps, release context, ownership and recurring interpretation traps.
Published 20 Sept 2026· 924 words
What it stores
JCDS stores the chronological history of status activations and deactivations for objects using SAP status management. Each row must be interpreted using the complete technical key and the application process that writes it. A consultant should first establish whether the row represents current state, a dated master-data slice, a document item, a history event, an index entry or a compatibility representation. Organizational levels, validity dates, fiscal years, ledgers, languages, statuses and sequence numbers are part of the grain whenever those dimensions exist. The table should be read as evidence of application behavior, not as an isolated spreadsheet. Confirm the owning business object and configuration before deciding that a value is wrong.
Key fields
These are the fields most useful for identification, scoping and investigation. Verify key flags and data elements in SE11 for the exact installed release before building permanent extraction logic.
- OBJNR — object number of the business object.
- STAT — technical system or user status code.
- CHGNR — change sequence or status change number.
- UDATE/UTIME — date and time of status change.
- USNAM — user responsible where recorded.
- TJ02T or user-status text tables — translate technical status codes.
How it joins the data model
Use complete business keys, not field-name similarity. Include client and organizational dimensions on both sides, respect validity dates and language, and test cardinality before aggregating. A one-to-many child join can multiply financial or quantity totals without producing a database error.
- O
- B
- J
- N
- R
- a
- n
- d
- S
- T
- A
- T
- t
- o
- J
- E
- S
- T
- f
- o
- r
- c
- u
- r
- r
- e
- n
- t
- s
- t
- a
- t
- e
- |
- S
- T
- A
- T
- t
- o
- T
- J
- 0
- 2
- T
- f
- o
- r
- s
- y
- s
- t
- e
- m
- -
- s
- t
- a
- t
- u
- s
- t
- e
- x
- t
- |
- O
- B
- J
- N
- R
- t
- o
- A
- U
- F
- K
- ,
- E
- Q
- U
- I
- ,
- n
- o
- t
- i
- f
- i
- c
- a
- t
- i
- o
- n
- s
- o
- r
- o
- t
- h
- e
- r
- o
- w
- n
- i
- n
- g
- o
- b
- j
- e
- c
- t
- s
How to read it safely
Begin with one known business object and the narrowest possible selection. Include MANDT where the table is client-dependent and never assume a document, partner, asset, material or account number is globally unique. Add the relevant company code, controlling area, plant, sales area, fiscal year, ledger, language, validity interval, item and sequence fields. Check inactive, deletion, reversal and status indicators before counting a row as operational. For high-volume transaction or change-history tables, restrict by object key and date before joining. Confirm indexes and key flags in the target system because releases and activated components can alter structure and performance. Use supported transactions, apps or APIs for correction; direct database updates are unsafe and unsupported.
How to prove it in the data
Take one reproducible example from the relevant SAP screen, report or application log. Record its full displayed key, organizational context, key date, language and status. Locate the matching JCDS row using those values, then follow the documented parent and child joins without dropping key components. Compare the result using the same key date and ledger. When values differ, test for leading-zero conversion, multiple validity slices, inactive history, parallel ledgers, fiscal-year boundaries, archived data and asynchronous replication. Save the read-only evidence before escalating. If the row is wrong, reproduce the maintenance path in a non-production system and route the fix to the application owner rather than changing the table.
ECC vs S/4HANA
JCDS remains the standard status-history table in S/4HANA for objects using classic status management. It is a technical status trail, not necessarily a complete business audit log, and should be read together with the object master and status-text/profile tables.
Common pitfalls
- Selecting by one convenient identifier and silently mixing organizational units, years, ledgers, languages or validity periods.
- Joining on a partial key or descriptive value and creating duplicates that appear to be legitimate business rows.
- Ignoring inactive, deletion, reversal or status indicators and reporting retained history as current state.
- Assuming this table is authoritative without checking S/4HANA simplification, Business Partner synchronization, Universal Journal, MATDOC, CDS views or an external cloud source.
- Treating a missing row as proof that an event never occurred even though logging, replication, authorization and archiving scope can differ.
- Updating table rows directly instead of correcting data through the supported transaction, app, API or migration process.
Whose problem this is
The functional team owning the underlying business process owns interpretation and configuration. Master-data or operations teams own missing or incorrectly maintained records. ABAP, integration and data teams own extraction, conversion and join defects. Basis, security and database teams own authorization and performance issues. Ownership should be assigned only after the same business key has been reconciled across the application, this table and its related objects.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/jcdsERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.