SAP transaction codeObjectCS01ModulePP_M2D

CS01 — Create Material BOM

CS01 creates a new material bill of material: a header record for a material, plant and BOM usage, plus the component item lines underneath it. It only works when no BOM already exists for that exact material, plant and usage combination — if one does, the system throws an existence error and CS02 has to be used instead.

This page covers CS01, the transaction for creating a material BOM header and its component items in a given plant and BOM usage. It focuses on why the create-only restriction trips people up, what tables the save actually populates, and the diagnostic order for the errors consultants hit most often around plants, usages, alternatives and validity dates.

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

What it does

CS01 creates a bill of material for a material in a specific plant, under a specific BOM usage, valid from a specific date. The structural fact that drives most confusion: a BOM is not owned by the material alone. It is keyed by the combination of material, plant and usage, and within that combination multiple alternatives can coexist with different validity windows. CS01 is strictly a create transaction — it will not open an existing BOM for editing, it will only let a genuinely new material/plant/usage combination (or a new alternative under it) be built. Anyone expecting CS01 to behave like a generic 'go to BOM' entry point will hit an existence error the moment the combination already has a record, and reach for CS02 instead without understanding why.

When it is used

CS01 is used during initial data setup for a new material that will be manufactured or assembled, and whenever engineering introduces a genuinely new BOM alternative for an existing material in a plant where none exists yet under that usage. It sits upstream of routing creation and upstream of any order type that explodes a BOM: production orders, process orders and MRP planning runs all depend on a valid BOM existing before they can resolve components. A consultant reaches for CS01 specifically at the point of creation; for any subsequent maintenance — adding a component, changing a quantity, extending validity — CS02 is the correct tool, and CS03 for display only. In S/4HANA the same task can be done through the 'Manage Bills of Material' Fiori app, which many production support teams now use in preference to the GUI transaction for day-to-day maintenance, though the underlying create-only restriction is identical.

How to use it

  • Enter the material number, the plant, and the BOM usage (production, engineering, costing, etc) on the initial screen
  • Enter the validity start date, or the change number if engineering change management is active for this object
  • Confirm the alternative BOM number on the item overview screen if more than one alternative is expected
  • On the item overview, enter each component: item category, material number (or text/document item for non-stock components), quantity, and base unit of measure
  • Check the unit of measure against the material master to avoid a silent conversion mismatch
  • Save; the system assigns an internal BOM number if this is genuinely new

Key fields

  • STKO - BOM header record: internal BOM number, alternative, status, base quantity, validity dates
  • STPO - BOM item record: one row per component, item category, quantity, unit of measure, item status
  • MAST - links the material, plant and BOM usage to the internal BOM number created in STKO; this is the table the system checks to decide whether CS01 is allowed to create or must be blocked as a duplicate

How to prove it in the data

Start in SE16 on MAST filtered by material number, plant and BOM usage to find the internal BOM number and alternative. Take that BOM number and alternative into STKO to check status, base quantity and validity dates — this is where a wrong or expired validity window shows up. Then filter STPO by the same BOM number and alternative to list the actual components, their quantities and units, and compare those units against the material master unit of measure for each component.

ECC vs S/4HANA

The GUI transaction CS01 and its underlying table structure are unchanged on S/4HANA; no restructuring of BOM data was part of the S/4 conversion. The practical shift is in the front end: the 'Manage Bills of Material' Fiori app is commonly offered as the day-to-day tool for creating and maintaining BOMs, giving a tile-based single-object view instead of the classic screen sequence, but it enforces the same create-versus-change restriction underneath.

Common pitfalls

  • Existence error on save: the material already has a BOM under that plant and usage combination in MAST. Check MAST first before assuming the transaction is broken — CS01 is behaving correctly, and CS02 (or a new alternative under the existing BOM) is the actual fix.
  • Material not extended to the plant: if the MRP or work scheduling view is missing for that plant, CS01 will error out before the item overview is reachable. This is a material master extension gap, not a BOM issue, and the fix is in the material master, not in CS.
  • Overlapping validity between alternatives: two alternatives with overlapping date ranges under the same usage will cause unpredictable alternative selection at order creation or costing run time. Check STKO validity dates across all alternatives for the combination, not just the one just created.
  • Wrong BOM usage selected: a BOM created under 'engineering' usage will not be picked up by production order creation looking for 'production' usage, and will present as 'BOM not found' with no error at CS01 itself. Confirm the usage matches what the consuming process (order type, costing variant) actually reads.
  • Unit of measure mismatch: a component entered in a unit that does not match its material master base unit, without a valid conversion, will cause quantity distortion downstream in MRP dependent requirements or in cost roll-up, often silently rather than as a hard error.
  • Change number required but omitted: if engineering change management is switched on for the object type, CS01 will demand a valid change number with an open validity window; a locked or closed change number produces a cryptic authorization-looking error that is actually a change management state issue.

Whose problem this is

This is functional PP or CS master data ownership, not Basis and not ABAP unless a custom validation or user-exit is firing. A clean handover states the material, plant, BOM usage, alternative number, validity date, and the business reason a new BOM or alternative was needed, plus whether engineering change management applies.

Related SAP objects

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

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