Technical Articles
S/4HANA MRP – to Live or not to Live: MRP lists
The intent of this article is to point out the importance of MRP lists and the ramifications of phasing them out in S/4HANA MRP Live.
Introduction
One of the many innovations that S/4HANA brings is MRP Live. There are tons of blogs, technical articles and SAP official documentation on that and it is not the purpose of this article to repeat them.
Enough to say is that the paramount feature of MRP Live is a shift of number crunching from an application server to SAP HANA database in an attempt to harvest the power in-memory processing.
It is nicely illustrated by the following diagrams:
Source: Classic MRP and MRP Live Technical changes (source: blogs.sap.com)
Along with SAP HANA introduction, MRP Live brings several simplifications and differences in comparison to classic MRP. Refer to the following notes for details:
- 2638465 – MRP differences between S/4HANA and ERP systems
- 2640393 – Differences between t-code MD01N and classic MRP t-codes MD01/MD02/MD03
Who moved my MRP Lists?!
One of the prominent changes in MRP Live is lack of MRP lists – as simply as that:
MRP Live does not create MRP list.
- SAP Help on MRP Live: Incompatible Changes shows the following table:
Different System Behaviour | Reason | How to Upgrade |
MRP List No MRP list is created for the MRP Live run with the exception of termination MRP lists for materials with inconsistent data. |
For performance reasons.
|
The same information is available in the stock/requirements list. Use this list instead. |
- Whereas note 2268085 – S4TWL – MRP Live on SAP HANA – MD01N explains:
MRP Lists
MRP lists were intended for checking the MRP result. MRP lists were used to find materials with issues quickly. MRP lists are snapshots of the material supply and demand situation at the time of the last MRP run. The snapshot is often outdated. With HANA, stock/requirements lists can be read with high speed. The MRP apps determine materials with issues in real-time. In SAP S/4HANA there is no need for outdated MRP lists.
In my opinion both the decision to sunset MRP lists in MRP Live and the rationale presented above are fundamentally wrong.
The confusion around stock/requirements lists (transactions MD05 and MD06) and MRP lists (transactions MD04 and MD07) stems from the fact that they look virtually the same and they talk the same language, the language of MRP exceptions.
However they tell two completely different stories:
- Stock/requirements list shows the current planning situation and MRP exceptions resulting from the current misalignment of supply in relation to demand.
- Whereas MRP list shows the result of MRP planning and MRP exceptions resulting from MRP planning run.
It is of utmost importance not to mix those two and not to try to use one in place of another.
MRP results simply can not be evaluated with stock/requirements lists.
The value of MRP lists
Caetano Almeida provided a great explanation of the purpose of MRP lists in his blog article: Why should I use transaction MD05 to analyze the MRP results? I do encourage to read it carefully.
Let me just add three points here, that I deem of the utmost importance.
Manage MRP run errors (group 5 and 8)
The most basic job of MRP is to balance supply and demand. However in order to do so MRP has to run without errors for all the materials in the planning scope. Therefore the first task of MRP controller (that is after the morning coffee of course) is to check for any erroneous MRP runs.
It’s easy with MRP lists as all materials where MRP run has failed are marked with an MRP exception of the group 5 or 8. The MRP exception itself details the error which typically is caused by an attempt to plan a material flagged for deletion or a problem with BOM explosion issue.
All these material can be quickly and efficiently zeroed in on with the search function (binoculars icon) of MRP list collective display i.e. MD06 transaction.
MRP exceptions of the group 5 and 8 are not available in stock/requirements list collective display i.e. MD07 transaction. Therefore MRP Live lacks a tool to conveniently deal with MRP run errors.
Continuous master data tuning (group 4)
The truizm or the fact of today’s life is an ever going change. To reflect changes in business environment MRP needs to be adjusted accordingly, mainly through fine tuning of master data e.g. lead times, minimal order quantities, insourcing vs outsourcing etc.
Hence the second task of MRP controller (that is after the morning coffee and dealing with MRP errors) is to check if MRP still yields valid results, if procurement proposals generated by MRP run still conform to business rules. To do that the MRP controller needs to evaluate those proposals, which again are conveniently marked with MRP exceptions of group 4 and easy to find with MRP lists.
MRP exceptions of the group 4 are not available in stock/requirements list collective display i.e. MD07 transaction. Therefore MRP Live lacks a tool to conveniently fine tune MRP related master data.
Workload stability (mainly group 7)
Imagine the following scenario:
- You are in a simple trading, buy-and-sell business.
- You are a seasoned MRP controller, handling 1.5k material numbers (it’s a substantial number, however not exorbitant for an experienced SAP user, who has the right tools and knows how to used them).
- You are managing your materials just right, keeping a nice balance between demand and supply. You focus on inventory reduction and your MRP exceptions are under control.
- Now out of the blue you experience demand surge – maybe your customers have gotten out of COVID-19 paralysis or one of your items has gone viral and everybody wants it or your competitor has gone out of business.
- As a result you see a tidal wave of sales orders way exceeding demand plan and what your vendors have already committed to. As a result MRP starts screaming at you (mainly through MRP group 7 exceptions) to expedite supply.
- You do what you can – you call the vendors, you ask them and plea to them, you negotiate with them. But there is only so much what you and them can do. The demand surge is not going to be covered and MRP exceptions are not going to vanish. You just need to acknowledge them and focus on any upcoming issues.
- You have done what you could, have acknowledged all the exceptions.
- From now on you would like to focus on new issues only.
With MRP classic the situation is relatively easy to handle and MRP lists are the right tool for the job:
- Next net MRP run will create only MRP lists for materials which demand/supply situation changed, i.e. the materials that require MRP controller attention.
- MRP list collective display (MD06 transaction) features processing indicator i.e. materials that have been already analyzed by MRP controller can be ticked off and then filtered out.
Those functions are not possible with stock/requirements list as MD07 always display current MRP situation and current demand/supply situation and current MRP exceptions (all of them).
In other words MRP controller using MD07 will always see all MRP exceptions even if nothing can be done about them. Here MRP lists cancel the noise out of MRP exceptions and provide much needed stability to MRP controller work load.
MRP Live lacks a tool to focus MRP controller attention on materials that really need their attention and a tool to shield MRP controller from irrelevant MRP exceptions that have already been dealt with.
Conclusion
I really appreciate technical improvements of MRP Live harvesting the power of HANA database. Also the much needed simplifications make MRP implementation and usage easier and more comfortable. However to jettison MRP list on a way is too much of a simplification as it undercuts MRP Live usability tremendously.
In fact without tools to:
- to manage MRP planning errors
- to fine tune master data
- to stabilize MRP controller tasks
I can not honestly see how MRP Live can be used efficiently in real life scenarios and complex business environments.
Simply put, MRP Live doesn’t provide any means to check the results of MRP plannings.
Here I would plea to SAP:
Get MRP list back. Make them optional if they hinder performance but get them back.
Vote to support: https://influence.sap.com/sap/ino/#/idea/249067
Disclaimer: Opinions and views expressed herein are solely my own.
Wow !! He is my Guru! Congratulations Dominik! A great article, full of deep thoughts. Listen to him people, because he is a voice of reason based on many years of experience and knowledge. Get MRP list back!!
Thank you Marek Kamiński for the comment.
I ain't no guru ;)) I'm just speaking out of experience. I'm really concerned that S/4HANA innovations as MRP Live, that I do appreciate, will not get of the ground because of deficiencies as lack of MRP lists.
Cheers
Dominik
MRP Lists is so much more than a quicker MD04. I do not count the number of inquiries regarding MRP results I would have not been able to solve without MRP List.
Any PP analyst, consultant, key user would agree: Get MRP list back!!
Thank you Alexandre Henrat for the comment.
You are 100% right - MRP lists are much faster than stock/requirements lists. And even with the power of HANA they are going to remain as such.
Speed is one point. Another however is that without MRP lists, MRP Live doesn't provide any tool to check and verify MRP run results - that's scary!
Best regards
Dominik Tylczynski
I've submitted improvement request to get MRP lists back to MRP Live: https://influence.sap.com/sap/ino/#/idea/249067
I encourage you to vote
Oops! I tried to vote and sorry to see the decision is "out of scope". I just wonder if there's a tile called "MRP List" in Fiori...which is distinct from the tile "MRP Live" in S/4H. Would that help?
Hello Anil Kumar Aleti
Thank you for your comment and interest.
I highly doubt if there is or will ever be a "MRP List" Fiori app. SAP has decommissioned MRP list and put them in compatibility pack. That means that soon the customers won't be able to use them. It's not only that MPR Live doesn't create MRP List. The customer won't be able to use MRP Lists at all. Looks like SAP doesn't see any value in MRP Lists anymore. I my opinion that's wrong and it just proves they SAP has forgotten what is the purpose of MRP Lists in the first place. Sad but true.
Cheers
Dominik Tylczynski
Hello Dominik,
thanks for sharing. So disappointed with the outcome.
We had to create replica of DBVM table and create our own report . So much efforts spend, would have been good if they kept the MRP lists.
Hello Gaurav Chopra
Totally agree. I've had a long discussion with SAP product management. I've presented the use cases of MRP Lists but all in vain. They have made their decision (not the very best to put it gently) and they are not going to reverse it. It's a shame - with that the customers lost a valuable piece of functionality.
Cheers
Dominik Tylczynski
Thanks Dominik for the elaboration; hope influential key account Customers can share this feedback to SAP. Automotive companies are the most prolific users of MRP process; maybe they can weigh in.
Hi Anil Kumar Aleti
I'm afraid that is not the case. Just look at the improvement request's votes - MRP lists in MRP Live There are as much as 56 of them from some really big names. All in vain.
Very, very well written article based on the right mindset and profound experience! Well done! Thank you for this initiative. You've got my vote.
P.S.
I sometimes feel SAP should have called some of these S/4 changes "oversimplifications".
Thank you for the encouraging comment. If we manage to make enough stir around MRP Live, I’m positive we can #MakeMRPGreatAgain
I think, If we already use mrp type- D1, maybe no need to care about the MD07, but current I am 100% agree you.
Hi YUFENG HUANG
I guess you might be right. However for regular MRP types like PD, MRP lists are just indispensable. I can’t see how MRP controller can work without them.
I’d encourage you to support MRP Live improvement requests tagged #MakeMRPGreatAgain Every vote counts if we want to have modern, efficient, comfortable to use MRP Live.
Stay tuned as I’m going to raise couple more request under the same tag.
Best regards
Dominik Tylczynski
Mr. Dominik Tylczynski
Do we have any feedback about MRP list in Live? thanks.
Hi YUFENG HUANG
I had a long meeting with the coach of the improvement proposal and the SAP product owners responsible for MRP planning. That was the result of a huge support of the proposal.
Long story short:
I do regret that I can't give you better news here.
Best regards
Dominik Tylczynski
Hello Dominik. Saw your article back in 2020 and believe similarly the MRP list should be brought back albeit the argument that with MRP Live "Any issue resolution shall be done on the data which was the outcome from the MRP run(s)". While I get that the specifics you highlight for groups 4, 5 and 8 are important in getting to a fully balanced supply chain. Thanks for the inputs.
Hello Sean Elliffe
I'll gladly share any inputs or additional information. However I don't think I got your question clearly.
The main problem with MRP Live without MRP lists in my mind is the inability to compare MRP results with demand at the time when MRP planning was executed. Stock/requirements list allows for supply vs demand analysis but only against the current situation, not against the situation at the moment of planning. Therefore MRP controller can't tell if MRP results are right or wrong.
Cheers
Dominik Tylczynski
Hi Dominik
I fully support this. One clarification. Md07 already has - Already accessed feature and searching group 07 as shown below. You said these features are not in Md07. Am I wrong here?
Hello Narasimha Prasad Bhat
That is an excellent question - thank you!
Indeed, MRP exceptions of group 7 are there in MD07, stock/requirements list. Also "already accessed" checkbox is there. The devil is in the details - these two features work differently in MD06 MRP list as compared to MD07 stock/requirements list. They work differently because even though MD06 and MD07 look very similar, they present different data:
Group 7 exceptions
MD06 shows the exceptions as they were calculated during the MRP run. Those proposal are the result of supply vs demand misalignment at the time of MRP run. So you can evaluate if MRP rescheduling proposals are valid.
MD07 shows the exceptions for the current situation. MD07 calculates the exceptions on the fly. So you check if you current supply plant needs to be aligned to the current demand.
"Already accessed" checkbox
As MD07 works with current data and is calculated on the fly, the "already accessed" checkbox works just for the current MD07 session. If you get out of MD07 and run it again, the checkbox is gone.
In contrast, MD06 preserves the checkbox in a MRP list. So you can run MD06 again and filter out MRP list that were already processed:
It is a same that SAP does not grasp those tiny but vital details and have decided to phase out MRP list crippling MRP integration this way.
Best regards
Dominik Tylczynski
Big thanks
Will MD06 retain the "already accessed" list even after MRP run on the night?
MD06 will keep "already accessed" list if you exit MD06 and run it again.
If next MRP run plans the same material, a new MRP list will be created and stored in the system. This list is brand new and will not have "already accessed" marked.
Thank you for this well articulated on the purpose of MRP list. I fully agree on this and request SAP to bring back MRP list.
Thank you for your comment and support. Unfortunately SAP locuta, causa finita ;))
They have already taken the decision and they won't revert it even faced with overwhelming arguments. It's a pitty they cripple MRP Live this way.