CS02 — Change Material BOM
CS02 changes an existing material bill of material - components, quantities, validity, or alternative BOM assignment. It writes to MAST, STKO and STPO. Most confusion around it comes from BOM usage and alternative BOM being separate dimensions from the material itself, and from engineering change management making some fields date-effective rather than immediately overwritten.
This page covers CS02, the transaction for changing a material BOM that already exists. It focuses on the usage/alternative BOM structure, change number behavior, and the failure patterns that show up when a BOM edit does not produce the expected effect downstream in costing or production orders.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,101 words
Purpose
CS02 changes a BOM already created for a material and plant - it modifies, adds, or deletes components, adjusts quantities, changes validity dates, or reassigns items between alternative BOMs. The one structural fact that drives most confusion: a material does not have one BOM, it can have several, distinguished by BOM usage (production, engineering, costing, and so on) and by alternative BOM number within a usage. CS02 always operates on one specific material/plant/usage/alternative combination. If a change number is active for the material, edits become date-effective and historized rather than an immediate overwrite - the system keeps the old version valid up to the change date and creates a new valid-from record instead of destroying the prior state.
When it is used
CS02 is reached for after a BOM already exists via CS01, when a component needs substituting, a quantity needs correcting, a part is being phased in or out, or a cost rollup discrepancy traces back to a wrong quantity or scrap value on an item. It sits in the master data maintenance loop that feeds MRP, costing, and production order BOM explosion. For a one-off targeted change to a single BOM, CS02 is the right tool. For changes that must ripple across dozens or hundreds of BOMs - a global component replacement, for example - mass change tools or a load program are used instead, because doing it item by item in CS02 does not scale and is error-prone.
How to use it in practice
- Enter material number, plant, and BOM usage on the initial screen
- If engineering change management is active for this BOM, enter the change number; otherwise enter a valid-from date
- Select the alternative BOM number if more than one exists for that usage
- Review the item overview screen that lists all current components
- Change component number, quantity, base quantity, item category, or add and delete items as needed
- Run the consistency check function to catch circular references or invalid item categories
- Save; if a change number is active the system creates a new valid-from record instead of overwriting the current one
Key data objects
- MAST - links material, plant, and BOM usage to the internal BOM number (STLNR) and alternative BOM
- STKO - BOM header: status, base quantity, deletion flag, change number if ECM is used
- STPO - BOM item: component material, quantity, unit of measure, item category, valid-from/valid-to
- STAS - BOM item-to-group allocation table linking alternative BOMs to a shared BOM group
How to prove it in the data
Start in MAST filtered on material and plant to get the BOM usage and internal BOM number (STLNR) plus alternative. Take that STLNR into STKO to check header status, deletion flag, and whether a change number is attached. Take the same STLNR into STPO filtered on the component in question to see quantity, validity dates, and item category - if there are multiple rows for the same component, the valid-from/valid-to split is the ECM history, not a duplicate.
ECC vs S/4HANA
The underlying data model - MAST, STKO, STPO, alternative BOM and change number logic - is unchanged on S/4HANA. A Fiori app for BOM maintenance exists as an alternative front end, but CS02 remains fully supported and is still the transaction most consultants reach for when working a single BOM change interactively, especially anything involving change numbers or item categories that the Fiori app does not expose as cleanly.
Common pitfalls and how to diagnose them
- ECM lock: an attempt to change a field results in an error about the object being locked by a change number, or the field being greyed out. Check the change master status - fields are only editable once the change number is in a status that allows maintenance, and some fields are simply not change-number-relevant and stay locked regardless.
- Wrong usage or alternative edited: the change is saved but nobody downstream sees it, because the edit landed on BOM usage 1 (production) while costing runs off usage 6, or on alternative 01 while the order actually explodes alternative 02. Check MAST for every usage/alternative combination that exists for the material before assuming there is only one BOM.
- Item marked deleted, not removed: a component still shows up in cost rollups or MRP dependent requirements after being flagged for deletion in STPO, because the deletion flag only takes effect from its valid-from date, and open orders created before that date keep using the old item.
- Base quantity changed without proportional component quantities: changing the header base quantity without adjusting item quantities silently changes the per-unit consumption ratio, which then shows up as a costing variance days later with no obvious link back to the BOM edit.
- Order already exploded: a production or process order created before the BOM change keeps its own copy of the component list in the order's own tables. Re-saving the BOM does not retroactively update an already-released order - the reflex of re-checking the BOM instead of the order is the wrong diagnostic path here.
- Authorization masquerading as a data problem: a user with display-only authorization for the plant or BOM status sees fields as non-editable, which looks identical to an ECM lock but has nothing to do with the change number.
Whose problem this is
Functional territory, owned by production engineering or PP master data, sometimes SD if the BOM in question is a sales BOM. ABAP gets involved only if a custom validation or BAdI blocks the save. A good handover states the material, plant, BOM usage, alternative, and whether a change number is active, plus the exact component and field that will not save.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/cs02ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.