CSKT table — Cost Center Text Table CSKT
CSKT stores the language-dependent short and long descriptions of cost centers, keyed by controlling area, cost center, validity end date and language. It has no amounts and no organizational attributes of its own; those live in CSKS. A missing or wrong description on a report almost always traces back to a maintenance gap or a language row that was never created here.
This page covers CSKT, the text table that holds cost center names and descriptions across languages and validity periods. It focuses on how CSKT joins to CSKS, why descriptions appear blank or in the wrong language on reports, and the maintenance mistakes that cause mismatched text periods.
Published 15 Sept 2026· 1,043 words
What it stores
One row in CSKT is the description of a single cost center, in one language, valid up to one date. SAP splits cost center master data into a control table (CSKS), which carries the organizational attributes such as responsible person, hierarchy area and cost center category, and a text table (CSKT), which carries only the human-readable name. This split is standard practice across master data objects that need multilingual support. A cost center that exists for several years with attribute changes in between will have multiple CSKS rows for different validity periods, and correspondingly it can have multiple CSKT rows per language if the description itself changed at some point, or just one row per language if the name never changed even though the underlying CSKS validity period did.
Key fields
- MANDT - client, always the first field in any selection or join
- KOKRS - controlling area the cost center belongs to
- KOSTL - cost center number
- DATBI - validity end date of this text record, part of the key alongside KOKRS and KOSTL
- SPRAS - language key for this text row
- KTEXT - short description, the one usually shown on report columns
- LTEXT - long description, used in cost center master data display and some detail lists
How it joins the data model
- CSKT-KOKRS = CSKS-KOKRS and CSKT-KOSTL = CSKS-KOSTL and CSKT-DATBI = CSKS-DATBI to attach the correct text to the correct validity slice of the master record
- CSKT-SPRAS = sy-langu or the reporting language to pick the row a given user or job should see
- COEP-KOSTL = CSKT-KOSTL (with matching KOKRS) when a line item report needs to display a cost center name rather than just the number
- ACDOCA-KOSTL = CSKT-KOSTL for the same purpose when reading the universal journal in S/4HANA
How to read it safely
Always restrict on MANDT implicitly and on KOKRS explicitly; skipping the controlling area on a large system returns text rows for cost centers that share a number across controlling areas and produces false matches. Restrict on SPRAS to the language actually needed, otherwise the same cost center returns once per maintained language and any downstream join multiplies row counts. DATBI is not a simple date filter, it is part of the key that defines validity periods, so selecting on DATBI equal to today's date misses periods that end in the future; use DATBI greater than or equal to the date of interest and take the lowest qualifying value, mirroring the standard pattern used against CSKS.
How to prove it in the data
Symptom: a cost center report shows the correct number but a blank or 'unknown' description. Selection: read CSKT for that MANDT, KOKRS, KOSTL and the reporting SPRAS with DATBI greater than or equal to the report's key date, taking the smallest DATBI that satisfies it. No row at all means the text was never maintained in that language, most often because the cost center was created via a mass load that only populated the logon language. A row exists but with an old DATBI earlier than the key date points to a validity gap.
ECC vs S/4HANA
CSKT is unchanged in S/4HANA and continues to exist as a standard, directly maintained table. It was not absorbed into the universal journal because it is master data text, not a transactional or balance table, and the universal journal redesign in S/4HANA touched line-item and totals tables such as ACDOCA, not master data text tables. Cost center maintenance transactions still write to CSKS and CSKT exactly as in ECC.
Common pitfalls
- Assuming a blank description means the cost center does not exist. It usually means CSKS has the master record but CSKT has no row for the requested language, which is a text maintenance gap, not a master data gap.
- Selecting CSKT without KOKRS on a system with several controlling areas sharing overlapping cost center number ranges, returning the wrong description silently rather than erroring out.
- Treating DATBI as a snapshot date filter instead of the validity-period key it actually is, which causes reports to miss the currently valid text when a cost center's name was changed mid-year.
- Forgetting that changing a cost center's description does not touch CSKS at all, so anyone diagnosing a 'the master data changed but nothing shows in the change document for the attributes' complaint is often looking at the wrong table; the change is purely textual and lives in CSKT history if change logging is active.
- Joining COEP or ACDOCA line items directly to CSKT without also matching DATBI, producing duplicate rows in the output when a cost center has more than one historical description and the report tool does not deduplicate.
- Editing CSKT directly through a mass table maintenance tool to 'fix' a typo without going through the cost center master maintenance transaction, which leaves change documents inconsistent with what users see in the master record display.
Whose problem this is
Cost center descriptions are controlling master data, owned by the controlling or cost center accounting team, not by the technical basis team or the FI team running the general ledger. Language gaps are a data governance issue for whoever runs mass cost center creation or upload jobs, since a missing translation is a maintenance omission rather than a system defect.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/csktERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.