Skip to Content
Product Information

S/4HANA Demand Driven MRP (DDMRP) Functionality

This blog gives you an understanding of demand-driven MRP and how it works in SAP S/4HANA environment.

Material requirements planning (MRP) is a well-known planning tool. Material planning is a very critical and complex process due to complex supply chain networks and it is not easy to fulfill the requirements based on classical planning all the times.

MRP is a planning tool and available in SAP ERP (ECC) and Advanced Planning Optimization (APO) interface with Core Interface (CIF). SAP material requirements planning brings efficiency and optimization to production and procurement plans. Every planner dream to accurately plan materials timely available across the logistics and entire supply chain. Planner main goal is to ensure that enough stock available for sale to customers without escalating the inventory carrying cost or facing a shortage of raw or packing materials needed for production processes.

MRP planning runs generate purchase requisition or planned order is a proposal that a planner can interactively convert to purchase order or production order for external procurement or in-house production. SAP MRP creates a planned order or purchase requisitions based on a material’s net requirement quantity and its needed availability. The net requirement calculation takes into account existing warehouse stock, the quality of stock, existing or open purchase orders, or production orders to calculate the material’s shortage quantity. If the system finds that there is a material shortage, it creates a planned order or purchase requisition for the shortage quantity. MRP is not restricted to quantity planning it also takes timelines into account, such as the time it takes to procure a material (known as replenishment lead time or planned delivery time), the time required to process goods receipt in the warehouse or the quality inspection times (goods receipt processing time).

SAP Business Suite 4 SAP HANA is a business suite that is built on SAP’s proprietary operational database system and in-memory computing platform called SAP HANA. SAP S/4HANA is being called SAP’s biggest update to its ERP strategy and platform in over two decades that means S/4HANA is just a new transformation to an ERP system.

DDMRP available in the S/4HANA product offering consists of two editions: SAP S/4HANA On-Premise and SAP S/4HANA Cloud and Integrated Business Planning (IBP). If you look at the high-level earlier ECC and APO and now S/4HANA and IBP.

Demand Driven Material Requirements Planning (DDMRP) is an innovative multi-echelon pull methodology to plan inventories and materials. It enables a company to build more closely to actual market requirements and promotes better and quicker decisions and actions at the planning and execution level. DDMRP was introduced to the world in the book Orlicky’s Material Requirements Planning, Third Revised Edition by Carol Ptak and Chad Smith.

I am mainly focused on S/4HANA 1709 on-promise version Demand-Driven Replenishment process. Demand-Driven Replenishment helps you plan and manage supply chains efficiently based on customer demand, rather than through traditional MRP procedures. You do this by strategically decoupling material flows, becoming less vulnerable to disruptions in the supply chain, and by protecting the flow through dynamically-managed buffer (stock) levels for relevant products.

DDMRP uses strategic decoupling points to drive supply order generation and management throughout a supply chain.

  1. Strategic decoupling: De-coupling the supply chain creates independence between processes or entities and is the only way to stop the bullwhip effect, mitigate variability and compress lead times.
  2. Buffer sizing: Buffer sizing is the shock absorber to ease both supply and demand variability and reduce or eliminate the bullwhip effect.
  3. Dynamic adjustments: A dynamic adjustment of the buffer profiles further calms the supply chain and smooths operating for all variabilities within a set period.
  4. Demand-driven planning: Demand-driving planning comprises generating supply orders by evaluating actual inventory, stock that has been ordered but not received, and qualified sales order demand.
  5. Visible and collaborative execution: When users have visibility into inventory through alerts that track usage, ordering lead times and material delivery can be synchronized.

To implement the DDMRP process following are the two steps.

  1. Configuration and setup in fiori applications
  2. Operational fiori applications

The first steps to identify the materials which are relevant for DDMRP planning (critical and long lead time) and update the MRP type D1 (planning procedure C) in material master MRP 1 view.

Schedule Product Classification (DD):

With this app, you can classify your products by systematically evaluating them based on their goods issue value (ABC classification), usage across BOMs (PQR classification) and variation in actual demand (XYZ classification) across a specified evaluation interval. Classifying your products will help identify whether they are relevant for Demand-Driven Replenishment, and will help define inputs for their buffer settings.

Once the application job opens click on “New” and classifies products and schedule job as below.

After job completed products classified and additional information messages also displayed.

Mass Maintenance of Products (DD)

With this app, you can display and change product details (master data records) relevant to Demand-Driven Replenishment. After you have classified or re-classified your products, you can view the results of the classifications in this app, and based on the results, select products that are relevant to Demand-Driven Replenishment. You can use the mass change feature to change the master data records for several products simultaneously. This is the second app that you’ll use when you start with Demand-Driven Replenishment.

Once the application job opens select materials and which you want to do mass change and click on “Mass change” new popo window displayed and do the changes based on requirement (this step is optional in this case).

Schedule Lead Time Classification of Products (DD)

With this app, you can classify your Demand-Driven Replenishment-relevant products by evaluating them based on their Decoupled Lead Time (EFG classification) across a specified evaluation interval. Classifying your products based on their Decoupled Lead Time (DLT) will help define inputs for their buffer settings. Additionally, you can schedule runs to re-classify your products periodically to keep their classifications up-to-date, so that you get accurate results as you proceed with Demand-Driven Replenishment. This is the third app that you’ll use when you start with Demand-Driven Replenishment.

Once the application job opens click on “New” and classifies products and schedule job as below.

After job completed products classified and additional information messages also displayed.

Schedule Buffer Proposal Calculation

With this app, you can generate buffer (stock) level proposals for your Demand-Driven Replenishment-relevant products based on their average daily usage, decoupled lead time, buffer profiles and several other factors. Additionally, you can schedule runs to re-calculate the buffer proposals periodically to keep them up-to-date, so that you maintain appropriate levels of inventory while using Demand-Driven Replenishment. This is the fourth app that you’ll use when you start with Demand-Driven Replenishment.

