As a SAP Consultant I believe in solving real business problems by exploiting SAP to the best of its abilities. In my opinion MRP is possibly one of the best tools in SAP. I refrain myself from calling it the best tool/product in SAP but probably it is.
In my last blog, I emphasized on the importance of maintaining good master data (https://blogs.sap.com/2020/07/02/master-data-the-unsung-hero/). In this blog, we’ll discuss why maintaining the right parameters in MRP views of Material Master plays a vital role in MRP calculation.
MRP is the heart of SAP and if used correctly it could help business solve many problems like non-optimal inventory levels (high inventory in most cases), delayed delivery to a customer, dead stock etc. In a nutshell, MRP as a Planning Engine serves to solve three basic questions:
- What (material) to produce/procure
- When (Date) to produce/procure
- What quantities
However, as said earlier, if MRP is used correctly it can help you solve a lot of other problems too.
In this blog post, I’ll decode MRP run in SAP and present the steps involved in MRP run. While MRP run is an extremely complex process and involves so many complex algorithms.
Let’s try to understand MRP steps and the parameters that MRP takes into account.
- Planning File entries
- Net Requirement Calculation
- Lot Size Calculation
- Procurement Type
- BOM Explosion
Step 0 : Planning File entries
I call this as Step 0 for MRP run. Planning file entries determine if materials are relevant for planning in the next MRP run. A planning file entry is created for a material whenever any of the below activities happen:
- Change in Inventory: whenever an inventory posting happens for example goods issue or goods receipt or a material movement.
- Change in Demand/Supply elements: whenever a new demand or supply element is created or changed for instance a new sales order arrives or a production order quantity is changed.
- Change in Material Master – MRP views : if a field in MRP views is changed.
Planning file entry can be displayed with transaction MD21.
The indicators are Net change in Planning and Net Change in Planning Horizon. This is the same indicator which is taken into consideration during MRP run.
Step 1: Net Requirement Calculation
The first step is to identify the quantity to be produced. Here the planning engine calculates the quantity to be procured/produced to meet the new requirements. The net quantity is calculated based on stock on hand and MRP elements.
Basically there are two types of MRP elements: Demand Elements and Supply Elements.
Demand Elements: It is a requirement for a material stock like demand from Customer for Finished Assembly or Dependent Requirement for a Semi finished or Raw material for example: Sales Order, Schedule Agreement, Planned Independent Requirement (PIR’s), Delivery etc. The elements which credit (or Reduce) the Stock are called Demand elements.
Supply elements: It is the fulfillment of the requirements. Or to say in another words: any object or element which adds on the material stock or debits the stock to the warehouse or Storage Location in Plant is a Supply element. For example, Planned order, Production order, Purchase Requisition, Purchase Order etc.
System also takes into account Planning Strategy and fields from Net requirement calculation like Safety stock etc.
Step 2: Lot size Calculation
In this step the exact lot sizes are calculated based on ‘Lot Size Data’ in the MRP 1 view of material master.
The first most important field here is ‘Lot Size’ indicator and depending on the lot size, it is extremely important to maintain correct values in the other fields of ‘Lot size data’ frame.
For instance the Lot Size ‘EX Lot for lot order quantity’ creates the lot exactly as the quantity calculated during net requirement calculation. While a Fixed lot size will create procurement proposals for the round-up quantities of Fixed lot.
Step 3 : Procurement Type
Now that the lot size is identified for the materials, it is time to create Procurement proposals. The procurement type indicator identifies if the material is produced in-house or procured externally. If the material is produced in-house then MRP generates planned orders and if the material is procured externally then purchase requisitions are generated.
Now it is interesting to know the difference between ECC and S/4HANA for the process of purchase requisition creation.
Purchase Requisition creation in ECC
The process for PReq (Purchase Requisition) is determined by MRP Control Parameters in MD01/MD02/MD03 for externally procured materials. The indicator ‘Create Purchase Requisition’ controls :
- creates purchase requisitions for the total planning horizon
- creates planned orders for the total planning horizon which are manually converted into purchase requisitions at a later date
- creates purchase requisitions within the opening period and planned orders outside the opening period.
Purchase Requisition creation in S/4HANA
In S/4HANA the indicator ‘Create Purchase Requisition’ has been removed from MRP control parameters in MRP Live. MRP Live always creates Purchase requisition for externally procured materials.
This is one of the simplification in S/4HANA.
At the same time other fields from Procurement data are taken into account like Special Procurement type or Prod Storage location and accordingly procurement proposals are generated.
For instance a subcontracting or Stock Transfer order is generated based on Special Procurement type.
Step 4 : Scheduling
Once the procurement proposals are generated now it’s time to determine the dates on which order should be procured. Replenishment Lead time is used to determine order dates. There are few parameters which are considered during scheduling:
In-house production time Specifies the time in workdays needed to produce the material in-house and is independent of the order quantity.
Planned Delivery Time is the number of calendar days needed to obtain the material or service for externally procured materials. This means it is the time required by the vendor to deliver the materials once a purchase order is placed.
Goods Receipt Processing Time is the number of workdays required after receiving the material for inspection and placement into storage. This is applicable for both in-house and externally procured materials.
The ‘Scheduling’ parameter in MRP parameters from MD01/MD02/MD03 determines whether to perform Basic Scheduling or Lead Time scheduling.
In case of Basic Scheduling only basic production dates are determined considering In-house production time from material master.
For Lead time scheduling the exact time is calculated based on data maintained in Routing. System not calculates the production dates but also determines the time to the accuracy of minutes and seconds and thus create capacity requirements. Lead time also considers the order quantity.
There are different scheduling types commonly used in Production Planning and especially in production orders.
- Forward scheduling
- Backward scheduling
- Today scheduling
- Only capacity requirements
In forward scheduling, SAP system schedules the order based on basic start date and determines the schedule end dates.
In backward scheduling, SAP system schedules the order based on basic end date and try to determine schedule start date.
In today scheduling, SAP system calculates schedule end date by considering schedule start date as current date.
In only capacity requirements scheduling, basic dates are copied as schedule dates. Operations will not be scheduled.
Step 5 : BOM Explosion
In this step system explodes the BOM (Bill of materials) to calculate the quantity needed for Semi finished assemblies or raw materials. Once the BOM is exploded Step 0 to Step 4 are performed for each material from the BOM structure to cover dependent requirements for all the materials.
In the process of planning for the higher level manufactured material, the system explodes its Bill of Material (BOM) and identifies the components/sub-assemblies and their quantities required in the manufacturing. The system works on programmed concept called low level codes, wherein it explodes the highest level codes first thereby evaluating its requirement and then moves hierarchically downwards (into lower level codes) to calculate the quantities required for each of the component. SAP does this till it reaches the lower most level (and there is no level to explode further). The highest level material has a low level code of “000” while the next lower level component/sub-assembly would have a low level code of “001” so on and so forth.
Disclaimer: Please note that the MRP Planning engine is an extremely complex process and involves extremely complex algorithms. This blog highlights only some of the most important parameters considered during MRP run but not all.