SAP tableObjectSTKOModulePP_M2D

STKO table — BOM Header Table STKO

STKO is the bill of material header table. One row is one internal BOM (identified by BOM category, internal BOM number and alternative) holding header-level data such as base quantity, unit, status and deletion flag. It does not carry material number or plant directly; those links live in MAST for material BOMs, so STKO must always be joined outward to be useful.

This page covers STKO, the SAP table that stores bill of material header records independent of the material or plant that uses them. It focuses on how STKO links to MAST, STPO and STAS, and on the recurring mistake of treating an STKO row as if it already identifies a material or a plant.

Published 16 Sept 2026· 998 words

What it stores

Each row in STKO is one bill of material header, keyed by BOM category, an internal BOM number and an alternative BOM indicator. It carries data that applies to the whole BOM rather than to any single component: the base quantity and unit the BOM is built for, the BOM status controlling which functional areas may use it, the usage indicator distinguishing production, engineering and other BOM types, and the deletion flag at header level. STKO deliberately holds no material number and no plant. Those associations are resolved through separate assignment tables depending on the BOM category, most commonly MAST for material BOMs. A single STKO record can, in principle, be referenced by more than one material through that assignment layer, which is why STKO by itself never answers 'which material is this BOM for'.

Key fields

  • MANDT - client
  • STLTY - BOM category, for example M for material BOM, T for standard BOM, K for document structure BOM
  • STLNR - internal BOM number, the technical key generated by the system
  • STLAL - alternative BOM number
  • STLAN - BOM usage, for example production, engineering, universal
  • STLST - BOM status, controls which application areas can use the BOM
  • BMENG - base quantity the BOM item quantities are related to
  • BMEIN - base unit of measure
  • LKENZ - deletion flag at header level

How it joins the data model

  • STKO-STLTY = STPO-STLTY and STKO-STLNR = STPO-STLNR to reach the BOM items
  • STKO-STLTY = STAS-STLTY and STKO-STLNR = STAS-STLNR to reach item selection and validity records
  • MAST-STLNR = STKO-STLNR (and matching STLTY) to find which material, plant and alternative point to this header
  • MAST-MATNR and MAST-WERKS give the material and plant once the join through MAST is made
  • STPO-STLKN identifies the individual item node within the BOM structure once STKO and STPO are joined

How to read it safely

Always restrict on MANDT and never scan STKO without at least STLTY, since the same STLNR range can theoretically appear under different categories in some landscapes. STLNR alone is not selective enough to reason about business meaning because it is a generated technical number with no embedded logic. Do not select on STKO first when the starting point is a material and plant; start from MAST, filter by MATNR, WERKS, STLAN and STLAL, and only then pull the matching STLNR into STKO. Querying STKO directly by status or usage across a whole client is expensive and rarely what the investigation actually needs.

How to prove it in the data

Symptom: a planner reports that BOM explosion for a material in a given plant is picking up the wrong quantities. Select MAST for the material and plant to get STLAN, STLAL and STLNR. Take that STLNR and STLTY into STKO and check BMENG and BMEIN. If the item quantities in STPO were maintained assuming a different base quantity than what STKO actually stores, the explosion math will be off by exactly that ratio, which confirms the header, not the items, is the source of the discrepancy.

ECC vs S/4HANA

STKO is unchanged in structure on S/4HANA and continues to be the persistence table for BOM headers. Fiori and CDS-based BOM apps read the same underlying data through compatibility or consumption views layered on top of STKO and its companion tables; the table itself was not merged or redesigned as part of the simplification of other classic PP objects. Existing joins written against STKO on ECC continue to work unchanged on S/4HANA.

Common pitfalls

  • Treating STLNR as if it identifies a material. It is a generated technical key; the material only appears after joining through MAST or the equivalent assignment table for the BOM category in question.
  • Reading LKENZ as proof the BOM is unusable. A header-level deletion flag does not automatically mean every item is flagged, and depending on configuration a BOM marked for deletion can still be exploded until the flag is actually processed.
  • Looking for validity dates in STKO. Validity periods and change-number-driven history live at the item selection level in STAS, not in the header.
  • Assuming one STKO row belongs to exactly one material. Through MAST, the same internal BOM can in principle be assigned to more than one material and plant combination, so counting STKO rows is not the same as counting BOM usages.
  • Changing BMENG directly and expecting item quantities in STPO to rescale automatically. They do not; base quantity changes require the item quantities to be reviewed and adjusted, otherwise the ratio silently breaks.
  • Confusing STLST (BOM status) with a simple active/inactive flag. It is a configurable status that governs which functional areas, such as costing or production, are permitted to use the BOM, and a status that blocks one area may not block another.

Whose problem this is

BOM header data questions belong to whoever owns material master and BOM maintenance, typically a production planning or engineering master data role working through the standard BOM maintenance transactions. Basis or ABAP involvement is only needed when the question is about table growth, generated number ranges, or a custom report joining STKO incorrectly.

Related SAP objects

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

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