MD02 — MRP Single-Item Multi-Level Planning Run
MD02 runs material requirements planning for one material and explodes it down through every BOM level below it, creating or adjusting planned orders and purchase requisitions for the material and its components. It does not replan other materials in the plant, even ones sharing the same component, unless they are run separately or a total planning run is used.
This page covers MD02, the transaction for single-item multi-level MRP planning in SAP PP. It focuses on why a run appears to do nothing, why components are skipped, why the wrong procurement element gets created, and where in the planning file and resulting orders to look for proof.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,264 words
Purpose
MD02 triggers requirements planning for a single material and explodes its bill of material down through every level beneath it in one pass. It nets existing stock, open purchase orders, and open production orders against demand, and generates planned orders or purchase requisitions to cover the shortfall at each level. The structural fact that causes most confusion: MD02 is scoped to the material entered and its dependents only. It does not touch sibling materials that happen to share the same component, and it does not re-net requirements plant-wide. Two finished products consuming the same raw material will each need their own MD02 run, or a total planning run through MD01, before the combined requirement on that shared component is correctly reflected. Running MD02 on one and assuming the other has been recalculated is the single most common misunderstanding of this transaction.
When it is used
MD02 is reached for after a localized demand change on one specific material - a new sales order line, a forecast override, an engineering change on a BOM, a converted planned order that frees up capacity - where running a full plant MRP through MD01 would be disproportionate and slow. It is also the standard tool for simulating the downstream effect of a single change before committing to a plant-wide run, and for troubleshooting why one material shows a shortage on the stock/requirements list. It is not the tool for routine nightly or weekly planning cycles; that is MD01 or a background-scheduled total run. In S/4HANA the same logic is exposed through MRP Live for mass runs and through Fiori monitoring apps for review, but MD02 remains the standard single-item execution transaction, particularly for ad hoc dialog runs during incident resolution.
How to use it in practice
- Enter the material number and plant on the initial screen.
- Set the processing key to net change or regenerative planning depending on whether only the changed requirement should be considered.
- Select scope of planning as multi-level, single item so the run explodes the BOM through all lower levels rather than stopping at the top.
- Set the create purchase requisition, create schedule lines, and delivery schedules parameters according to whether procurement elements should be firmed automatically.
- Set the parameters for scheduling (basic dates only or lead time scheduling) and for the BOM/routing selection ID if alternates exist.
- Choose whether to display the MRP list at the end of the run or run in the background and review the log afterward.
Key data objects
- PLAF - planned orders created or updated by the run, holding material, quantity, dates, order type, and firmed/unfirmed status.
- EBAN - purchase requisitions raised for externally procured materials that have no fixed source of supply or scheduling agreement.
- RESB - reservations generated where the run passes dependent requirements down to components already covered by an existing production order.
- The planning file entry for the material (visible through the planning file maintenance transaction rather than a single obvious table) - flags whether the material is due for the next net change run and is cleared once MD02 processes it successfully.
How to prove it in the data
Check PLAF filtered by material and plant, sorting on creation date and time, to see whether new or changed planned orders exist for the run window in question. Cross-check EBAN on the same material and plant to see whether a purchase requisition was generated instead of a planned order, which points at a procurement type or special procurement key issue rather than a run failure. Compare the timestamp on both against the MRP run's log timestamp (available from the run's own log display or the background job log) to confirm the run actually touched the material rather than exiting early on a planning file check.
ECC vs S/4HANA
MD02 behaves the same on S/4HANA as on ECC; the netting and BOM explosion logic is unchanged. What is new is MRP Live, which replaces the total planning run for mass processing and runs substantially faster on the HANA database, and Fiori monitoring apps that surface the same planned orders and requisitions for review without requiring the classic MRP list screen. MD02 itself remains available and is still the standard tool for single-material dialog runs during troubleshooting.
Common pitfalls and how to diagnose them
- No planned orders created at all - check the planning file entry for the material first; if it is not flagged as relevant, the run skips it entirely regardless of demand. Then check the MRP type is not set to no planning, check the BOM validity dates cover the requirement date, and check the requirement date falls inside the planning horizon.
- Top level planned but components untouched - almost always the scope of planning was left at single-level instead of multi-level on the initial screen, or the BOM usage and alternative selection ID on the screen do not match the BOM actually assigned to the material, so explosion stops after one level.
- Purchase requisition created where a planned order was expected - the material's procurement type is set to external or the special procurement key is routing the requirement to a different plant, stock transfer, or subcontracting scenario. This is a master data question, not a run failure.
- Sister material's shortage unchanged after the run - MD02 only replanned the material entered. A component shared with another finished good is not renetted until that other material is run individually or a total run is executed. Re-running MD02 repeatedly on the same material will not fix this and wastes time chasing a non-existent bug.
- Run appears to complete with no error but produces nothing - check the background job log and the run's own protocol rather than assuming success; a material locked by inventory posting or by another concurrent MRP run can cause a silent skip.
- Reflex fix that makes things worse - manually deleting and recreating planned orders, or running MD02 repeatedly without checking the planning file or master data first, tends to create duplicate or orphaned planned orders that then inflate dependent requirements at lower levels. Diagnose the planning file and master data settings before touching the orders.
Whose problem this is
This is functional PP/MRP controller territory in almost every case; the settings that determine outcome - MRP type, lot size, procurement type, special procurement key, BOM validity, planning file status - are master data and configuration, not code. Basis involvement is limited to background job scheduling or performance. A good handover states the material, plant, the exact parameters used on the initial screen, the run's log output, and whether the planning file entry was set beforehand.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/md02ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.