Probably every SAP professional will agree on the fact that the material price change transaction MR21 should be used with caution and authorization should be highly restricted. Of course, depending on you valuation strategy. When using standard prices and/or actual costing the usage of MR21 can be devastating.
Did you ever wonder what options/alternatives for MR21 are available in an S/4HANA environment? I’m specifically talking about mass updating material. The old-fashioned transaction is still available, but since release 1909 SFP01 we have more good news. In this blogpost I will give an overview of the available options for material price changes.
- Use the classic MR21 transaction in LSMW with a recording
- Make use of a BAPI in LSMW as alternative to a recording
- New Fiori App “Upload Material Inventory Prices”
Use the classic MR21 transaction in LSMW with a recording
This is the most pragmatic and classic way. But also, the one with most restrictions. Since material ledger is always activated in an S/4HANA environment you probably have more then 1 valuation currency for your materials. In transaction MR21 this results in multiple tabs per currency for each material. Making it very cumbersome process to create a proper recording and LSMW. SAP is expecting a value in every valuation currency and does not automatically translate the currency in MR21. It will just update the database with 0 price if you don’t fill the value. If you don’t pay attention, this will lead to huge problems since you will have valuation differences in different currencies.
Make use of a BAPI in LSMW as alternative to a recording
If you decide to go with LSMW, then making use of an BAPI is a much better idea then working with recordings. The BAPI you can use for MR21 is BUS1016. Details in the printscreen below:
This BAPI is taking care of the Currency type. In your source structure and upload sheet you can add all the currency types for you valuation views and feed the data in Excel.
I will not explain the creation and mapping of target/source structures in LSMW in details since there are a lot of other great posts explaining this.
However, to make the LSMW with this BAPI work you need to take some additional steps other than in LSMW.
Create partner profile in WE20
Create partner profile for your logical system with following settings and message type:
Fill the user name in the valid processors.
New Fiori App “Upload Material Inventory Prices”
Since release 1909 SFP01 a new Fiori App “upload material inventory prices” is released by SAP. This App intents to Fiori-tize the MR21 functionality. If you are in a lower release or SFP, there is no way to down port this app.
According to the app documentation, the app provided the following features:
- Download a spreadsheet with your current prices or a blank template
- Convert prices to other currency types, for example company code currency to group currency
- Preview price changes before posting them
- View new values side-by-side with current values
- Navigate to price change documents directly from posting log
This app will make life easier compared to the workarounds with MR21. Unfortunately, at this point there is an upload restriction of 100 lines of price changes at a time. Which probably means splitting your list in multiple upload sheets and upload separately. Not a big deal, but it will be nice to see SAP lifting this restriction completely or allowing us to upload higher numbers at a time.
What are your thoughts? Or do you have better alternatives? Let me know in the comments.