Enhancement of IW51/52 screen
The requirement is to add 4 fields on an additional tab in IW51 and IW52 transaction.
The tab was added by the functional using SPRO settings.
I followed a forum to add the 4 custom fields to the tab. However, there were several things which I did not understand. I would like to understand the same.
My query is as below:
1. To add 4 new fields, we must create a new project in CMOD and add the user exit QQMA0001 as enhancemnet assignment. How will i find the exit QQMA0001 and on what basis will i determine I should be using this exit. I tried using the package in se80 to find the customer exit, but did not get any.
2. Once the exit is assigned, we must go to the component tab and use EXIT_SAPMIWO0_008 and EXIT_SAPMIWO0_009 to add the fields. Here in the include I see few fields moved from ILOA to VIQMEL and vice versa. What is really happening here? Why are we moving the fields when we have no values in it. Or what if my custom field is not in ILOA but added using CI_QMEL to VIQMEL how should I use it?
3. How will the changes in Step 2 (above) help the system to understand that the newly added fields are supposed to be for the newly added tab in IW51/52.
Appreciate if somebody could help by explaining these queries.
Raymond Giuseppi replied
1 - Often package is not the same for Enhancement, but sometimes you can find them in SPRO documentation (when the SPRO execution only launches CMOD or SE19) also look for OSS notes or SCN for not identified enhancement. You can also analyze standard report for CALL CUSTOMER-FUNCTION statement in debug.
2 - Most Customer field enhancement carry two exits, one pass data from main program to exit function group and is executed once before PBO of customer subscreen (to allow display of data) and also before PAI of this screen (take into account changes executed on main dynpro before performing PAI checks), a second one pass data changed in subscreen to main program and is executed after PAI of customer subscreen. Usually some TABLES and DATA statements in TOP include of exit function group store this data to enable communication main program <-> Exit FG global data <-> customer subscreen.
3 - Nothing but your lines of code, in your example you can change most fields of VIQMEL so in the second exit move fields changed values in subscreen to e_viqmel. (Suggestion: use a TABLES: CI_QMEL in top include and define fields of customer subscreen with this prefix)