SAP tableObjectTKA02ModuleFI_FICO

TKA02 table — Company Code Assignment to Controlling Area

TKA02 stores the assignment of company codes to a controlling area, the Customizing table behind cross-company-code controlling. One row means one company code has been assigned to one controlling area. It answers 'which controlling area does this company code post cost and profit data into', not currency, fiscal year variant, or operating concern settings, which live in the controlling area master table instead.

TKA02 is the enterprise structure Customizing table that links company codes to a controlling area. This page covers what a row actually represents, how to join it into cost accounting and finance queries, and the recurring mistake of confusing this assignment table with the controlling area master data table.

Published 15 Sept 2026· 1,058 words

What it stores

Each row in TKA02 represents one company code assigned to one controlling area. This is the Customizing content behind the enterprise structure step that answers the question of which controlling area a given company code's postings flow into for cost and profit reporting. In a single controlling area setup there is one row per company code, all pointing to the same KOKRS, enabling cross-company-code cost center accounting, internal orders, and profit center reporting across those company codes. The table does not carry currency, fiscal year variant, or operating concern information for the controlling area itself, only the linkage between the two organizational units. It is read constantly at runtime by CO postings to determine which controlling area a financial document derives into, even though it is maintained rarely, usually only during system setup or a legal entity restructuring.

Key fields

  • MANDT - client, always the first key field, easy to forget when comparing values across systems
  • KOKRS - controlling area code, the target of the assignment
  • BUKRS - company code being assigned to that controlling area

How it joins the data model

  • TKA02-BUKRS = T001-BUKRS to resolve the assigned company code to its master data, currency and country
  • TKA02-KOKRS = CSKS-KOKRS to see the cost centers that live in the assigned controlling area
  • TKA02-KOKRS = CSKA-KOKRS to see the controlling-area-level cost element master data in scope
  • TKA02-KOKRS = COEP-KOKRS to trace CO line items back to the controlling area a company code belongs to
  • TKA02-KOKRS and TKA02-BUKRS both appear on ACDOCA, so this table explains why a given RBUKRS on a universal journal line carries a particular RCNTR-relevant controlling area context

How to read it safely

TKA02 is a Customizing table, not a transactional one, so it is small, has no meaningful selectivity concerns, and every read should be scoped by client anyway since MANDT is always the leading key. There is normally no need to restrict further, a full table dump for the client in question is typically a handful to a few dozen rows. The only trap is treating a stale copy from a sandbox or golden client as representative of production, since assignments can differ between systems during a phased rollout or after a merger where a company code has not yet been reassigned everywhere.

How to prove it in the data

Symptom: a cost center report or internal order shows no data for a company code that should be posting, or a posting fails with an error that the company code is not assigned to any controlling area. Select TKA02 for MANDT equal to the current client and BUKRS equal to the company code in question. No row means the company code has never been assigned and CO postings will be rejected at document derivation. A row pointing to an unexpected KOKRS confirms the company code is live but reporting into a different controlling area than the one being queried.

ECC vs S/4HANA

TKA02 continues to exist in S/4HANA in the same shape, it is untouched by the Universal Journal changes because it is a lean Customizing table rather than a document or totals table. The assignment logic it drives still governs how a company code's postings derive a controlling area on ACDOCA lines. No compatibility view is needed for it since there was never a redundant totals table equivalent to replace, the assignment step and its underlying table are functionally identical to the classic ECC behavior.

Common pitfalls

  • Confusing TKA02 with the controlling area master table: TKA02 only carries the assignment, it does not hold the controlling area's currency, fiscal year variant, or operating concern, so troubleshooting a currency mismatch by staring at TKA02 wastes time, that data sits on the controlling area master record itself
  • Assuming a company code can appear against multiple controlling areas simultaneously in the standard scenario: the normal design is many company codes to one controlling area, not one company code split across several, seeing a company code missing entirely is more common than seeing it duplicated
  • Editing this table directly, or via its maintenance view, once transactions have already posted: reassigning a company code to a different controlling area after go-live is not a simple table change, existing CO documents, cost center master data, and profit center assignments were built under the old controlling area and a change here does not retroactively fix them
  • Reading the absence of a row as a configuration bug when it is actually a sequencing issue: a newly created company code often has no TKA02 row yet because the enterprise structure step has not been executed for it, this is expected during a rollout, not a defect
  • Comparing TKA02 content across a development, quality, and production landscape without checking the client, differences here are one of the most common causes of a transport that works in QA but throws a controlling area error in production

Whose problem this is

This is an enterprise structure decision, owned by the FI-CO configuration lead during system design or a legal entity change project, not something touched during routine support. A missing or wrong assignment is escalated to whoever owns organizational structure configuration, not to a functional CO cost center or profit center consultant, since the fix sits one layer below where they normally work.

Related SAP objects

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

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