SAP transaction codeObjectCO03ModulePP_M2D

CO03 — Display Production Order

CO03 is the read-only counterpart to CO02, opening a production order in display mode so no field can be changed. It shows the same header, operation, component, cost and confirmation data as the change transaction, but every input field is protected. Consultants use it to check order status, quantities and confirmations without risking an accidental save.

This page covers CO03, the display-only transaction for production orders in SAP PP. It focuses on the practical differences from CO02, what actually gets checked when a status or quantity looks wrong, and the diagnostic order to follow when the order screen does not show what the business expects.

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

Purpose

CO03 opens a production order strictly for viewing. It reuses the identical screen structure as CO02 - header, operation overview, component list, costs, confirmations, goods movements - but every field is protected against input, and the toolbar drops functions like release, technical completion, or order change. The one structural fact that explains most confusion: CO03 is not a separate data model, it is CO02 rendered in a locked mode. Anything wrong in CO03 - a missing component, an odd status, a quantity that does not add up - is not a display defect, it is the actual state of the order. Consultants sometimes toggle between CO02 and CO03 in the same session and get thrown when a menu path that worked a minute ago disappears; that is authorization or lock behavior, not a bug in CO03 itself.

When it is used

CO03 is reached for whenever someone needs to inspect an order without touching it: verifying scheduled dates before a planner escalates a delay, checking whether a confirmation posted before opening a ticket, confirming released quantity against goods receipt, or auditing an order that belongs to another plant or shift and where the user has no change authorization. It sits downstream of MD04 stock/requirements list and COOIS order list - those tools tell which order to look at, CO03 is where the order's own detail is examined. For monitoring many orders at once, COOIS or a Fiori order worklist app is the better entry point; CO03 is for one order, opened by number, when the detail behind the summary line is needed.

How to use it in practice

  • Call CO03 and enter the order number directly, or use the search help by material and plant if the number is unknown
  • Press Enter to load the order; the initial screen defaults to the header overview with status, dates and quantities
  • Use the tab strip or menu to move into operations, components, costs, or confirmations without leaving display mode
  • Check the order status line at the top (created, released, partially confirmed, technically complete) before drawing conclusions from any tab
  • Use Goto or Extras menu entries to view order documents, long text, or the settlement rule if a cost question is being investigated

Key data objects

  • AUFK - order master data shared across order types, including order number, order type and company code
  • AFKO - production order header, dates, scheduling parameters and basic quantity
  • AFPO - order item data, target and delivered quantities, material and batch
  • AFVC - operation-level data shown on the operations tab, including work center and control key
  • RESB - component reservations shown on the components tab, tied to the order via the reservation number
  • AFRU - confirmation records shown on the confirmations tab, one row per confirmation posted against an operation

How to prove it in the data

In SE16 on AUFK, filter by order number to get the internal order number, then read AFKO for basic dates and quantity and AFPO for delivered versus target quantity. To check the status a user is disputing, look at the object status table joined on the order's object number (the same object number stored on AUFK) rather than trusting only the header text in CO03, since combined statuses (partially confirmed plus technically complete) can look ambiguous on screen but are unambiguous as discrete entries in the status table.

ECC vs S/4HANA

CO03 exists unchanged on S/4HANA as the GUI display transaction for production orders, and the underlying header, operation and component data it reads is unaffected by the S/4HANA data model simplification in this area. A Fiori app for monitoring and displaying production orders is available for browser-based or list-oriented work, but CO03 remains the direct route to the full classic detail screen and is still commonly used by consultants for troubleshooting.

Common pitfalls and how to diagnose them

  • Authorization mismatch: user expects to edit but only has display access, so CO02 opens in the same protected mode as CO03 with no error message explaining why - check the order type and plant authorization object before assuming CO03 itself is broken.
  • Order locked by another user or background job: CO03 can still open a locked order but any data changed in the same second by the lock holder will not appear until the session is refreshed - reopen the order rather than trusting a screen left open from before the lock was taken.
  • Status looks wrong but is not: an order showing technically complete with confirmations still listed as open is a real business inconsistency (someone TECO'd before the last confirmation posted), not a CO03 display fault - resolve it in the process, not by reporting a transaction defect.
  • Cost data appears stale: the costs tab reflects the last cost update run, not a live calculation, so a component price change made an hour ago will not show until the relevant cost update job or a manual recalculation has run.
  • Wrong tool for the task: users who need to compare many orders end up clicking through CO03 one order at a time - redirect them to COOIS or MD04 for the list view and reserve CO03 for confirming detail on a single order already identified as the problem.

Whose problem this is

This is functional PP territory first: a PP consultant reads the order status, quantities and confirmations to establish what actually happened. Escalate to ABAP only if a custom field or user exit is not rendering on the screen. Escalate to Basis only for an authorization object missing from a role or a stuck lock entry that will not clear. A good handover states the order number, the exact tab and field in question, and the status line as read directly from CO03.

Related SAP objects

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

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