Expand +



Real-Time Supply Chain Planning with Demand-Driven MRP in SAP S/4HANA

by Caetano Almeida, Support Architect, SAP

April 20, 2018

Learn how to use the new demand-driven material requirements planning (DDMRP) method to decouple the lead time. It minimizes the bullwhip effect to achieve real-time supply chain planning in SAP S/4HANA.

SAP S/4 HANA on-premise release 1709 includes the new demand-driven material requirements planning (DDMRP) SAP Fiori apps. These apps were developed based on this planning method and drive the MRP calculation.

Before analyzing how the DDMRP SAP Fiori Apps work, I first define exactly what DDMRP is and the main problems it can help you resolve.

What Is Demand-Driven Material Requirements Planning (DDMRP)?

The demand-driven material requirements planning (DDMRP) concept was introduced in SAP S/4 HANA 1709. DDMRP is a new planning method introduced by Carol Ptak and Chad Smith that is explained in their book Demand Driven Material Requirements Planning.

A very common side effect of the traditional MRP model is called the bullwhip effect. The American Production and Inventory Control Society (APICS) dictionary defines the bullwhip effect as “an extreme change in the supply position upstream in a supply chain generated by small change in the demand downstream in the supply chain. Inventory can quickly move from being backordered to being excess.” This effect is basically the natural inventory characteristic to periodically move from a shortage position to an inventory excess. This effect can be amplified by an MRP characteristic called nervousness, which is caused when a small change in a demand of the parent material is reflected in many changes in the lower-level components during the planning situation.

DDMRP tries to establish buffers in the intermediate level to absorb the demand variability and add a protection to the lower-level components planning. Adding these buffers decouples the product lead time because the finished product total lead time no longer depends on the entire product structure lead time. Instead, the demand is absorbed by the buffer.

In the following sections, I analyze how to use the DDMRP SAP Fiori apps to set up a material to run DDMRP, classify products, calculate the buffers, plan, and execute replenishment.

Set Up the Material and Classify the Products

The first step when using DDMRP is to select for which materials the buffer will be established. You should not use DDMRP for all the materials; otherwise, the stock levels will rise too much. On the other hand, if you choose only a few materials to be planned according to the DDMRP logic, you won’t have enough buffer protection and you won’t have the benefits of a decoupled lead time. The process of choosing which materials will be planned with the DDMRP buffer is called positioning, and usually materials with a lot of variability and long lead times are chosen.

You need to define that a material will be planned with the DDMRP logic by choosing the new MRP types D1 or DX. The main difference between both MRP types is that D1 is set with automatic firming and order proposals rescheduled out in customizing. That means, with MRP type D1, all the order proposals within the time fence are firmed and MRP does not change them, while new order proposals are rescheduled outside the time fence. There is no time fence with MRP type DX. SAP also recommends that you use lot-sizing procedure H1 so that the replenishment proposals can be created to cover the entire buffer until the top of the maximum stock level. Figure 1 shows those settings in the material master tab MRP1. To display the screen in Figure 1, execute transaction code MM02. Note that the maximum stock level defined at the material master is only used until the buffer is calculated and the new maximum stock level is also calculated.

Figure 1
DDMRP settings in the material master

After you make the settings at the material master level, the next step is to classify the products using the DDMRP SAP Fiori apps. An SAP Fiori app classifies your materials according to the lead time (EFG classification), and another SAP Fiori app classifies your materials according to the value (ABC classification), bill of material (BOM) usage (PQR classification), and variability (XYZ classification). Figure 2 shows the DDMRP SAP Fiori apps in the SAP Fiori launchpad, including the apps for product classification.

Figure 2
DDMRP SAP Fiori apps in the SAP Fiori launchpad

When you select the SAP Fiori app Schedule Lead Time Classification of Products (DD), you immediately see the screen shown in Figure 3.

Figure 3
Schedule Lead Time Classification of Products (DD)

Here, you see any job currently running or already finished for the lead-time classification. Click the New button to open a new screen (Figure 4) in which you can schedule a new product classification.

Figure 4
New job for lead time classification of products

In Figure 4 you can view the input parameters set for the lead time classification job. In my example, you run the classification for one specific material; however, you can run the classification for an entire plant, MRP area, or product group.

The number of days in the past plays an important role in this job, as the job looks for replenishment proposals (production orders, purchase orders…) in this interval and tries to get the actual lead time to calculate the decoupled lead time and to classify the product. The decoupled lead time represents the lead time until the next buffered material. If no replenishment proposal is found, then the lead time (in-house production time or planned delivery time) from the material master or info-record is read during the decoupled lead time calculation. Here you also define the threshold for short, medium, or long lead time calculated in days. All the threshold fields must be populated. Click the Schedule button to execute the job.

After the execution of the background job, your product is classified according to the EFG classification and the decoupled lead time is also calculated.

