User-Fields in PM/CS/QM Notifications : Screen-Exit QQMA0001
One of the very frequently asked questions in this space, is about the subject matter, i.e., How can I add Custom fields to a Notification? A documentation on this subject would be helpful to the forum for ready reference.
This documentation is intended to enable the readers to create the Custom fields in different tabs of Maintenance Notification, update the Noyification Master data Table and also display these fields in IW28 / IW29 output.
Let’s see how it is done.
Create Custom fields in the Notification Table
The table of our context is QMEL. We need to append our Z-fields to this through the include structure namely CI_QMEL.
The process of creating any custom field starts with creating a Data Element with desired Type and Length or with desired Domain name and with the Field Labels we want to have for the Customer fields. For our Demo, we have created Two Data Elements, namely :
- Z_DELAY – Type DEC Len 3 Dec 1 and Field Label ‘Delay(H)’
- Z_REASON – Domain TXT40 and Field Label ‘Reason for Delay’)
Now let us create our Customer fields.
Run Tcode SE11 –> give value QMEL in the Database Table field –> Click on Display. Scroll-down to find include table CI_QMEL. Double click on this, Go to Change mode and Add Two new fields of our interest as shown in the picture and Activate.
As seen in the picture, we have created Two Customer-Fields namely ZZDELAY and ZZREASON. It is essential for all Customer fields used in Enhancement purposes to be prefixed with ZZ.
Enhancement and Screen-Exit
1, Create an Enhancement Project say ZPMNOT using Tcode CMOD.
2. Assign Enhancement QQMA0001 to this project .
3. Click on Components in the picture above to reach this screen.
4. Activate by clicking on the Activate Icon (shown in picture above)
Now the screen is like this.
As we see here, there are several screen-exits (27) and Two Function-Exits namely EXIT_SAPMIWO0_008 and EXIT_SAPMIWO0_009 in this enhancement.
Double Click on this screen number to create a Sub-Screen for holding our Custom Fields. You’ll get this pop-up. Press Enter and Continue.
Please note that in EHP environment you may have to go through SE51 instead of above to create the screen by giving the program name SAPLXQQM and Screen number as 0103.
You’re in the screen below, where you’ll give a Description, Select the Subscreen Radio button, Save and Activate.
Click on Layout Arrow in the Application Toolbar of (See the picture above) to reach the Screen-Painter pop-up window, where we will be creating :
- A Box to hold our Z-fields
- Text Fields to for Z-field labels
- Input Fields for Z-fields
The input fields should be referred to the Dictionary fields we have just created. (QMEL-ZZDELAY and QMEL-ZZREASON) as shown above.
Activate the screen-painter.
Codes to be given in Function-Exits
Go to the following screen
Double click on the Function-Exit EXIT_SAPMIWO0_008 and
put the following code in the include ZXQQMU07 .
MOVE-CORRESPONDING I_VIQMEL TO QMEL.
Similarly put the following code in the include ZXQQMU08 of the Function-Exit EXIT_SAPMIWO0_009.
E_VIQMEL-ZZDELAY = QMEL-ZZDELAY.
E_VIQMEL-ZZREASON = QMEL-ZZREASON.
SPRO setting to be done
Navigate to the Overview of Notification Type in SPRO.
Select your Notification Type (Here we are doing it in M2) and Enter the Screen Structure for Extended view
Give the following settings in the Malfunction Tab (the tab where we want to have our custom fields)
Please note that the custom screen should be the last i.e., below all standard screen areas of the Tab. The reason for this can be understood in this discussion. —> Blank Screen coming in Tcode IW21 after our custom screen area
Let’s see the effect of work done so far.
Create a Maintenance Notification (IW21). You will see the following addition of subscreen area in the Malfunction Start/End Tab.
Enhancement has been added here by the system, in which our Custom fields appear with their labels and the input fields.
Now let’s add some values in these fields and Save the Notification.
Run IW22, open the Notification and verify whether the values are updated to table or not. If they are appearing as you have entered and saved, this means the QMEL table has been updated with these values when Notification was saved.
Let’s have these Custom fields in the Notification list reports namely the ALV of Tcode IW28/29 (QM10/QM11 in case of Quality Notifications)
So far we have succeeded in creating our Custom fields and updating the values to the Notification Master data. Next natural requirement of a user would be to have these fields in IW28/29 ALV screen. For this purpose we, need to create an Append Structure in the Structure RIHQMEL_LIST (RQMQMEL1 in case of QM10/QM11 reports), as shown in the picture below. The Tcode is SE11 again for this task. Here we have created an Append Structure named ZDLAY and in this structure we have added both the Custom fields.
Now let’s create few more Notifications, with custom fields filled with some values. Now run IW28 with selection parameters to display these Notifications we created. Click on the icon shown , You’d find the Custom fields in the Column-set list, Bring them to Displayed list on the Right hand side.
Related SAP Note: 370191 (Image of the note is attached herewith for the benefit of the members who can not access OSS)
Now if you go to IW23 of any of these Notifications, unlike all other greyed-out fields, the Custom fields will be seen Editable. Though there is no provision to Save the edits here, you’d definitely like to have these fields too in Greyed-out mode.
For this we need to write a small code in the PBO (Process Before Output) module of the screen 0103 we have created. Double click on the Screen number 0103 of the enhancement,
Un-comment line MODULE STATUS_103. and D’Click on the STATUS_0103 of the PBO module. Insert the following code between the MODULE, END MODULE lines like this.
MODULE STATUS_0103 OUTPUT.
IF SY-TCODE = ‘IW23’.
LOOP AT SCREEN.
SCREEN-INPUT = ‘0’.
Lastly Rememebr to
Activate the Function Group XQQM from Tcode SE80. Right click on the Function Group and click on the Activate option
…… and thus we reach to the end of this knowledge sharing Documentation.
1. As this is largely a Technical job, it is recommended to be developed through an experienced ABAPer, especially Part1 which involves Activating the Standard table QMEL.
2. The Environment of Author is ECC 6.0 with no EHPs, hence the document applicability.
Expecting this document too would be of use to many members from mainly from EAM and QM spaces.
User-fields in Catalog Tabs of Notifications
Nice document, good explanation.
Thanks for the compliments 🙂
Jogeswara Rao K
Very helpfull !!
Thank you Nilesh!
Hi Jogeswara, I have a scenario of integration of a QM work center with HR, the notification time for the activity. If you have any information that could help me understand this integration.
Sorry for my bad English.
suggest you to start a fresh thread on this topic to attract more and quality responses. This is a confined space for discussion and also the subject deviates from the document theme.
Jogeswara Rao K
Very nice document,just want to know if the same filed can flow to maintenance order and in maintenance order reporting.
It is 'No'.
You can arrange a connection between this field and another Zfield in the Enhancement tab of the Order (explained hereUser Fields in Maintenance Order) by heavy coding in PAI and PBO of this screen exit. Simply taking this to reports containing Order is easier by developing a custom report.
Thanks very much for sharing this document.
It's very helpful and well explained.
Thank you Jose for your review and encouraging comments 🙂
Hi Jogeswara, Excellent document! Thank you for sharing the same! Well explained 🙂
Thank you Anand,
Happy to receive your appreciation. 🙂
Nice Document, Very useful and Informative.
Thank for sharing.
Thank you Pravin
Thanks for the document.
I have a similar requirement and was going through the docuement to do the settings in SPRO.but in my system customer screens are greyed out in "screen structure for extended veiw tab". how this can be made editable?
Thanks in advance,
Which is the tab you are using in this screen?
Thanks for the quick reply.
I am using correct tab but selecting incorrect screen area, i was not selecting screen are 91 earlier to add the custom screen. which now i did and was able to add my custom screen.
Once again thanks a lot for sharing such a wonderful and very much useful documents with us.I really dont understand how you come to know about the pain areas of the functional consultants.Your documents sorted out all the pain and gives more confidence pertaining to such requirements.Really....
That's a great compliment Swapnil, You are right in pointing out that many of these posts are based on learning through experiences (pain areas) during implementation and stabilization periods.
Hi Jogeshwar ,
Thanks for uploading the document. Its very useful with clear information .
I am able to add custom fields in notification and save values through it. But I am not able to see the custom fields under IW28 . I have appended RIHQMEL_LIST with the custom fields but still I am not able to see under IW28. Can you please guide
I think for Iw28 and IW29 we need to implement BADI_EAM_SINGLELEVEL_LIST and write our code to fill ALV under method FILL_ADD_FIELDS .
Whats your suggestion ?
It is difficult to pin-point the reason. Check everything mentioned in the document like ZZ prefixes for fields, Activating the Append Structure and other structures (RIHQMEL_LIST), XQQM function group etc.
Also it is possible that they are present (in IW298/29), but you are unable to identify. There is no need to implement BADI you mentioned to get these fields in these reports.
Don't we need to implement BADI_EAM_SINGLELEVEL_LIST ?
I've just mentioned it above.
Sorry to ask - where ? In the document , I am not able to find this :
To display custom fields under IW28 , its mentioned that we just need to append RIHQMEL_LIST and at last activate XQMM .
Can you please elaborate if we need to implement this badi or not ?
See part5 for IW28/29
Also see last highlighted paragraph to activate function group.
As I already said no need for BADI implementation.
Hi Jogesh ,
Thanks a lot for your inputs ... I missed that 'ZZ' nomenclature . I can see the field in list now 🙂
Hi Jogeswara ,
Can you please share , how we can add these custom fields into selection screen as parameters ?
Z report is a solution for this. However, go through Note 586523. If I find a way I'll let you know.
Very useful document. I didn't know about customizing in SPRO. Thanks!
Thank you Pavel. 🙂
Thanks for your document support.
We have small requirement in Q1 notification type for getting "Invoice number "in the reference object with deliver number.
I have verified in SCN blogs with one reply with ABAP. , .
If you had this issue earlier ,please guide us how to map.
Please start a new thread in Quality space with more clarity of your requirement with screen shot of fields involved.
I have posted my issue in new QM thread just now.
If any suggestions , Please guide reg.this issue.
I already saw. I have some problem in understanding the requirement. Let the discussion start.
Best of luck
No Comment !! A beautiful document. Thanks for sharing.
Very helpful document to understand the functionality
Thank you so much , really its a beautiful document.
Very good document to share, thanks!
Thanks Jogeshwari for this great document, this is really helpfull.
I was wondering if maybe you could add to this great document, a way to add 1 more field which can contain the unit measures?. i.e. I would like to inform in the notification some value with a unit of measure in order to be able to see it and summarize it, in IW28 / IW29 reports. As much as I know (very limited ABAP knowledge), this 2 fields are always linked somehow.
Thanks in advance for your help.
This does not have to be separately dealt with. It will be in the same lines as the above. In other words you can use one of the above explained Zfields for this (UOM). Only thing is, for this field, if you use a Data element based on a Domain MEINS you will be getting the F4 help too.
If you know ABAP you'd follow, otherwise take help of your ABAPer.