Transfer data from Screen to BADI- IP01/02/03
I have created a custom Tab in Transcation IP01/02/03 using BADI 'BADI_EAM_EXIT_IPRM0003'.
But I'm facing a problem while getting the data from screen(custom Tab) to BADI and vice versa. I have tried using the User exit 'IPRM0003' and it is working fine but I want an alternate option since i do not want to use the user exit.
The issue is that the Class and the screen in the BADI are not linked up due to which the values are not available there.Is there any way that i can link screen with the BADI, or any method by which i can get the values from the screen to the BADI and vice versa. Where to declare the global variable of the screen field so the data can be transported from PBO method(EXIT_SAPLIWP3_001) to Screen.
Thanks in Advance.
Gaurav Dubey replied
What I wanted to say is instead of creating a Module pool and using that screen in BADI create a FG and in that FG create a screen which you can use in your BADI. declare all the screen related data in the TOP include of the FG.
Now create zget_data and zset_data FM in this FG , which will allow you to use the global variable of the screen to be used in the FM source code and you can pass these values in the BADI using exporting parameters of the FM zget_data. similarly zset_data FM can have a importing parameter to read the value from the BADI .
Check online for the same steps used to create custom tab in Delivery header. This will help you relate your requirement with this one.
Check the link Custom tab in Delivery (VL01N) Header / Item Level.
Hope this helps.