The next step is to run the Schedule Product Classification (DD) SAP Fiori app to classify your products according to the value, BOM usage, and variability. The initial screen is very similar to the initial screen of the SAP Fiori app Schedule Lead Time Classification of Products (DD), as shown in Figure 3. Click the New button to open a new screen (Figure 5) in which you define the new parameters for your job.

Figure 5
Schedule Product Classification DD

The input parameters are also similar to the lead time classification, but the difference is that in this screen, you input the thresholds for Usage Value, BOM Usage, and Variability. After defining the selection criteria and the thresholds (Figure 5), click the Schedule button to trigger the background job.

Even though the classification of products is not something that changes on a daily basis, SAP strongly recommends that you reclassify the products from time to time, as the product characteristics may change. The periodicity of the recalculation depends on how frequently the product characteristics (such as lead time and BOM usage) change.

After you run the product classification background jobs, you can use the SAP Fiori app Mass Maintenance of Products (DD) to check the classification results (Figure 6). If you select one or more products and click the Mass Change button, you have the option to change the values calculated by the product classification jobs. If you don’t want to run the product classification jobs, you could use this SAP Fiori app for the mass classification of your products.

Figure 6
Mass Maintenance of Products (DD)

The product classification is very important because it is based on this classification that the system determines the variability factor and the lead time factor. These values are used later in the buffer proposal calculation.

SAP delivers a standard buffer profile with standard values for the variability and lead time factors. The standard values defined for those factors can be found in the following SAP Help documentation:

In the current on-premise SAP S/4HANA release 1709, there is no customizing transaction to maintain the buffer profile values. However, those values can be accessed and changed by accessing view cluster PPH_DD_PROFILE_ASG_VC after executing transaction code SM30. Considering your material S4HANA_HALB_001, which has been previously classified with variability indicator Z – High and Lead Time Indicator G – Long, the corresponding variability factor is 0, 80 and the corresponding lead time factor is 0, 30, as shown in Figure 7. These factors directly affect the buffer calculation, so the higher the factor, the higher the buffer calculated.

Figure 7
The default buffer profile in cluster view PPH_DD_PROFILE_ASG_VC

Understanding the Buffer Proposal Calculation and the MRP Results

Now that the product has been classified and you have the corresponding variability and lead-time factors, you can schedule the buffer proposal calculation. Before running this calculation, you need to understand exactly what this buffer is and how it is calculated. You can split your buffer in the following zones:

  • Green: The green part of the buffer goes from the reorder point level until the maximum stock level. The value calculated for the green zone is the maximum value between Yellow Zone x Lead Time Factor, Minimum Order Quantity, or Average Daily Usage x Order Cycle.
  • Yellow: The yellow zone goes from the safety stock until the reorder point level, and it is calculated by Average Daily Usage x Decoupled Lead Time.
  • Red base: The red base represents the safety stock, and it is calculated by Yellow Zone x Lead Time Factor.
  • Red safety: Red safety represents the minimum safety stock, and it is calculated by Red Base Zone x Variability Factor.
  • Blue: Everything that is above green is considered in the blue zone. There is no calculation for the blue zone, but if your stock is way over the green zone, you are probably overstocking your material.

Now that the buffer calculation has been explained, you can schedule the buffer calculation using the SAP Fiori app Schedule Buffer Proposal Calculation. The selection criteria are similar to the other SAP Fiori apps seen before, and you have the option to choose if the buffer proposal will be automatically adopted, adopted with tolerance, or not adopted. If you choose to not adopt the buffer proposals, you have to manually adopt the buffer proposals later when reviewing them. You can also choose that the decoupled lead time will be recalculated during the buffer proposal calculation. On one hand, it means that the lead time is always updated; however, on the other hand, it may lead to performance problems in the buffer proposal calculation and the job may take a long time to finish. Figure 8 shows the selection criteria for the buffer proposal calculation.

Figure 8
Buffer proposal calculation

By clicking the Schedule button, the job for the buffer proposal calculation is scheduled and, after the execution, it is displayed with the status Finished, as you can see in Figure 9.

Figure 9
Buffer proposal calculation finished

In the Log column, a green box indicates that the buffer proposal calculation was successful. Click this icon to see details about the job executed in the next screen (Figure 10).

Figure 10
Job log for the buffer proposal run

The job log shown in Figure 10 points that 1 product was selected for the proposal run (this is correct, according to my selection criteria) and that the proposal was generated for this product.

With the buffer calculated, you can check the calculation results using the SAP Fiori app Manage Buffer Levels. Since you chose the option Do Not Adopt Proposals in your job, you need to manually adopt the results of the buffer calculation so that it becomes effective, or ignore them if you are not satisfied with the results by clicking the respective buttons Adopt or Ignore, as shown in Figure 11. After you click one of the lines, you branch to a more detailed view of the buffer for a specific material, including charts with the buffer values and daily average usage variation.

