I love SAP. But I’m having a hard time understanding the excitement for Demand Driven MRP (DDMRP) functionality that SAP first offered in its S/4HANA 1709 version. I’ve studied DDMRP and have had many discussions with colleagues. We cannot see how DDMRP solves planning problems that weren’t already solved with classic MRP functionality we’ve had since the R/3 days! DDMRP requires the use of Fiori apps; additional master data; and a new way of doing exception monitoring so the functionality requires a lot more know-how. In my 10 years of SAP PP optimization consulting I have never seen a client use even classic MRP functionality correctly! Why throw additional functionality at them?
Manufacturing companies are in business to make and deliver products on-time and at a profit to customers. They are not in the business of keeping up with the latest SAP offering.
In this blog I’ll discuss how DDMRP solves various planning problems and how classic SAP has solved the same problems since its early days. I assume the reader already knows how DDMRP works. If not, please watch this excellent YouTube video by Caetano Almeida who is a Support Architect at SAP. Please start watching at 21:41 when Caetano begins talking about S/4HANA 1709. https://www.youtube.com/watch?v=g2JmSkuUAxw
I will refer to the product structures below. LT = lead time
ROH1 would be a good candidate for DDMRP because it has a long lead time and consistent usage.
Here is a summary of the planning problems solved by DDMRP and an equivalent solution that has been in SAP since the R/3 days.
|Planning Problem||Solutions that have been in SAP since R/3||Solution using DDMRP in S/4HANA starting at release 1709|
|The “forecast is always wrong” leading to high inventory of some components.||Use the correct planning strategy||Use DDMRP MRP type D1 to decouple the components’ plan from the finished goods forecast.|
|Want to reduce noise in the planning of low-level components.||For PD planned materials use safety stock that is partially relevant to MRP|
|Want to shorten the critical path||
Use consumption-based planning for some low-level components (detailed below).
Or use Kanban planning with an MRP signal at any BOM level (not detailed below).
Below are detailed explanations for each point.
“The Forecast is always wrong”
One of the things that DDMRP promises to fix is the cumulative error on the planned quantity of lower level components. This is often described as the bullwhip effect. If FERT1 and FERT2 are planned with Strategy 40 Planning with Final Assembly you will likely hold too much inventory of ROH1 a component common to both structures. This is because strategy 40 plans demand as the higher of the VSF forecast or the sales orders.
If you forecast 100 PC of FERT1 and 50 PC of FERT2 but have sales orders of 130 PC and 10 PC respectively you will plan 180 PC of FERT (130 PC + 50 PC). If ROH1 is used 1:1 with FERT you will plan 180 PC of ROH1. But you need only 140 PC of ROH1 for upcoming sales.
The DDMRP solution will use MRP type D1 on ROH1 and plan it independently; “decoupling it” from the forecast on the FERTs. You will maintain inventory of ROH1 based on its average daily usage keeping the dynamic buffer quantity satisfied.
The classic SAP solution is to use a more fitting planning strategy. So many clients don’t use any make-to-stock planning strategies other than Strategy 40. What a shame!
If you need to plan capacity at your FERT work centers then Strategy 63 Planning with a Planning Material is more suitable for the product structures above. You will plan 150 PCs of the “FERT family”; this is known as a Planning material. See process flow screen shot below from the Demand Management PP-MP-DEM document found here in the SAP Library:
To choose the correct planning strategy you will answer these two questions:
- With which quantities will you forecast: individual FERTs or the family of FERTs?
- Where will you stock the assembly prior to the receipt of the sales order: the FERTs, the HALBs or the ROHs? See Stock keeping at different BOM levels diagram below.
Let’s assume you’ve offered your customer a 10-day lead time.
Using correct master data settings, you will stock only HALB1 based on the forecast for the FERT family because it and its ROHs have long lead times. MRP will plan 150 PCs of HALB1 because you’ve forecasted 150 PCs of the “FERT family”. If you sell 130 PC of FERT1 and 10 PC of FERT2 you will have only 10 extra PCs of HALB1 and nothing extra of the other HALBs and ROHs. Therefore, you hold lower overall inventory compared to Strategy 40.
HALB2, HALB3, ROH3 and ROH4 will be planned once the sales orders for FERT1 and FERT2 are entered. This is not a problem because with a 10-day lead time you can purchase ROH3 and ROH4 and make HALB2 and HALB3 in time.
Or, if you do not need to plan capacity at your FERT work centers because capacity is always available then consider using planning Strategy 70 Planning for Sub Assembly instead. Enter 150 PCs of VSFB forecast for HALB1. MRP will drive you to stock HALB1 prior to the receipt of the sales orders for FERT1 and FERT2. Once the sales orders are entered you will procure ROH3, ROH4, HALB2 and HALB3. Again, you have time because your promised lead time to customer is 10 days. Here is a link to planning strategy 70 in the Demand Management PP-MP-DEM document found in the SAP Library:
Choose a planning strategy that allows you to stock at the cheapest/most flexible BOM level while still meeting the promised lead time to customer
Reduce noise (exception messages) on lower level components
Another thing that DDMRP promises to fix is the high volume of exception messages you get on ROH1 when the quantity or date of the demand for FERT1 and FERT2 changes. This is because by using the DDMRP type D1 on ROH1 you decouple its planning from the BOM structures above it.
With classic MRP Plan on Demand (MRP type PD) when you increase the quantity of the FERT demand or move it to a sooner date, the scheduled supply element such as a purchase order for ROH1 is hit with exception message 10 which tells the planner to “expedite supply”.
But classic SAP already has a solution to this problem. Again, unfortunately, not used by most clients!
Make Safety Stock partially relevant to MRP
Within configuration you can make safety stock partially relevant to MRP. So, for example, if you configure safety stock 60% relevant to MRP it means that you can dip up to 60% into safety stock without causing MRP to create a procurement element, or hit a scheduled receipt with exception message 10. Here is the configuration setting within MRP Group:
Let’s say you plan ROH1 with MRP type PD and you’ve set a safety stock level of 110 PC. Consider this situation for the Stock Requirements List if safety stock is not partially relevant to MRP (the SAP delivered setting). See the screen shot below.
Two purchase requisitions were created, one to satisfy safety stock and the second to satisfy the dependent requirement. Exception Message 30 tells the planner to convert to a purchase order immediately and expedite. Exception Message 96 tells the planner the stock has fallen below the safety stock level.
Once you configure safety stock to be 60% relevant to MRP you can partially dip into safety stock without MRP creating a purchase requisition. See screen shot below.
Consider this Slug material to be ROH1 in our product structure. The demand for the FERTs can increase slightly or be scheduled to a sooner date without causing MRP to create a purchase requisition. When the safety stock level is eventually breached by demand that exceeds 60% of 110 PC a single purchase requisition will be planned to satisfy both the dependent requirement and to bring the safety stock level back up to 110 PC.
Shorten the critical path
Use consumption-based planning
Just like planning strategy 40 doesn’t suit all make to stock demand planning, MRP type PD doesn’t suit all supply planning. Consider using consumption-based planning on materials where it makes sense. Usually these will be at the lowest level of the BOM structure, the ROH materials. In the table below we can see a general rule of thumb where each MRP type might be used.
There are two main types of consumption-based planning:
- Reorder point planning – good for short lead time components
- Consumption forecasting – good for long lead time components that have predicable usage; they are widely used meaning that they occur in several BOMs.
When component materials are planned using either form of consumption-based planning the demand signal is cut off as seen in the revised product structure below. The three ROH materials are planned in their own little worlds.
The critical path also known as the total replenishment lead time to make FERT1 is now only 22 days (2 + 20) since all ROH materials are planned by consumption-based planning; they are considered to always be in stock. If all materials were planned with MRP type PD instead, the critical path would be 57 days (2 + 20 + 35).
- MRP Type V1 requires the planner to set a reorder point in the material master such that once it is breached you will not run out of inventory before the new supply arrives. For this the planner must consider the lead time of the material and the expected usage during the lead time. You can find the expected usage from SAP report MC42 Range of Coverage based on Usage.
- MRP Type VV requires a material forecast (demand) to be generated (usually based on historical consumption using a model such as seasonal, trend, seasonal-trend, constant, etc.). MRP runs to provide planned supply elements to satisfy the material’s forecast. Dynamic safety stock also known as range of coverage profile is often used with VV planning to cover spikes in demand.
Another added benefit of consumption-based planning is that it forgives capacity overloads. If the FERT and/or HALB work centers are overloaded you will not carry excess inventory of ROH materials.
Supply chains are all different, hence planning problems are diverse. To address this, SAP has offered a large toolbox of planning functionality since the R/3 days. Clients choose the best solutions for their needs. As consultants we should encourage them to exhaust classic solutions first before introducing new functionality such as DDMRP because it is not cheap. It requires the use of Fiori apps, additional master data and additional processing know-how.
I won’t offer a glass of water to a drowning man!