Technical Articles
Customizing Material Master – Adding new tab/sub-screen in MM01 / MM02 / MM03
Introduction: In this blog post you will learn how to insert your own custom tab/sub-screen onto Material master transactions MM01 / MM02 / MM03.
Let’s look the requirement and steps performed to achieve it.
Requirement: To Add a new tab in Additional data section of MM01 transaction. You can find the screenshot of the requirement as follow:
The solution includes some SPRO configuration and some ABAP programming.
Therefore to make this a transportable solution, you would require both customizing as well as workbench transport requests.
Steps:
- Go to: SPRO -> SAP reference IMG -> Logistics-General -> Material Master -> Configuring the Material Master. Here you will find the complete steps to achieve this requirement.
2.To add a new tab, go to SPRO -> SAP reference IMG -> Logistics-General -> Material Master – Configuring the Material Master -> Create Program for Customized Subscreens
Enter a Z Function group and click on ‘Save’:
3. Now go to below path to define the structure:
To add a new tab, go to SPRO -> SAP reference IMG -> Logistics-General -> Material Master ->
Configuring the Material Master -> Define structure of data screens for each screen sequence.
Create the ‘ZZ’ sequence by copying ’21’ standard sequence and click on Save.
Now select the Z sequence, click on ‘Data Screens’ and here add the new data screen information. Here we will have the list of standard views and will add the new data screen at last.
4. Now we need to find the screen number (for example, if we want to create a copy of an existing screen), which we can get by navigating to System -> Status
5. Copy screen 2110 into a Z program.
Go to Z program and add a text on custom subscreen 2110.
Now at the configuration level (SPRO -> SAP reference IMG -> Logistics-General -> Material Master ->Configuring the Material Master -> Define structure of data screens for each screen sequence.), click on ‘Sub screens’ and give the Z program name of created function group along with screen number.
6. Now go to below path to assign the secondary screen SAP Customizing implementation guide -> logistics general -> material master -> Configuring the material master -> Assign secondary screens
Select the created screen and click on additional to mention that the screen should be displayed in Additional Data. Here if we don’t create ‘Additional Data’ then the TAB will be added as main view in material master.
7.Now go to below path to maintain the order of screen sequences:
SAP Customizing implementation guide -> logistics general -> material master -> Configuring the material master -> Maintain order of Main and Additional Screens
Select the Z sequence and double click:
If needed, we can change the screen sequences
8.Now go to below path to assign the screen sequences:
SAP Customizing implementation guide -> logistics general -> material master -> Configuring the
material master -> Assign screen sequences to User/Material Type /Transaction/Industry Sector.
Here assign the created Z sequence by replacing ‘21’ sequence
9. Now go to MM01/MM02/MM03 i.e create, change or display a material and Click on ‘Additional Data’.
We can see the new TAB created.
Conclusion: Yes!! In this way we can add our own custom tab in the material master record i,e, while creating, changing or displaying the material. Moreover, with this approach, whatever changes you perform are easily identifiable and can be maintained implicitly.
You can write your own custom modules and subroutines in the Z-Function group created. Isn’t it awesome. 🙂
I have tried to compile some of the relevant blogs as below; you can refer to them as well:
https://blogs.sap.com/2014/04/13/control-material-master-fields/
https://blogs.sap.com/2014/03/02/material-master-screens-and-fields/
For any issues, concern or in case you find any difficulties implementing it, please feel free to contact me.
I look forward for your feedback and suggestions.
Good stuff for developer ..thanks for sharing
Hi Hemchand,
Thanks for your feedback
Regards,
Mohit Sharma
"Keep learning!! Keep improving!!
Nice solution!
Would it be the same if for mm01 I need a new input field on the initial screen (eg: Plant ), or I will need a new transaction similar with mm01 having the customized initial screen ?
Thank you!
Hi Mara,
Thanks for your feedback!!
You can try with the below links, in case you find success or any difficulty, please revert back 🙂
https://blogs.sap.com/2014/04/13/control-material-master-fields/
https://blogs.sap.com/2014/03/02/material-master-screens-and-fields/
Regards,
Mohit Sharma
Hi Mohit,
Good stuff for developer .Thanks for sharing.
But when I am trying to do client copy(SCC1), it's throwing some error.
Can you please suggest any solutions.
Regards
Ansaf A
Hi Ansaf,
Thanks, I am glad you liked it.
First, this is not an error message, but a warning, because the entry V_CM1 is missing in a table OBJH for this object. You can ignore for the moment, if it is not affecting the functionality. else you probably need to contact the basis for this as this is a standard entry, but I am not sure.. as I did not get this warning while transporting through SCC1. 😐
Please correct me if I am wrong, in case you find any other best solution.
Keep Learning!! Keep Improving!!
Regards,
MS
thanks
Hi Mohit,
I have a similar case where we add a custom subscreen in MM43 under basic data. However for every action on buttons or scrollbars in the custom subscreen area, it shows a popup saying – last data screen reached. Any idea how this popup can be suppressed. Programmatically there is a flag BILDFLAG used for suppressing, but not able to figure where this is set. If this is set, the popup ideally would not show up.
R,
Abdul Samad
Hi Abdul Samad J
Please try to use the function module MAIN_PARAMETER_SET_BILDFLAG
Regards,
Mohit Sharma
Is it possible to create a fully independent custom Maintenance status ID, (table t132), in a way that the creation of a custom view is independent form another standard maintenance status? Overall I would need that this custom view linked to the custom maintenance status behaves as one of the standard statuses (such as D=MRP, etc) in terms of indipendent view selection in MM01 e MM02 and possibily to be used in authorizations as well
thanks
regards
Hi Everyone,
I am facing some issues; I have followed all the steps instructed in this blog but still not able to get new tab in MM02.
Please help me ASAP
Thanks & Regards
Tushar Kumar Rajput