Skip to Content
Technical Articles
Author's profile photo Mohit Sharma

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:

  1. 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/

https://blogs.sap.com/2012/04/20/configuring-customized-material-master-adding-sub-screens-in-mm01-mm02-mm03/

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.

Assigned tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Hemchand sharma
      Hemchand sharma

      Good stuff for developer ..thanks for sharing

      Author's profile photo Mohit Sharma
      Mohit Sharma
      Blog Post Author

      Hi Hemchand,

      Thanks for your feedback ?

      Regards,

      Mohit Sharma

      "Keep learning!! Keep improving!!

      Author's profile photo Mara Virtan
      Mara Virtan

      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!

      Author's profile photo Mohit Sharma
      Mohit Sharma
      Blog Post Author

      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

      Author's profile photo Ansaf Ashraf
      Ansaf Ashraf

      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

      Author's profile photo Mohit Sharma
      Mohit Sharma
      Blog Post Author

      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

      Author's profile photo khoa ho
      khoa ho

      thanks

      Author's profile photo Abdul Samad J
      Abdul Samad J

      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

      Author's profile photo Mohit Sharma
      Mohit Sharma
      Blog Post Author

      Hi Abdul Samad J

      Please try to use the function module MAIN_PARAMETER_SET_BILDFLAG

      Regards,
      Mohit Sharma