CS03 — Display Material BOM
CS03 is the display-only transaction for a material Bill of Material. It shows the header material's components for a given plant, BOM usage, alternative BOM, and validity date, reading from MAST, STKO and STPO without allowing changes. Most confusion comes from users assuming there is one BOM per material when there can be several alternatives and usages, each independently validity-dated.
This page covers what CS03 shows, how it fits into planning, costing and engineering change workflows, and the diagnostic sequence for the recurring complaint that a component is missing or wrong on a displayed BOM. It also lists the underlying tables so the same check can be reproduced in SE16 without opening the transaction.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,122 words
Purpose
CS03 displays a material BOM: the components required to build a header material, scoped to a plant, a BOM usage (production, engineering, costing, and so on), an alternative BOM number, and a validity date. It is strictly read-only; no item can be added, changed, or flagged for deletion from this transaction, that belongs to CS02. The structural fact behind most confusion is that a BOM is not a single flat object. The same material can carry several alternative BOMs, each with its own usage and its own validity period controlled through change numbers. What CS03 shows depends entirely on which alternative, usage, plant and date were entered on the initial screen, so two people looking at the 'same' BOM can see genuinely different item lists and both be correct for their own selection.
When it is used
CS03 is reached for whenever the component structure behind a material needs to be checked without risking a lock or an accidental save, which rules out CS02 in a production system. Typical situations: verifying why an MRP run or a costing run exploded a different component set than expected, confirming what was on the BOM at a past date for an audit or a claim, comparing the BOM against what a production or process order actually consumed, or checking an engineering change before it goes live. For single-level review CS03 with the item overview is enough; for a full multi-level breakdown CS11 or CS12 is used instead. Fiori equivalents exist for the same read-only check in newer systems but the field logic underneath is identical.
How to use it in practice
- Enter the material number and plant on the initial screen
- Enter the BOM usage (production, engineering, costing, etc.)
- Enter a specific alternative BOM, or leave blank and let the system apply the selection priority
- Enter the valid-from date to see the structure as it stood on that date, not just today
- Execute to reach the header data and item overview
- Drill into individual items for quantity, item category and long text
- Check item categories shown: L for stock item, R for variable-size item, T for text, K for class item, to understand why a component is not a plain material line
Key data objects
- MAST - links the header material and plant to a BOM group and the assigned BOM usage
- STKO - BOM header record: alternative BOM number, base quantity, status, and the change number governing validity
- STPO - BOM item record: component material, quantity, item category, and its own change-number-controlled validity
- STAS - the link table connecting a BOM group to its alternative BOMs, used when the system resolves which alternative applies
How to prove it in the data
Query MAST filtered on material (MATNR), plant (WERKS) and BOM usage (STLAN) to get the BOM group number (STLNR) and alternative (STLAL) actually assigned. Take that key into STKO to read the change number and status, then into STPO with the same STLNR and STLAL to list every component, its quantity, item category and the change-number-driven validity window (typically found via the linked change document object rather than a plain date field on STPO). Compare that list, filtered to the date in question, against what CS03 rendered for the same selection.
ECC vs S/4HANA
CS03 is unchanged on S/4HANA: same selection screen, same underlying tables, same read-only behaviour. A Fiori app exists for browsing BOMs without opening the GUI transaction, and it draws on the same MAST, STKO, STPO data, so any discrepancy found in one is reproducible in the other. There is no version-specific restructuring of BOM storage to account for.
Common pitfalls and how to diagnose them
- Wrong alternative or usage selected: the user opens the default alternative while the order or costing run used a different one; check MAST for every alternative assigned to that material and plant before assuming a component is missing entirely.
- Validity date mismatch: the component was removed or added on a different date than the one entered on the CS03 selection screen; re-run the display with the date the order was created or the costing run executed, not today's date, before concluding the BOM is wrong.
- Deleted item still exists in the table: an item can carry a deletion indicator and disappear from the default display while still sitting in STPO; the display option to include deleted items has to be switched on, otherwise the item looks like it was never there.
- Class item resolves nothing on its own: a component defined as a class item depends on object dependencies and characteristic values from variant configuration; displaying the BOM without a configuration context shows the class node but not the resolved material, which reads as a missing component to someone unfamiliar with configurable materials.
- Plant assignment missing: the BOM was maintained for one plant and someone tries to display it for another plant where the material has no BOM assignment, producing a 'no BOM found' message that looks like a data loss but is a missing plant extension in MAST, not a deleted structure.
- Engineering change number confusion: without entering the change number that was active at the relevant point in time, CS03 shows the current structure only; historical audits need the change number entered explicitly, not just a date, when multiple changes overlap.
Whose problem this is
Functional ownership sits with PP or engineering, since BOM structure and validity decisions are process content, not configuration or code. ABAP involvement is rare and limited to custom BOM explosion logic or enhancements. A clean handover states the exact material, plant, BOM usage, alternative, and the date used to reproduce the discrepancy, plus whether the comparison point was a production order, a costing run, or another BOM alternative.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/cs03ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.