KO02 — Change Internal Order Master Data
KO02 changes the master data of an existing internal order: assignment fields (company code, cost center, profit center), control parameters, settlement rule, and status. Most 'field is greyed out' complaints are not authorization problems but order status locks, since fields freeze once the order moves past release or once actual postings exist against it.
This page covers KO02, the transaction used to change an internal order after creation, including its position between KO01 and KO03 and the tables the save actually updates. The diagnostic focus is on status-driven field locking, settlement rule errors, and lock contention, since these account for most support tickets raised against this transaction.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,231 words
Purpose
KO02 opens an existing internal order in change mode and lets a user update assignment data (company code, business area, cost center, profit center, functional area), control indicators, the settlement rule, and the order's system or user status. The one fact that explains most confusion is that field availability is not static: it is governed jointly by the order type's field control settings and the order's current status. An order in status CRTD allows broad changes; once it is REL (released) many fields lock; once TECO (technically complete) or CLSD (closed), almost everything except the status itself is frozen. Consultants who expect KO02 to behave like a plain master data screen are repeatedly surprised by fields that simply will not accept input, and the reflex of blaming authorization wastes time that a two-second status check would save.
When it is used
KO02 is reached for during the operational life of an internal order: correcting the responsible cost center after an org change, reassigning the settlement receiver before month-end settlement, adjusting a description, or moving the order through its status sequence (release, technically complete, close) to control what postings are still allowed against it. It is distinct from KO01, which creates a new order, and KO03, which is read-only and used for verification without risk of an accidental save. A consultant reaches for KO02 rather than a Fiori app when full access to all order fields, tabs, and the status button is needed; Fiori equivalents for internal order maintenance exist but tend to expose a narrower field set aimed at casual users, so the classic transaction remains the tool of choice for anything beyond a simple text change.
How to use it in practice
- Call KO02 and enter the order number directly, or use the matchcode search on order type, controlling area, or responsible cost center if the number is not known
- Press Enter to land on the overview screen with tabs for Assignment, Control, Settlement rule, and Budget (tabs vary by order type)
- Correct assignment fields such as responsible cost center, profit center, or functional area on the Assignment tab
- Go to the Settlement rule tab to add, remove, or reweight settlement receivers when the distribution target changes
- Use the status function (menu or status button) to move the order through its allowed status sequence, for example from CRTD to REL, or to TECO or CLSD
- Save; the system checks field control, status rules, and settlement rule consistency before committing the change
Key data objects
- AUFK - the internal order master record itself: order number, order type, controlling area, company code, responsible cost center, order category, and header status flags
- JEST - the current system and user status entries for the order, linked through the order's object number; this is what actually locks fields, not a status flag sitting on AUFK
- COBRB - the settlement rule (distribution rule) for the order, holding each receiver, receiver category, percentage or amount, and settlement type
- Change document tables (CDHDR and CDPOS) - record who changed which field and when, useful for reconstructing what a change actually altered when a downstream process breaks
How to prove it in the data
Start in SE16 on AUFK filtered by AUFNR to confirm the order type, controlling area, and header data currently stored. Take the OBJNR from that record and query JEST filtered on that OBJNR with the inactive indicator blank to see the live status stack (CRTD, REL, TECO, CLSD as applicable); this tells whether a reported field lock is status-driven. To check a settlement dispute, query COBRB on the same OBJNR and confirm the receivers and percentages sum correctly. If a change appears to have vanished, pull CDHDR and CDPOS for the object to see whether it was saved at all or rolled back.
ECC vs S/4HANA
KO02 continues to work unchanged on S/4HANA; the underlying order master structure in AUFK and the status logic in JEST are the same as in ECC. Fiori apps for internal order processing exist and cover common changes for casual users, but they expose a reduced field set compared to the full classic transaction, so consultants doing anything beyond a routine update still fall back to KO02. No functional replacement has removed this transaction from active use.
Common pitfalls and how to diagnose them
- Status lock mistaken for authorization error: user reports a field is not editable; the actual cause is the order sitting in TECO or CLSD status. Check JEST for the object number before touching any authorization trace.
- Settlement rule incomplete or inconsistent: percentages across receivers do not total 100, or a receiver category is invalid for the order type. KO02 may still let the save through if validation is lenient, and the error only surfaces later during settlement. Check COBRB directly rather than trusting the on-screen tab, which can display stale data after a partial save.
- Order type field control gaps: a tab or field a user expects (budget, investment) is simply absent because the order type's configuration does not activate that function. This looks like a bug but is a customizing decision made when the order type was defined; confirm against the order type rather than assuming a technical fault.
- Postings already exist: certain header fields (controlling area, company code, order category) cannot be changed once actual costs have posted against the order. The system message is often generic; check whether KOB1 shows any actual line items before escalating a 'field is locked' ticket.
- Enqueue lock from a parallel session: another user has the order open in KO01, KO02, or a settlement run, and the second user gets a lock error naming the holding user. This resolves itself when the first session closes or is released by Basis; it is not a data problem.
- Authorization object for the CO object class: missing authorization for the order's business area or controlling area causes either a hard authorization failure or, less obviously, fields rendering read-only without an explicit error. Confirm the authorization trace before assuming the field control explanation covers it.
Whose problem this is
This is a CO functional problem in nearly all cases: cost center accounting or overhead order configuration owns the order type settings, status profile, and settlement rule structure. ABAP involvement is limited to custom validations or BAdI implementations attached to order changes. Basis is relevant only for stuck enqueue locks. A good handover includes the order number, its current status stack from JEST, and the exact field or tab the user cannot change.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/ko02ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.