Once the application job opens click on “New” and calculates buffers and schedule job as below.

After job completed products buffer calculation completed and additional information messages also displayed.

Buffer calculation

Buffer (stock) level proposals help you manage the safety stock, reorder point and maximum stock for your products through the Manage Buffer Levels app. Several factors are taken under consideration when calculating buffer proposals for your Demand-Driven Replenishment-relevant products.

A buffer profile is one of the several factors taken under consideration when calculating buffer proposals for Demand-Driven Replenishment-relevant products.

SAP not provided the standard transaction code to maintain the buffer parameters. You can manage buffer profiles using the cluster table “PPH_DD_PROFILE_ASG_VC” in SM30 transaction code in S/4HANA 1709 on-premise version.


Manage Buffer Levels

With this app, you can ensure products are available when needed by managing the safety stock, reorder point and maximum stock through buffer proposals for optimized Demand-Driven Replenishment.

Based on Schedule Buffer Proposal Calculation job material R-100-100 Red Zone value 323 PC, Yello Zone 599 PC and Green Zone 179 PC classified.

Now looking at the R-100-100 detailed analysis.

Buffer zones

Buffer Levels

Average Daily Usage

Decouple Lead Time


Stock requirement list (MD04)

Replenishment Planning by Planning Priority

With this app you have an overview of the buffer information sorted by the planning priority. Using this information, you can trigger replenishment on time to avoid stock shortages and possible delays in the completion of production or sales orders as a result of insufficient stock.

Replenishment Execution by On-Hand Status

With this app you can view today’s stock situation for each product and check that sufficient on-hand stock is available for production. Using this information, the planner can try to speed up replenishment by contacting the supplier of a purchase order or the production supervisor of the component production order, for example.

Please refer to the following link for additional documentation.


I would very much appreciate your comments and suggestions.


Best Regards,


You must be Logged on to comment or reply to a post.
  • hello, thank you very much for your help, I have a question Is the fiori app "Replanishment Planning" the same as "Replanishment Execution"?
    Why can't I find the "Replanishment Planning" on the Fiori portal? Do you know what the fiori ID is?
    Thank you
  • Hi Lingaiah Vanam,

    Thank you for sharing knowledge. I have a question though, while calculating the Buffer Zones, we use values of Variability factor & Lead time factor to calculate Green & red zones in particular. How are these values calculated? Could you please help me find answers to this?


    Sai Teja


    • Thanks for your question Saiteja Joginapally

      To calculate the buffer zones we’ll often use the average usage over the entire decoupled lead time (ie, ADU x DLT). Though there is no standard DDMRP name for this value, I will refer to it below as Lead Time Usage (LTU).

      Each zone is then calculated as:

      • Green zone: LTU x Lead time factor. Exception: if MOQ is higher, use MOQ instead.
      • Yellow zone: LTU.
      • Red zone: sum of “red base” (LTU x Lead time factor) and “red safety” (variability factor x red base).
  • Hi, thank you for the detailed document.

    I am facing one problem. I completed "Schedule Product Classification (DD)" for four materials and the status is success.

    I have not fixed the MRP type and lot size to D1 and H1, which I plan to do in Mass Maintenance step. Hope I am correct on this.

    Then I started "Mass Maintenance of Products (DD)" , but I am getting error message "Unable to load the data.This can happen if you are not connected to the Internet, or if an underlying system or component is not available.".

    I checked internet connectivity by running other apps in Fiori launchpad and they are working. Please advise what could be problem in "underlying system or components is not available".

    • "Mass Maintenance Of Products (DD)" issue is resolved by adding a missing component.

      Now, I am facing another problem.

      ADU is not getting updated and Buffer calculations are not happening. Please help me to resolve the issue.

      1. Schedule Product Classification (DD) is successful
      2. Buffer profile maintenance is defined
      3. Mass Maintenance of products (DD) done
      4. Schedule Lead Time Classification is completed with success message
      5. Schedule Buffer Proposal Calculation was run. It is success with messages "3 products were selected for proposal run" and "Proposal Action Successful"
      6. After this, when I checked in MD04 header details, all parameters like Safety stock (DD), ROP (DD), Maximum stock (DD), Net flow position, Open Supply, Open demand, DLT, Order spike threshold, Spike Horizon date, product classification details..are all updated. But, ADU field is Zero. In fact, there was regular consumption of this materials in full month of June 2020.
      7. I checked consumption details in table MVER and they are there.
      8. Note: In the log details of Schedule Buffer Proposal calculation, in the log and results tab, the results is showing as "no entry with job results". I checked this for three materials, all three are having this issue.
      9. Then I checked the app "Manage Buffer Levels, "No data found".
      10. But I could see replenishment planning and replenishment execution details for two materials
  • Thanks for your sharing, nice blog!

    Now I am facing one issue, while try to manage buffer levels, the error message popup with “No products found for the given selection criteria“, I already maintained the apps you mentioned above successfully, and material master also properly maintained material master (D1,H1, Record point, max stock level, safety stock level), have you facing this kind of issue before. Add my MD04 screen for your reference. 

    Hope get your feedback, many thanks.

    • Hi Joseph,

      Check the AOR ( Area of responsibility ) for the user, if the problem is with Materials not listing in app.

      If the error is while executing the proposal using report, than re-check the keys passed.



      • Hi Shashank,


        Thanks for your comments.

        Looks like this issue is not caused by AOR due to materials can be successfully listed in DDMRP related other apps. what's meaning of executing the proposal using report, Could you make more details comments for me? 🙂  Many thanks.