SAP transaction codeObjectMD03ModulePP_M2D

MD03 — Single-Item Single-Level MRP Run

MD03 runs MRP for one material in one plant, single level only. It creates or adjusts planned orders and purchase requisitions for that material based on current requirements, but it does not explode down into the material's own components. If a consultant expects child materials to be replanned automatically, MD03 is the wrong choice; that behavior belongs to MD02 or MD01.

This page covers MD03, the transaction for running MRP on a single material at a single plant and a single BOM level. It focuses on the structural difference between MD03, MD02 and MD01 that causes most confusion, the real fields to set at execution, and the diagnostic order for chasing missing or unexpected planning results.

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

Purpose

MD03 executes MRP for exactly one material in exactly one plant, and it stops at that material's own level. It reads open requirements (sales orders, reservations, dependent requirements already posted against it, forecast) and generates or updates planned orders, purchase requisitions or delivery schedule lines to cover the net requirement. The structural fact that explains almost every support ticket on this transaction: MD03 is single-level. It does not trigger planning for the components in the material's BOM. A consultant runs MD03 on a finished good expecting the semi-finished and raw material levels underneath to get replanned in the same run, sees no new planned orders on the children, and assumes MRP is broken. It is not broken; MD03 was simply never designed to explode further than the one material entered.

When it is used

MD03 is a testing and troubleshooting tool, not a production planning run. It gets used when a consultant needs to isolate the behavior of one material after a master data change, a lot size adjustment, an MRP type change, or a special procurement key change, without disturbing the plant's full planning picture. It is also used to reproduce a reported symptom on one material before deciding whether the fix needs to be tested plant-wide. For actual production planning cycles, the plant runs MD01 (total planning) or MD02 (single item, multi-level, which does explode through the BOM) on a schedule. MD04 and MD05 are read-only, used to inspect the result MD03 produced, not to generate it.

How to use it in practice

  • Enter the material number and plant.
  • Select the processing key: NEUPL for regenerative planning, NETCH for net change, NETPL for net change within the planning horizon.
  • Set the create purchase requisition and create schedule lines indicators to control whether proposals convert automatically or stay as planned orders.
  • Set the delivery schedules indicator for materials with scheduling agreements.
  • Choose the planning mode: 1 adapt existing planning data, 2 delete and recreate everything unfirmed, 3 leave firm receipts untouched.
  • Choose scheduling level: basic dates only, or lead time scheduling with capacity planning if routing data is relevant.
  • Execute and review the resulting stock/requirements list or MRP list output directly from the exit screen.

Key data objects

  • PLAF - the planned orders created or adjusted by the run, with quantity, dates and order type.
  • EBAN - purchase requisitions generated when the material is externally procured and the requisition indicator was set.
  • RESB - reservations and dependent requirement records that MD03 reads as demand input; it does not write new dependent requirements below this material.
  • MARC - the material's plant-specific MRP data (MRP type, lot size, procurement type, planning time fence) that governs how the run behaves; not written by MD03 but consumed by it.
  • MRP list tables (MRP list header and item records) - store the snapshot of the run so MD05 can display it later; exact table names should be confirmed in the system rather than assumed.

How to prove it in the data

In SE16 on PLAF, filter by material and plant and compare the creation timestamp field against the time the MD03 run was executed; a run that produced no new rows and no changed rows confirms 'no change detected', not a failed run. Cross-check EBAN filtered on the same material for requisitions with a matching creation date. If the run appears to have done nothing at all, check the planning file entry for the material and plant (visible via the planning file maintenance transactions) before assuming a data problem, since a missing or stale planning file entry is the most common reason MD03 reports no requirement to plan.

ECC vs S/4HANA

MD03 exists unchanged in the S/4HANA GUI, with the same fields and the same single-level restriction. The Fiori apps for MRP (typically framed around scheduling and monitoring a plant-wide run) map more closely to MD01's total planning use case than to MD03's single-item diagnostic use case; there is no dedicated Fiori app that replaces the single-material, single-level test run. Consultants doing targeted troubleshooting on one material still reach for MD03 in the GUI on S/4HANA systems.

Common pitfalls and how to diagnose them

  • Single-level trap: the run completes cleanly but child materials show no new planned orders. This is expected behavior, not a defect. Confirm by checking MD04 on the component; if the parent's planned order quantity did not change, the component was never going to be touched by MD03 in the first place. Use MD02 if multi-level explosion is actually required.
  • Planning file entry missing or not set to net change relevant: MD03 returns a message that no planning is necessary even though demand clearly changed. Check the planning file status for the material and plant before touching master data; a missing entry after a plant transfer or a mass material creation is a common root cause.
  • Incomplete MRP master data: missing MRP type, lot size procedure, or reorder point on the material's plant segment causes either an error message or a proposal with an unexpected quantity. Check MARC fields for the material and plant before rerunning.
  • Planning mode 2 misuse: selecting delete and recreate on a material with manually firmed planned orders wipes those firm dates unexpectedly, causing schedule instability downstream. Confirm which planned orders are firmed before choosing mode 2 in a live system.
  • Wrong processing key on a repeat run: choosing NETCH after the planning file indicator was already reset by a prior run produces stale or empty results even though a real change occurred. When in doubt for a one-off diagnostic run, NEUPL guarantees a full regenerative recalculation at the cost of runtime.

Whose problem this is

This is functional PP or MM territory, owned by the material planner or the consultant configuring MRP types, lot sizes and procurement parameters. ABAP gets involved only if a custom requirements exit or BAdI is suspected of altering the net requirement calculation. A clean handover states the material and plant tested, the processing key and planning mode used, the exact timestamp of the run, and whether the planning file entry was confirmed beforehand.

Related SAP objects

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

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