SAP tableObjectMARAModuleMM_P2P

MARA table — MARA General Material Data Table

MARA stores the client-level general data for a material: material type, base unit of measure, material group, weights, and status flags. It holds exactly one row per material number, independent of plant, storage location, sales organization or valuation area. Anything plant-specific, sales-specific or valuation-specific lives in MARC, MVKE or MBEW instead, joined back to MARA on MATNR.

This page covers what MARA actually represents versus what consultants wrongly assume it represents, the fields worth trusting, and the joins needed to get plant, valuation or sales data that MARA itself does not contain. It also covers the deletion-flag trap and the description-lookup mistake that account for most support tickets referencing this table.

Published 15 Sept 2026· 1,152 words

What it stores

One row in MARA represents one material number at client level, holding the attributes that are true for that material everywhere it is used: material type, industry sector, material group, base unit of measure, gross and net weight, volume, and the cross-client and cross-plant status flags. It does not carry a description (that is MAKT), a price or valuation class (MBEW), a plant-specific MRP or procurement setting (MARC), or a sales view (MVKE). Consultants new to the object often expect MARA to answer 'is this material active in this plant' or 'what does it cost' - it cannot, by design, because those questions are plant- and organization-dependent and SAP deliberately split that data across separate views and tables that all hang off MARA by material number.

Key fields

  • MANDT - client, always the first field, easy to forget in raw SQL against the underlying database
  • MATNR - material number, the primary key and the join field to nearly every other material table
  • MTART - material type (FERT, ROH, HAWA etc), drives which views and fields are relevant and mandatory
  • MATKL - material group, used for reporting and pricing condition access, not a valuation attribute
  • MEINS - base unit of measure, the unit all stock quantities are ultimately converted to
  • MBRSH - industry sector, controls which screen layout and field selection group applies
  • SPART - division, relevant for sales views and pricing procedure determination
  • BRGEW, NTGEW, GEWEI - gross weight, net weight, and weight unit
  • MSTAE - cross-plant (client-level) material status, blocks the material everywhere if set
  • LVORM - central deletion flag; only marks the material for deletion, does not remove it
  • ERSDA, ERNAM, LAEDA, AENAM - creation date, creator, last change date, last changer

How it joins the data model

  • MARA-MATNR = MAKT-MATNR (material descriptions by language)
  • MARA-MATNR = MARC-MATNR (plant data; add MARC-WERKS to scope a specific plant)
  • MARA-MATNR = MARD-MATNR (storage location stock; join via MARC-WERKS and MARD-LGORT)
  • MARA-MATNR = MBEW-MATNR (valuation; add MBEW-BWKEY for the valuation area)
  • MARA-MATNR = MVKE-MATNR (sales views; add MVKE-VKORG and MVKE-VTWEG)
  • MARA-MATNR = MARM-MATNR (alternative units of measure)
  • MARA-MATNR = EINA-MATNR (purchasing info record general data)
  • MARA-MATNR = EKPO-MATNR (purchase order line items)
  • MARA-MATNR = MATDOC-MATNR or MSEG-MATNR (material movements, current or historical table depending on release)

How to read it safely

MANDT is the client field; every selection runs implicitly within one client so cross-client comparisons need explicit handling, not a WHERE clause. MATNR is unique per client, so a direct read by material number is always cheap. The table is wide and grows into the millions of rows in a mature system, so any selection on MTART, MATKL or MBRSH alone, without a MATNR restriction, is a full or near-full scan and should be pushed to a reporting tool or restricted further before running it in a productive system during business hours. Never select on LVORM alone expecting to find 'deleted' materials - it flags intent, not completion, and plenty of flagged materials are still transacted against for years.

How to prove it in the data

Symptom: a material cannot be ordered or posted anywhere. First check MARA-MSTAE and MARA-MSTDE (status and status-from date) for that MATNR - if MSTAE is set and the date has passed, the block is at client level and no plant-level fix will resolve it. If MSTAE is blank, the block is plant- or purchasing-org-specific and the search moves to MARC-MMSTA or the relevant purchasing view instead, not to MARA.

ECC vs S/4HANA

MARA still exists as a transparent table in S/4HANA and retains its role as the client-level material master root. The material number field was extended to accommodate longer numbers than the 18-character limit familiar from ECC, which matters for any custom code or interface that hard-codes a shorter length or truncates MATNR. The split between MARA, MARC, MVKE and MBEW is unchanged; S/4HANA did not consolidate general, plant, sales and valuation data into one table. Fiori apps and CDS views for material master read from MARA underneath, so the table itself remains the reference point even where the UI has moved on.

Common pitfalls

  • Treating LVORM as a live delete: it is a deletion flag, not a deletion. The material can still post, still appear on open orders, and still show in reports until archiving actually runs.
  • Looking for the material description in MARA: it is not there. MARA has no text field for the material name; that is MAKT, keyed additionally by language.
  • Assuming a material 'does not exist' because it fails in one plant, one sales org, or one valuation area, when MARA-MATNR proves the material does exist at client level and the gap is a missing extension (no MARC row for the plant, no MVKE row for the sales area, no MBEW row for the valuation area).
  • Reading MEINS as fixed forever: the base unit of measure can technically be changed under narrow conditions, but doing so against a material with existing stock or open documents causes quantity conversion inconsistencies that are painful to unwind.
  • Confusing MSTAE (cross-plant status) with the plant-specific status field on MARC: a material can be fully usable at client level and still blocked in a specific plant, or vice versa in older configurations.
  • Assuming MATKL drives valuation or account determination directly: it does not, valuation class on MBEW does that; MATKL mainly matters for classification and pricing.
  • Running ad hoc reports directly against MARA without a MATNR range on a large productive system and being surprised by the runtime or the lock contention it causes for other jobs.

Whose problem this is

Master data governance for MARA sits with the MM master data or material master team, usually the group that owns the material creation and change workflow. Plant, valuation and sales extensions are typically owned by whoever runs those respective processes (production planning for MRP views, finance for valuation, sales for the sales views), so a data question on MARA itself is a master data ticket, while a missing-extension question belongs to the relevant functional owner.

Related SAP objects

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

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