Skip to Content

MRP on HANA: What’s new?

On the latest SAP ERP releases, MRP has been optimized to improve the overall performance using a HANA database.

This optimization can be activated by the business function LOG_PPH_MDPSX_READ and now there are two different MRP modes:

Classic MRP: The old MRP transactions, (such as MD01, MD02, etc…) were optimized to improve the performance when reading planning elements from the database, when running on a HANA database.

The internal logic to read the planning elements from the database to the internal table MDPSX has been completely redesigned for a better performance with HANA.

There is no substantial change on the transaction design but you can find a flag pointing that the optimization was active during the MRP execution:

md05 - hana.PNG

This optimization is available as of SAP enhancement package 6 for SAP ERP 6.0 (version for SAP HANA).

MRP Live: This is a new MRP mode, where MRP has been fully redesigned to run an in-memory planning run.

Instead of several different transactions (MD01, MD02, MD03…) there is only one transactions, with more fields for selection, which provides you more flexibility when running MRP.

The new transaction code is MD01N and the report name is PPH_MRP_DISPATCHER:


On this new transaction you can plan a specific group of materials, a product group or all the materials of an MRP controller, for example. It is also possible to run multi-level MRP (same as MD02) checking the flag “BOM Components” or MRP for a single materials (such as on MD03).

The already existing MRP functionalities are still supported, but with a few exceptions.

Even if MRP finds one of these exceptions, this material can still be planned on transaction MD01N. However, instead of running MRP live, it changes internally to classic MRP. A complete list of these restrictions can be found on the following note:

1914010 – MD01N: Restrictions for Planning in MRP Live on HANA

MRP live generally provides a more effective performance improvement than the classic MRP. However, the improvement in performance in MRP live on HANA compared to classic MRP depends on the following:

  • MRP features used
  • Number of materials to be planned
  • Number of materials not to be planned
  • Number of low-level codes

Basically, the more materials are planned on MD01N with MRP live, better is the performance improvement.

For more details about the performance optimizations using MRP Live, see the the note below:

2023766 – MRP Live/MRP Classic: Performance Information

MRP Live is available as of SAP Enhancement Package 7 for SAP ERP 6.0, support package 01.

At last, these optimizations are not available on MRP if you are only using SAP HANA as a side car

You can also find more details about the Performance Optimizations for MRP (both classic MRP and MRP live) on the following link of SAP help:

Performance Optimizations for MRP – Logistics – SAP Library

See also the blog Is your system prepared to take advantage of MRP on HANA? and the WIKI MRP on HANA FAQ – ERP Manufacturing (PP) – SCN Wiki, with the frequently asked questions about MRP on HANA and the MRP Cockipit.

You must be Logged on to comment or reply to a post.
  • Be aware that following error might hit You if You run MTO scenarios with more plants involved...

    Stock transfer releases are not being displayed under the sales order individual stock when the HANA optimization is active


    There is a side-effect of Note 1879631.


    The Business Function LOG_PPH_MDPSX_READ is activated.

    Following note will fix the issue:

    2065247 - MRP on HANA: Stock transfer releases not under the sales order individual stock

    • Hi Henrique

      Customers will run MRP Live, which is much faster and can be executed several times a day. That way, MRP will react faster to shortages and it will allow the customers to reduce the total lead time and work with optimal stocks.

      In addition, the MRP Fiori Apps will provide a simpler interface to manage the shortages after the MRP executions.

      You can find a demo of the MRP Fiori App to manage shortages on the link below:

      Using SAP Fiori to manage shortages on MRP


  • Does the performance optimisation code logic implemented as part of business function LOG_PPH_MDPSX_READ becoming standard with Simple Logistics. Or is it further enhancement with unified table for all material postings something in line with Universal Journal ACDOCA table as introduced in Simple Finance.



  • Hi Caetano. First of all, your document is very useful!

    We implemented business function LOG_PPH_MDPSX_READ for Classic MRP. This business function worked a lot and improved the performance HANA database.

    But we have a problem, this business function doesn´t worked with user exit. It seems that business fuction is incompatible with any user exit.

    We found correction notes, but none of them are aplicable. (our support package is up to date).

    Have you heard about this situation?

    Best regards - Taise

    • Hello Taíse

      If you are running MRP on the classic transactions, such as MD01, then some of the BAdIs, such as MD_CHANGE_MRP_DATA or MD_STOCK_TRANSFER are not called anymore, because the code where they would be called is not executed inside HANA and it is not possible to trigger an ABAP code inside HANA.  In this case, you can use BAdI MD_ADD_ELEMENTS to replace them.

      If you are running MRP on MD01N, then all the MRP logic is executed inside HANA and it is not possible to trigger any BAdI. If you need to call a BAdI for some specific materials, then you can run transaction MD_MRP_FORCE_CLASSIC and check the flag "classic MRP" for those materials. In this case, they will be planned using the classic logic (similar to MD01) even when MRP is triggered from MD01N and you can still use BAdI MD_ADD_ELEMENTS.

      Please take a look on the following links for more details:

      Just for curiosity, did you measure how much was the MRP runtime improvement using MRP on HANA?


      • Hi' Guys,

        I can confirm improvements for up to 50 % by using MRP Live...

        But remember to check note 1914010 - it contains the restrictions for planning in MRP Live in HANA.....

        I have also seen clietns, who still run classic MRP, because MRP Live is not yet supporting class nodes, different areas of variant configuration etc...

        Check it out, if You dont have it already 🙂


        Soren Riber

  • Hi Caetano, thanks for the news.... it is very interesting your points.

    Answering your question about runtime MRP on HANA: 50% faster.

    Let me know if I understand your points...

    We have to execute MRP for specific plant, with user exit: MRP Group.

    Considering that we are on SAP HANA, should I execute this MRP with MD01N always?

    For materials related to this specific plant, should I run transaction MD_MRP_FORCE_CLASSIC and check the flag "classic MRP" for those materials?

    Thanks again for help!!


    • Hi Taíse

      I suppose you are talking about exits EXIT_SAPLM61R_001 and EXIT_SAPLM61C_001, which are used to select which materials will be planned.

      Those exits are not called on transaction MD01N, however, this transaction brings additional fields for selection, such as the MRP controller or a product group. In this case, I don't think that those exits are necessary, as you can create a product group with all the materials that will be planned or simply using multiple selection.


  • Hello Caetano, I am not it is clear....I am talking about fields on the screen (MD01 transaction). When I mention user exit is:

    Transaction MD01

    User exit: select the material for planning

    User exit key: *** (this field)

    We had already classify MRP Controller in material. The point is: we schedule/run MRP for MRP controller considering diferent date. In SAP HANA, we can´t use this field (exit key).

    Thanks again!!!


    • Hi Taise,

      If I understood Caetano's explanation correctly, with the new MRP live transaction MD01N you don't need more use the exit for running MRP by MRP Controller, now is it a native functionality:


      At IMG the option to create an exit continuous available:


      At MD01, the exit field also is available and works fine:


      Note: I Used SAP S/4HANA, on-premise edition - Fully Activated appliance for  appliance SAP ERP 607 - Central Applications SPS08 / SAP HANA Platform Edition 1.0 - HANA DB SPS09


      Flavio Molina

  • Hello Caetano,

    Within many SAP Notes related to usage of Busines Function for MRP on HANA  (LOG_PPH_MDPSX_READ) there are comments regarding diff. versions of Stored Procedures (V01 - V05).

    Do you know how to check currently active version of Stored Procedures?

    Thanks and best regards,

    Szymon Sowiar