SAP transaction codeObjectKS02ModuleFI_FICO

KS02 — Change Cost Center Master Data

KS02 changes an existing cost center's master data: description, person responsible, cost center category, hierarchy assignment, currency, and the posting lock indicators. Changes are time-dependent, stored as new validity segments rather than overwriting history, so historical postings keep the attributes that were active when they were originally posted.

KS02 is the maintenance transaction for an existing cost center inside a controlling area. This page covers the time-dependency model that drives most of the confusion around it, the tables the save actually writes, and the diagnostic order for the failures that come up most often: validity-period conflicts, posting locks, and category changes that break downstream validations.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,191 words

What it does

KS02 opens an existing cost center for change within a controlling area. It covers the same field groups as creation: basic data (name, description, cost center category, person responsible), control data (currency, record quantity), templates, address, and communication. The structural fact that explains most confusion: cost center master data is time-dependent. Every field group lives inside a validity interval bounded by a start date and an end date. A change does not overwrite the current record in place; it either extends the existing interval or splits it into two, closing one segment and opening a new one from the change date forward. Reporting that joins postings to current master data by date will show different attributes for the same cost center depending on which period is being reported.

When it is used

Used whenever an already-created cost center needs a correction or a business change: reassigning the person responsible after a reorg, renaming the cost center, moving it to a different node in the standard hierarchy, changing its category to allow or block certain postings, or toggling the lock indicators that control which transaction types (actual primary postings, secondary postings, revenues, commitments, planning) are allowed against it. It sits in the same maintenance family as KS01 and KS03 and is reached directly by transaction code far more often than through a Fiori app, because most CO teams still run master data changes through the classic GUI transaction or a batch input program for mass changes. Mass changes across many cost centers at once go through the mass maintenance transaction instead of KS02 one record at a time.

How to use it

  • Enter the cost center number and controlling area (or let the controlling area default from the user's CO profile).
  • Choose the field group to change on the initial screen if not editing basic data by default, or accept the default and navigate tabs after entry.
  • Enter the date the change should take effect; this determines whether the existing validity segment is extended or split.
  • Change the required fields: description, person responsible, cost center category, hierarchy area, currency, lock indicators, or address/communication data.
  • Save. The system either updates the current segment or creates a new time-dependent record, closing the prior segment's end date automatically.
  • Check for a warning about overlapping or gap periods if the change date does not align cleanly with an existing segment boundary.

Key fields

  • CSKS - the cost center master record itself: controlling area, cost center number, validity dates, cost center category, hierarchy area, currency, lock indicators, person responsible.
  • CSKT - the language-dependent texts (name and description) for each cost center and validity period.
  • CDHDR and CDPOS - change document header and item tables, written when change logging is active for the cost center object, capturing old and new field values, the user, and the timestamp.

How to prove it in the data

Pull CSKS filtered on controlling area and cost center number and sort by the validity start date; this shows every segment and exposes gaps or overlaps at a glance. Cross-check CSKT on the same key plus language for the description that was active on a given date. To see who changed what and when, pull CDHDR filtered on object class for cost centers and the specific cost center as the object value, then join to CDPOS for the field-level old and new values. Compare the change timestamp against posting document dates to explain why a report shows attributes that do not match what the requester expects today.

ECC vs S/4HANA

The master data model and the time-dependent segment structure are unchanged on S/4HANA; KS02 still works exactly as in ECC. A Fiori app for managing cost centers exists and covers the same field groups with a modern UI, but the underlying tables and validity logic are identical, so diagnostics performed against CSKS and CSKT apply regardless of which front end was used to make the change.

Common pitfalls

  • Validity segment conflicts: the change date entered does not line up with an existing segment boundary, producing an error about the record already existing or a gap in validity. Check the existing segments in CSKS first before re-entering the change; back-dating a change that falls inside an already-posted period is a common trigger.
  • Posting locks misread as a master data bug: the four lock indicators (actual, plan, secondary costs, commitment) are transaction-type specific. A user reports 'the cost center is not working' when only one lock is set; check each indicator individually rather than assuming the whole cost center is blocked.
  • Category change breaking downstream validation: changing cost center category can suddenly cause postings to fail elsewhere with an account-not-permitted-for-category error, because G/L account and cost element validations reference category. This looks like an FI posting problem but the root cause is the KS02 change; check the change date and compare against the account assignment rules.
  • Historical reporting mismatch: changing person responsible or hierarchy assignment does not retroactively change old postings. Reports built on current master data joined to old documents will show the new attribute even for old transactions unless the report explicitly uses the posting date to select the master data segment.
  • Hierarchy move with existing plan or allocation data: moving a cost center to a different standard hierarchy node can leave planning versions, distribution cycles, or assessment cycles pointing at the old node. Check cycle segments and planning layouts after any hierarchy reassignment, not just the master record.
  • Cross-company code reassignment attempted mid-year: cost center company code assignment is derived and generally cannot be changed once postings exist against it; the fix is usually a new cost center plus a transfer posting, not forcing the change through KS02.

Whose problem this is

Functional CO ownership. A controlling consultant maintains the cost center; changes that affect company code or account assignment logic may need FI sign-off. Basis involvement is limited to authorization group setup on the cost center or change document configuration. A good handover includes the cost center number, the change date used, the old and new field values, and whether the change was a segment extension or a split.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/ks02ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.