This post is part of a series about Demand-Driven MRP (DDMRP). After an introduction to DDMRP and a summary of why DDMRP is needed, I’ll now dedicate one post to each of the 5 DDMRP components, and what is lacking in standard SAP ERP for a basic DDMRP solution. The official DDMRP software compliance criteria, as defined by the Demand Driven Institute, can be found here, and we’ll come back to these criteria as we discuss our basic SAP DDMRP solution.

The Power of Decoupling

DDMRP attacks some of MRP traditional weaknesses (as discussed in part II) by building stock positions and hence decoupling the supply generation from each (nervous and often wrong) demand signal. I am not going to detail here the advantages of having these decoupling positions, but suffice it to say for now that they will allow you to (1) absorb variability and (2) compress lead times. The goal, as I see it, is to simplify the system by dividing it into smaller sub-systems, but in a way that ensures that you are still working towards a global optimum and not local ones.

Lead time compression (more about that below) will also allow you to do not depend on forecasts, switching from Push and Promote to Position, Protect and Pull.


Decoupled Lead Time

When talking about lead time for a manufactured part, we usually think of one of two things: either the time it takes to manufacture the part assuming all components are available (ie, the manufacturing lead time, in SAP some something like the sum of MRP2 fields in-house production time and goods receipt processing time) or, at the other extreme, the longest BOM path assuming no components are available (cumulative lead time). With the introduction of buffered (stocked) positions, it makes sense to think of an intermediate lead time: the longest BOM path, but assuming that stocked positions are available. DDMRP refers to this as the Decoupled Lead Time (DLT).

A quick example: for a certain finished product, we need 15 days to procure the raw materials, 5 days to manufacture a semi-finished product, and then 2 extra days to manufacture the final product. For the finished product the manufacturing lead time is then 2 days, and the cumulative lead time is 15 + 5 + 2 = 22 days. The LDT will depend on where you position your buffers: it could be 0 days (finished product is buffered), 2 days (semi-finished product is buffered), 7 days (raw materials are buffered) or 22 days (no buffers).

Criteria for Buffer Positioning

Ok, this is great, but where should I position my inventory buffers? That depends on several factoring, including:

  1. Customer Tolerance Time: How long is my typical customer willing to wait?
  2. Market Potential Lead Time: Lead time that would allow me to increase price or sales.
  3. Sales Order Visibility Horizon: How much in advance are sales orders received?
  4. External Variability: Is my demand subject do spikes? Is my supplier reliable?
  5. Inventory Leverage and Flexibility: Which common components will help me more in compressing lead times?
  6. Critical Operation Protection: Which operations in my routings should I protect to avoid starving?

So where can SAP help?

First, SAP will need to be able to calculate decoupled lead times. Provided you already have a field in your material master to define if it is a buffered material, this should be pretty straightforward with a function like CS_BOM_EXPL_MAT_V2. In SAP there is already a field called Total Replenishment Lead Time (MRP3) which can be used for ATP, and I would argue should be filled with the DLT in a DDMRP scenario; in standard SAP this field has to be maintained manually. This ability to automatically calculate DLT is the only thing that is mentioned as mandatory in the compliance criteria:


Our DDMRP solution should also be able to help with buffer positioning. Looking at the position criteria above, we can exclude 1 and 2, as this information should mostly come from the sales and marketing guys. The software could maybe help with 3 (comparing historical requested dates with order creation date), with 4 (maybe by analyzing demand standard deviation, and by comparing purchasing requested dates with actual goods receipt) and 6 (possibly checking convergent and divergent points in the routings, as these are usually good candidates, or maybe calculating resources with high utilization), but again in many situations this analysis can be done by the business in a relatively easy way.

This leaves us with criteria 5, and the idea here is that a common component that is used in several parts, and belongs to those parts longest unprotected BOM paths, is a good candidate for buffering. For this, DDMRP authors suggest the use of a Matrix BOM, which is just a table with parent parts as columns, and components as rows. The BOM for each finished product is exploded, and the table cells are filled with the number of times that a specific parent-component connection appears. Standard SAP only includes a where-used list, which is much less powerful; however, this BOM explosion and the creation of a Matrix BOM ALV report should be pretty straight forward.

The sky is the limit, of course, and you think of other useful tools in a more complete DDMRP solution. As we will see, the positioning of these buffers will influence the total inventory level. This advanced DDMRP solution could make a simulation of the impact on total inventory levels if a set of materials are flagged or unflagged for buffering. We could even go one step further, and make the software optimize inventory positioning considering a set of contraints (like customer tolerance time and maximum inventory).

In summary:

  • calculation of decoupled lead times is mandatory (and easy to develop in SAP);
  • tools to help with positioning could be useful;
  • tools for simulation and optimization could be available in a more advanced solution.

One final word to mention that we’ve been talking about manufacturing, but things should not be much different in a distribution scenario (but instead of BOMs, you’d have the lead times between the different warehouse levels). The same advantages (variability absorption and lead time compression) could be obtained when compared to a traditional DRP solution.

Next post is about component 2, Buffers Profiles and Levels: having already discussed where to buffer, we’ll now focus on how much to buffer.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Marc Hoppe

    Hello Rui,

    there is already a tool developed by SAp who can do these kind of calculations concerning teh lead time you mentioned. it called Replenishment lead time monitor and is a consulting solution which is developed by SAP Consulting in Germany. it is gloablly availbale. See OSS Note: 1341571. If you need more info send my a email:



    1. Rui Pedro Dantas Post author

      Hi Marc,

      Thanks for reminding us of this tool. You are right, I should have mentioned it in the post.

      From what I understand, the tool will help us in two ways here:

      1. check the history, and update the production time / planned delivery time accordingly (having correct master data is of course very important)
      2. calculate the total replenishment lead time by exploding the BOM

      For (2) I mentioned that in standard SAP it must be calculated manually, but yes, I should have mentioned this add-on available from SAP.

      However, DDMRP needs the “decopled lead time”, and so a critical requirement is to be able to mark a certain material as “buffered” (and therefore end the bom explosion there). That would still be something new, right?

      Thanks, Rui

      1. Marc Hoppe

        Hi Rui, we have also a BOM Tool which is doing 2 features: – Count the no. of different BOMs, where the article is part of (so where the article is in the items) – Count the no. of BOMs for this specific article (so where the article is in the header) – And afterwards we can do a segmentation based on these data – And the tool is checking the optimal stocking level for an finish item, depends on customer req. delivery times and total lead time via all BOM levels. So with the first tool (RLT Monitor) you can check the real RLT and the total RLT for external & inhouse parts as well as plant or cross plant. With the second tool you can check if the article is a critical one (based on BOM infos) and calculate the optimal Stocking level. Regards Marc


Leave a Reply