MD05 — MRP List Display
MD05 displays the MRP list, the frozen snapshot of stock, requirements, and exception messages that was written to the database when MRP last ran for a given material and plant. It does not recalculate anything live. If stock or demand has changed since that run, MD05 will not show it until MRP is executed again and a new list is generated.
This page covers MD05, the transaction used to review the last MRP run result for a single material and plant. It focuses on the difference between MD05's static snapshot and MD04's live recalculation, and on the diagnostic patterns that come from that difference being misunderstood.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,229 words
Purpose
MD05 displays the MRP list, the snapshot of stock and requirements exception messages that SAP wrote to the database when MRP last ran for a specific material and plant, or MRP area. It is not a live view. The numbers, dates, and exception codes on screen are exactly what the planning run calculated at that point in time, not what the situation is now. This is the one structural fact that explains most confusion about the transaction: a goods receipt posted five minutes after the MRP run, or a sales order entered afterward, will not appear in MD05 until MRP is run again. Consultants who expect MD05 to behave like MD04, recalculating on every call, end up chasing discrepancies that are simply the list being out of date rather than a data error.
When it is used
Reached for when someone needs to know what MRP actually proposed and why, after the run finished, without triggering a fresh and potentially slow recalculation. MRP controllers use it during daily exception handling, reviewing exception messages such as rescheduling proposals or missing parts, typically via a collective planning result view, with MD05 used for the single material deep dive when something needs closer inspection. It is also the reference point when reconciling what MRP saw against what is true right now: pulling up MD05 and MD04 side by side to identify everything that changed between the run and the current moment, such as new orders, cancelled reservations, or goods movements. On S/4HANA, newer Fiori monitoring apps cover similar ground, but the GUI transaction remains the fastest single material check.
How to use it in practice
The sequence is short because MD05 is a display transaction with almost no configuration on the entry screen.
- Enter the material number and plant, or MRP area, on the initial selection screen.
- Execute; the header line shows the date and time the underlying MRP run generated this list.
- Scan the MRP elements table for exception messages in the rightmost columns before reading anything else.
- Double-click an element such as a planned order, purchase requisition, or sales order to drill into its detail.
- Compare the list generation date against today's date before drawing any conclusion about current coverage.
- If the list is stale, missing, or does not reflect a known change, exit and run MD02 or MD01 to refresh it, then re-enter MD05.
Key data objects
MD05 is display-only; it does not create or change data. Everything it reads was written earlier by the MRP run itself.
- MDKP - MRP list header record: material, plant, MRP area, and the date and time the list was generated.
- MDTB - MRP list items: each stock or requirements element carried into the list, with quantity, date, and the exception message number attached at run time.
- MDVM - planning file entry: flags which materials were due for MRP; if a material has no current entry, MRP may never have covered it, and MD05 has nothing to show.
- MARC - material plant data: source of the MRP type and lot sizing settings that determine whether and how a material gets planned at all.
How to prove it in the data
Pull MDKP filtered by the material and plant in question and check the creation date and time on the header record against the current date; a mismatch of hours or days confirms the list on screen is stale relative to whatever event is being investigated. Cross-check MDVM for the same material and plant to see whether a planning file entry currently exists; no entry means the material has not been queued for the next MRP run. Compare current stock in MARD or MARC against the quantities shown in the MDTB rows to quantify exactly how much has moved since the list was frozen.
ECC vs S/4HANA
MD05 continues to work unchanged on S/4HANA as a GUI transaction, reading the same underlying MRP list structures. S/4HANA adds Fiori based material coverage and stock requirements monitoring apps that present similar exception and coverage information with a different navigation model, aimed at planners who work primarily in the Fiori launchpad. Neither the underlying MRP run logic nor the static-versus-live distinction between the MRP list and the current stock/requirements list has changed.
Common pitfalls and how to diagnose them
- Stale list mistaken for current status: the most common failure is treating MD05 output as real time. The reflex of trying to fix a discrepancy by adjusting something inside MD05 is wrong because there is nothing to adjust; MD05 shows nothing until MRP is rerun. Check the header date and time first, always, before investigating anything else.
- No MRP list exists error: means MRP has never run for this material and plant combination, or the list was purged. Check whether the material is marked as MRP relevant in the material master, and whether a planning file entry ever existed in MDVM. A material with MRP type set to no planning will never generate a list.
- Missing exception message the planner expected: check the scope of the last MRP run. A single item net change run does not touch materials outside its scope, so an exception that should have fired may simply not have been triggered yet. Confirm the run type and date on the MDKP header against what the planner assumed ran.
- Wrong plant or MRP area selected: MD05 is scoped strictly to what is entered on the selection screen. Materials with special procurement, subcontracting, or multiple MRP areas frequently show empty or misleading results because the wrong area was queried, not because MRP failed.
- Confusing MD05 with MD04 during troubleshooting: since MD05 never recalculates, any change to stock, sales orders, or purchase orders made after the run will be invisible here. Always open MD04 alongside MD05 when the question is about current coverage rather than what MRP historically proposed.
Whose problem this is
Functional, owned by the MRP controller or PP consultant reviewing planning results. ABAP involvement is rare and limited to custom exception message logic or list layout enhancements. Basis involvement is limited to MRP run performance or background job failures at the planning run level, since MD05 itself only displays what already exists. A good handover states the material, plant, the MRP run date being questioned, and whether the concern is about the list itself or about a mismatch against current stock.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/md05ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.