Unit 3: Planning Run Execution
This unit follows a planning run from start to finish: how the planning file selects materials, which sub-steps the run performs, how reorder point planning nets and schedules, how to parameterize classic MRP and MRP Live, how to convert planned orders, and how to evaluate results with the MRP list, the stock/requirements list and the Fiori monitoring apps.
Lesson 1 · Describing the Planning Run
After this lesson you can
- Explain the planning file and the NETCH indicator
- List the sub-processes of a planning run in order
- Explain the low-level code
- Calculate a reorder point and perform forward scheduling
The planning file
The planning file is the list of all materials that MRP may plan. A material enters it automatically as soon as MRP views with a planning-relevant MRP type (anything other than ND – no MRP) are saved. Whenever something planning-relevant happens to a material, the system sets a net change (NETCH) flag in its planning file entry so that the next net change run picks it up. Planning-relevant events include:
- Stock changes that alter the stock/requirements situation (goods movements).
- Creation, change or deletion of receipts/issues: requisitions, POs, planned orders, sales requirements, forecast requirements, dependent requirements, reservations.
- Planning-relevant changes to the material master or BOM.
Net change planning is the main performance lever: only flagged materials are processed. Planning file entries are permanent, so if a material is later switched to ND its entry remains and should be removed by a regular consistency check.
SPRO › Materials Management › Consumption-Based Planning › Planning › Activate Material Requirements Planning (PPH_MDAB)
Alternatively run the planning file consistency check from the application menu with MDRE.
Process flow – sub-steps of a planning run
- Planning file check: which materials must be planned in this run?
- Net requirements calculation: are requirements covered by available stock and fixed receipts? If not, a shortage quantity arises.
- Lot-size calculation: turn the shortage into a procurement quantity using the lot-sizing procedure, rounding and min/max limits.
- Scheduling: release and delivery dates for requisitions; start/finish dates for planned orders. Externally procured materials use the RLT. Forecast-based planning schedules backwards; reorder point planning schedules forwards.
- Procurement proposal type: procurement type
E→ planned order;F→ in classic MRP planned order, requisition or schedule line depending on settings, in MRP Live requisition or schedule line. A source of supply is then determined and assigned.
Afterwards MRP controllers review and process the new proposals.
Planning sequence – low-level code
A material can appear in several BOMs and on several levels. Its low-level code is the lowest level at which it appears in any BOM. The run plans all level-0 materials first, then level 1 and so on, so that all dependent requirements of a component are known before it is planned. The code is derived automatically during BOM maintenance and stored in the material master (additional data) and in the planning file. Materials used in no BOM get the highest code (999 / blank).
Reorder point planning in the run
Procurement is triggered when stock available for MRP (plant stock + fixed/firm receipts) falls below the reorder point. The reorder point should cover average consumption during the RLT plus a safety stock, which buffers excess consumption and late deliveries – so the safety stock is part of the reorder point.
Reorder point = safety stock + average daily requirement × replenishment lead time
Example: safety stock 100, daily consumption 20, RLT 10 days → reorder point 300.
| Net requirements element (ROP) | Explanation |
|---|---|
| Stock available for MRP | Warehouse stock (including safety stock) + on-order stock |
| On-order stock | Fixed and firm receipts: purchase orders, firm planned orders, firm (fixed) purchase requisitions – not unfirmed requisitions/planned orders, not sales orders |
| Shortage | When available stock < reorder point; shortage quantity = reorder point − available stock |
| Order quantity | Derived from the lot-sizing procedure |
Forward scheduling for external procurement
For ROP materials the shortage date is the day of the planning run, so the system schedules forward from the MRP date (which becomes the release date of the requisition or start date of the planned order):
For planned orders the delivery date corresponds to the basic finish date.
The planning file is stored in table PPH_DBVM; after migration it is built with report PPH_SETUP_MRPRECORDS.
- Order of sub-steps: planning file → net requirements → lot size → scheduling → proposal type/source determination.
- Low-level code = lowest BOM level; determined automatically; shown in the planning file.
- On-order stock = POs, firm planned orders, fixed requisitions.
- ROP uses forward scheduling; forecast-based uses backward scheduling.
- Purchasing processing time and GR time in working days, planned delivery time in calendar days.
- Materials with MRP type
NDstay in the planning file until a consistency check removes them.
Lesson 2 · Executing a Planning Run Using Classic MRP
After this lesson you can
- Choose between total and single-item planning
- Set the processing key, creation indicators and planning mode
- Explain the relation of plant parameters and MRP groups
Total planning vs single-item planning
| Run type | Scope | T-code |
|---|---|---|
| Total planning | All planning-relevant materials of a plant or MRP area including BOM explosion; online or in background, once or periodically; produces statistics (scope, exceptions, terminations, runtime) | MD01 (background MDBT) |
| Single-item, multi-level | One material plus all lower BOM levels | MD02 |
| Single-item, single-level | Only the selected material's level | MD03 |
| Single-item, interactive | Simulative, single-level; starts from the stock/requirements list and lets you trigger planning step by step – suited for critical items | MD43 |
| Plan by vendor | Planning per supplier (area menu WDIS); requires user exit WPOPO001 | MDW1 |
For total planning of several plants/MRP areas in a defined sequence, define a scope of planning in Customizing; each entry carries a counter fixing the order. Using a scope of planning requires parallel processing to be configured.
Other classic transactions remain in S/4HANA as long as MRP Live lacks some features: MD40, MD41, MD42 (MPS runs), MD50 (multi-level make-to-order planning), MD51 (project planning), and for evaluation MD05, MD06, MD45, MD46.
Processing key (planning run type)
| Key | Name | Behaviour |
|---|---|---|
NEUPL | Regenerative planning | Plans every material in the planning file regardless of flags; removes any NETCH flags. Needed after Customizing changes (MRP type, lot size, processing time) because those do not set NETCH flags. High system load. |
NETCH | Net change planning (total horizon) | Plans only materials flagged in the planning file; removes the flag afterwards. |
Control parameters on the initial screen
| Parameter | Options |
|---|---|
| Creation indicator for purchase requisitions | Planned orders only · purchase requisitions only · purchase requisitions within the opening period, planned orders outside it. The opening period (float, from the scheduling margin key in MRP 2) is subtracted from the order start date to get the opening date; if that lies before the run date, a requisition is created. |
| Creation indicator for schedule lines | No schedule lines · schedule lines only · schedule lines within the opening period, requisitions outside it |
| Creation indicator for MRP lists | No MRP lists · always · only for exception messages defined in OMD3 |
| Planning mode | 1 adapt planning data · 2 re-explode BOM · 3 delete and re-create planning data. Applies to non-fixed proposals only. The planning file also holds a mode per material; the higher number wins. Mode 1 on the initial screen is usually enough. |
| Scheduling | Basic date determination or lead time scheduling (relevant to planned orders) |
Parameters can be saved as defaults in MD01 and MD03 (Settings › Save).
Why MRP Live drops the creation indicators
Creation indicators date from a time when planners owned planned orders and buyers owned requisitions. Today buyers mostly negotiate contracts while planners and MRP handle operative requisitions. MRP Live therefore always creates schedule lines where a valid scheduling agreement exists, and requisitions otherwise. If you really need planned orders for external materials, implement BAdI PPH_MRP_SOURCING_BADI (method SOS_DET_ADJUST).
Plant parameters and MRP groups
| Level | Typical parameters | Customizing |
|---|---|---|
| Plant parameters | Number ranges, purchasing processing time, creation indicator for schedule lines, stocks considered | OMI8 |
| MRP group (assigned in MRP 1) | Creation indicators for requisitions, schedule lines and MRP lists, maximum MRP interval, safety stock availability, evaluation profile, etc. | OPPZ; default MRP group per material type: OMIG |
- MRP group settings override plant parameters (more specific wins).
- In total planning, a material without an MRP group is planned with the plant parameters.
- In single-item planning, the values on the initial screen always apply.
Configuration (IMG)
SPRO › Materials Management › Consumption-Based Planning › Planning › Define Scope of Planning for Total Planning
SPRO › Materials Management › Consumption-Based Planning › Define Parallel Processing in MRP
SPRO › Materials Management › Consumption-Based Planning › Planning › Define Floats (Scheduling Margin Key)
SPRO › Materials Management › Consumption-Based Planning › MRP Groups › Carry Out Overall Maintenance of MRP Groups (OPPZ)
SPRO › Materials Management › Consumption-Based Planning › MRP Groups › Define MRP Group for Each Material Type (OMIG)
- Two processing keys:
NEUPL(regenerative) andNETCH(net change). - Customizing changes do not set NETCH flags – use NEUPL to apply them.
- Planning mode: highest number wins (3 > 2 > 1); fixed proposals are never changed.
- MRP group has priority over plant parameters; MRP group can be defaulted per material type.
- Creation indicator for MRP lists decides if and when MRP lists are created.
Lesson 3 · Executing a Planning Run Using MRP Live
After this lesson you can
- Describe benefits and restrictions of MRP Live
- Define the planning scope and control parameters
Key concepts
MRP Live pushes the planning logic into the SAP HANA database. It is much faster, so you can plan several times a day, online or in background, across one or several plants. It also offers a flexible planning scope: you choose exactly which materials to plan (e.g. by plant, MRP controller, material range).
MRP Live does not yet cover every classic feature. Examples: some optimizing lot-sizing procedures, and – important for this course – forecast-based and time-phased planning are not supported. Current restrictions are listed in SAP Note 1914010.
Process flow – mixed planning
MRP Live sorts materials into three groups: those it can plan itself; those handed to classic MRP (unsupported feature, or flagged "Plan in classic MRP" in MD_MRP_FORCE_CLASSIC, or failed in MRP Live); and those that cannot be planned at all (e.g. inconsistent master data), for which exception MRP lists are written. Both parts for one low-level code finish before the next code starts.
System steps
- Start MD01N or the Fiori app Schedule MRP Runs.
- Define the planning scope (plants, materials, MRP controllers …) and optional extensions: Changed BOM components (components whose dependent requirements changed in this run), All order BOM components (all components of order BOMs, even unchanged), Stock transfer material (also plan supplying plants of stock transfer materials).
- Set control parameters: Regenerative planning (plan all selected materials even without changes), Planning mode (handling of non-fixed proposals), Scheduling (affects planned orders only).
- Execute; review issues in Display MRP Master Data Issues and runtimes in Display MRP Key Figures.
MRP Live keeps closing gaps with classic MRP from release to release; always check the current version of SAP Note 1914010. Related S/4HANA planning tools such as predictive MRP (pMRP) and demand-driven replenishment (DDMRP) are offered as Fiori apps but are outside the scope of this course.
- MRP Live: MD01N / Schedule MRP Runs; flexible planning scope.
- Forecast-based (
VV) and time-phased materials are automatically planned by classic MRP. - MD_MRP_FORCE_CLASSIC forces classic planning per material.
- MRP Live has no creation indicators: schedule lines if a valid scheduling agreement exists, otherwise requisitions; no planned orders for external materials unless a BAdI is used; no MRP lists.
Lesson 4 · Converting Planned Orders and Evaluating MRP Lists
After this lesson you can
- Explain the structure and static nature of the MRP list
- Describe planned orders and convert them into purchase requisitions
This lesson applies only to classic MRP; MRP Live creates neither planned orders for external materials nor MRP lists.
MRP list
A classic run produces procurement elements (planned orders, requisitions, schedule lines) and – depending on the creation indicator – an MRP list. The MRP list is a static snapshot of the stock/requirements situation at the time of the last run; later changes are not reflected. It remains until deleted manually or replaced by the next run.
| Section | Content |
|---|---|
| Header | Material, plant, MRP parameters |
| Items | MRP elements: planned orders, POs, reservations, sales orders … |
| Material tree | Materials, orders or product groups used in the session |
Texts of MRP elements can be changed in Customizing (Evaluation › Check Texts for the MRP Elements).
Planned orders
- Internal, non-binding procurement proposal; does not trigger procurement itself.
- Can be changed or deleted; created by MRP or manually (MD11; change MD12).
- Does not by itself decide in-house vs external – it is converted to a production order (in-house) or a purchase requisition (external).
- For in-house materials it carries dependent requirements and basic dates and is used for capacity planning.
Requisitions created by converting a planned order are automatically fixed and will not be changed by later runs.
Conversion into purchase requisitions
| Method | Details | Tool |
|---|---|---|
| Individual conversion | Whole or partial quantity (e.g. if demand changed or part is produced in-house); also directly from MRP list or stock/requirements list | MD14 |
| Collective conversion | Select planned orders whose start dates fall into the opening horizon (from the horizon/scheduling margin key); optional source determination; also in background | MD15, Fiori Convert Planned Orders to Purchase Requisitions |
- Conversion options: individual and collective (not by storage location or purchasing group).
- Converted requisitions are fixed.
- MRP list = static, result of last run; exists only in classic MRP.
- Opening horizon controlled by the scheduling margin (horizon) key in MRP 2.
Lesson 5 · Evaluating the Planning Results
After this lesson you can
- Compare MRP list and stock/requirements list
- Use collective access, the material tree, navigation profiles and favorites
- Configure and interpret exception messages
- Use the Fiori monitoring apps
MRP list vs current stock/requirements list
| Feature | MRP list (MD05 / MD06) | Stock/requirements list (MD04 / MD07) |
|---|---|---|
| Nature | Static – situation at last planning run | Dynamic – rebuilt on every call |
| Created | During classic run, per creation indicator | Not stored; read on demand |
| Later changes | Not shown | Shown immediately |
| Availability | Classic MRP only | Classic MRP and MRP Live |
| Exceptions | All, incl. for newly scheduled elements | Almost all, but not those for newly scheduled MRP elements |
Right after a run both lists show the same; after any MRP-relevant change only the stock/requirements list updates. Both have an optional overview tree (worklist) on the left, a header (expandable header details) and the item lines with available quantity.
Layout and functions
- Show availability date or GR date; show supplier/customer per element.
- Filters restrict which elements/segments are displayed; selection rules decide which elements/stocks are included in the quantity calculation. Useful rules for CBP: SAP VB with dependent requirements (shows dependent requirements of
VBmaterials – they still do not influence planning) and SAP SA releases instead of delivery schedules (shows whether releases were sent forLPAscheduling agreements). - Show the end of the RLT as an extra line.
- Period totals in daily/weekly/monthly tabs for a quick availability overview.
- Compare the MRP list with the current situation.
- Header details: screen sequence assigned via the MRP type, so CBP and MRP materials can show different master data.
- User settings (apply to both lists): display options, own transaction calls, column layout, material tree navigation, traffic light values, saved selection for collective access.
Collective access
- A material overview lists all selected materials; you can jump from one individual list to the next.
- "Set up lists beforehand" provides orientation help.
- Traffic lights show urgency based on range of coverage and exception groups; red beats yellow beats green.
- Search by exception messages, sort, and graphical display of coverage or stock values.
- MRP list collective access offers other criteria – e.g. MRP date, processing date, processing indicator, new exceptions.
Traffic lights can be made material-specific: define evaluation profiles for range-of-coverage data and assign them to MRP groups per plant (OPPR).
Material tree
A structure tree in both lists (switch on in user settings). It automatically contains all materials selected via collective access and all materials displayed in the session; leaving the transaction clears it. Layouts: worklist tree (all session materials), order tree (components and assemblies of a selected element per order report), product group tree (when accessed via product group). Fields and sequence of worklist/order tree are configurable.
Navigation profiles and own favorites
A navigation profile (OM0K) provides buttons to call other transactions directly from the lists, either material-level or MRP-element specific. You may define any number of calls, but only the first five general and two element-specific calls relevant in context are displayed. Up to three initial-screen parameters can be pre-filled per call, and calls can be restricted by procurement type, material type, MRP group or MRP type. Users assign a profile via Environment › Navigation Profile › Assign. Own favorites (Environment › Own Favorites › Maintain) add up to five general user-specific calls.
Exception messages
Each exception refers to one MRP element and highlights situations the controller must check: new proposals, dates in the past (start/finish/opening), BOM explosion problems, scheduling problems, rescheduling proposals, falling below safety stock. In OMD3 you define whether a message is created, its priority (which one is shown when several apply), its exception group for selection, and whether it triggers creation of an MRP list.
Customizing of evaluations
| Topic | Customizing |
|---|---|
| Individual period split for period totals | OMDA |
| Receipt elements for receipt days' supply (up to two) | OMIL |
| Screen sequence for header details (assigned to MRP type) | OMIO |
| Exception messages | OMD3 |
| Navigation profiles | OM0K |
SPRO › Materials Management › Consumption-Based Planning › Evaluation › Exception Messages › Define and Group Exception Messages (OMD3)
SPRO › Materials Management › Consumption-Based Planning › Evaluation › Define Navigation Profiles (OM0K)
SPRO › Materials Management › Consumption-Based Planning › Evaluation › Define Evaluation Profile for Range-of-Coverage Data
Fiori apps for evaluation
| App | Purpose |
|---|---|
| Monitor Material Coverage – Net Segments | Make-to-stock / collective-requirement materials with possible shortages according to a shortage definition; filter e.g. "Time till Shortage"; navigate to Manage Material Coverage |
| Monitor Material Coverage – Net and Individual Segments | Also make-to-order, engineer-to-order, direct production and direct procurement segments |
| Check Material Coverage | Shows all segments of a material, proposes solutions you can simulate and apply |
| Monitor External Requirements | Uncovered sales orders and stock transport orders; drill to Manage External Requirements |
| Monitor Internal Requirements | Component availability for production, process, maintenance and network orders; drill to Manage Internal Requirements |
| Display MRP Master Data Issues | Issues, restrictions and success messages from the last MRP Live run; accepted issues reappear if unsolved |
| Display MRP Key Figures | Statistics per MRP run (settings, number of materials, durations, per low-level code and step) |
The apps work with an area of responsibility (plant + MRP controller) set in App Settings. In consumption-based planning, material coverage works only for forecast-based planning (VV). If a material is missing from the apps, set its "MRP Apps" relevance to Y in MD_MRP_FORCE_CLASSIC.
- MRP list = static, last run, classic only; stock/requirements list = dynamic, both run types.
- Navigation profile: any number of calls defined, max five general + two element-specific displayed.
- Exception messages: priority, grouping, creation, trigger MRP list – OMD3.
- Traffic lights: red > yellow > green; material-specific via evaluation profile on MRP group.
- Collective display: MD06 (MRP lists), MD07 (stock/requirements).
Unit summary & exam focus
The planning file and NETCH flags decide which materials are planned; each material passes net requirements, lot size, scheduling and proposal/source determination in low-level-code order. Classic MRP is parameterized by processing key, creation indicators and planning mode (with MRP group overriding plant parameters); MRP Live offers flexible scope and hands unsupported materials (e.g. VV) to classic MRP. Planned orders are converted with MD14/MD15, and results are evaluated with MRP lists, stock/requirements lists and Fiori coverage apps.
T-codes in this unit
| T-code | Purpose |
|---|---|
| PPH_MDAB | Activate MRP / planning file consistency (Customizing) |
| MDRE | Planning file consistency check |
| MD01 | Total planning (classic) |
| MDBT | Total planning in background (classic) |
| MD02 | Single-item, multi-level |
| MD03 | Single-item, single-level |
| MD43 | Single-item planning, interactive |
| WDIS | Area menu (retail MRP) |
| MDW1 | Plan by vendor |
| MD40 | MPS total planning |
| MD41 | MPS single-item, multi-level |
| MD42 | MPS single-item, single-level |
| MD50 | Multi-level make-to-order planning |
| MD51 | Multi-level project planning |
| MD45 | Planning result (MPS) – individual |
| MD46 | Planning result (MPS) – collective |
| OMI8 | Plant parameters |
| OPPZ | MRP groups (MM path) |
| OPPR | MRP groups (PP path, evaluation profile) |
| OMIG | MRP group per material type |
| MD01N | MRP Live |
| MD_MRP_FORCE_CLASSIC | Force classic MRP / MRP app relevance per material |
| MD11 | Create planned order |
| MD12 | Change planned order |
| MD14 | Individual conversion planned order → requisition |
| MD15 | Collective conversion planned orders → requisitions |
| MD04 | Stock/requirements list |
| MD05 | MRP list – individual |
| MD06 | MRP list – collective |
| MD07 | Stock/requirements – collective |
| OM0K | Navigation profiles |
| OMD3 | Define and group exception messages |
| OMDA | Period split for period totals |
| OMIL | Receipt elements for receipt days' supply |
| OMIO | Screen sequence for header details |
Self-check questions
- After changing the lot-sizing procedure in Customizing, which processing key must you use?
Answer
NEUPL(regenerative), because Customizing changes do not set NETCH flags. - A material has planning mode 3 in the planning file; the run is started with mode 1. Which mode applies?
Answer
Mode 3 – the higher number wins. - Which has priority: plant parameters or MRP group?
Answer
The MRP group. - Which scheduling direction does reorder point planning use and why?
Answer
Forward scheduling, because the shortage date is the planning run date; the availability date is calculated from the MRP date onwards. - What happens to a
VVmaterial in an MRP Live run?Answer
MRP Live does not support forecast-based planning, so it automatically plans the material with classic MRP within the same low-level code. - Why does a converted purchase requisition not change in the next run?
Answer
Requisitions created from planned orders are automatically fixed. - What is the key difference between MD05 and MD04?
Answer
MD05 shows the static MRP list from the last classic run; MD04 is dynamic and always shows the current situation. - How many transaction calls does a navigation profile display?
Answer
Any number can be defined, but up to five general and two MRP-element-specific calls are shown.