Figure 11
Manage buffer levels

The buffer values calculated by your background job are 4262 for the red zone, 7893 for the yellow zone, and 2368 for the green zone, as shown in Figure 11. Considering the formulas previously discussed and the factors defined by the product classification, you have the following calculation in my example:

Yellow Zone = 157,85 x 50 = 7892,5

Red Base = Yellow Zone x Lead Time Factor = 7892,5 x 0,30 = 2367,75

Red Safety = Red Base x Variability Factor = 2367,75 x 0,80 = 1894,2

Red Zone = Red Base + Red Safety = 2367,75 + 1894,2 = 4261,95

Green Zone = Yellow Zone x Lead Time Factor = 7892,5 x 0,30 = 2367,75

In this case, your maximum stock level (that means the top of the green zone) would be the sum of the red zone, the yellow zone, and the green zone, which means 14523 each (EA).

Here, the final value was rounded up, as you are using the unit of measure EA, which does not allow decimal places.

With the buffer calculated and adopted, your material is ready to be planned by MRP. In my example, after the MRP calculation, the system generated a new planned order of 14453 EA, as you can see in Figure 12.

Figure 12
Planned order generated by MRP

This planned order quantity is calculated subtracting the net flow position from the maximum stock level previously calculated, where the net flow position is calculated with the following formula:

On-Hand Stock + Open Supply – Open Past (Including Today’s) Demand – Qualified Spike Demand

In my example, you have an On-Hand Stock of 10 EA. The only open supply would be a production order of 80 EA and the open past demand would be 20 EA, since you have two open order reservations of 10 EA and you don’t have a qualified spike demand.

Monitoring Replenishment According to the Buffer Levels

Now that you understand the buffer calculation and the MRP results when using DDMRP, the next step is to monitor the replenishment quantities according to the buffer levels using the SAP Fiori apps Replenishment Quantity By Planning Priority and Replenishment Execution By On-Hand Status.

In the SAP Fiori app Replenishment Quantity By Planning Priority, you can see each material sorted according to the planning priority (that means, according to the buffer zone that each specific material is at this moment, as shown in Figure 13).

Figure 13
Replenishment quantity by planning priority

For your material S4HANA_HALB_001, since you have just executed MRP and a new planned order was generated to replenish this material until the maximum stock level, you have 100 percent in the planning priority. You can also see in this app the status of the Net Flow Position, the Proposed Quantity, the On-Hand Stock, and the Open Supply. The Maximum Stock, On-Hand Stock Status, and Planning Priority Status columns are not shown by default, but you can add them by clicking the gear icon (Figure 13) and then changing the default settings.

The SAP Fiori app Replenishment Execution by On-Hand Status provides the same information as the Replenishment Quantity By Planning Priority, but the main difference is that the results are sorted according to the On-Hand Status. The idea is that this app can be used to speed up replenishment proposals for materials for which the stock is below or close to the safety stock.

The main benefit of this feature is to have buffers automatically calculated by the system, according to the product characteristics. MRP generates replenishment proposals according to this buffer, avoiding the bullwhip effect and decoupling the lead time.

How to Learn More About DDMRP

You have now learned the basic concepts of DDMRP and how to implement DDMRP in SAP S/4HANA, use the DDMRP SAP Fiori apps to classify your products, calculate the buffer, and monitor replenishment. Nevertheless, the software side is only one piece of the DDMRP implementation, and it may not be that easy from a business perspective, as it changes the previously established MRP logic.

If you are interested in learning more about the DDMRP concept, the DDMRP Institute ( offers many resources for learning. Also, the book Demand Driven Material Requirements Planning (DDMRP), written by Carol Ptak and Chad Smith, explains in detail the theory behind the features implemented by SAP in SAP S/4HANA.

For additional information on how to improve lead times with optimized demand and supply planning processes, attend SAPinsider's SCM Optimization Bootcamp, which will be held May7-9, 2018, in New Orleans. For information about this bootcamp and our early registration rate, click here.

An email has been sent to:


Caetano Almeida

Caetano Almeida ( is a computer engineer with an MBA in IT management. He has more than nine years of experience in production planning.

More from SAPinsider


Please log in to post a comment.

Sahil B

4/29/2018 9:41:23 PM

Hello Caetano , Thanks for the article, I have a question on how to choose materials for classification ? Is it left to the planners discretion that materials with high variability should be planned with DDMRP or are there some general pointers by looking at the system using past consumption ?

Sahil B

4/29/2018 9:40:46 PM

Hello Caetano , Thanks for the article, I have a question on how to choose materials for classification ? Is it left to the planners discretion that materials with high visibility should be planned with DDMRP or are there some general pointers by looking at the system using past consumption ?