2008 Nov 17 5:21 PM
Hello gurus
I have created a screen with a table control, this table control needs to be filled with the content of an internal table when displaying the screen.
If I fill this internal table in the associated report before
CALL SCREEN 100.
Then it the table control is filled when executing the report.
But if I fill it after
CALL SCREEN 100.
or if I call the screen via the transaction the table control is empty.
I have tried filling the internal table in the module called by the PBO but it does not work either.
Thanks for your help
Thibault
2008 Nov 18 9:54 AM
Use below
export itab from itab to memory id 'AAA'.
import itab to itab. from memory id 'AAA'.
when you returen back assing this itab to you table contorl table..
2008 Nov 18 10:24 AM
>
> Hello gurus
>
> I have created a screen with a table control, this table control needs to be filled with the content of an internal table when displaying the screen.
>
> If I fill this internal table in the associated report before
>
CALL SCREEN 100.
> Then it the table control is filled when executing the report.
>
> But if I fill it after
>
CALL SCREEN 100.
> or if I call the screen via the transaction the table control is empty.
>
> I have tried filling the internal table in the module called by the PBO but it does not work either.
>
> Thanks for your help
>
> Thibault
CALL SCREEN 100 calls the screen and all the processing then passes to the PBO and PAI of that screen. Refreshing the itab after the CALL SCREEN is totally useless since this would only happen after you have exited from the screen and returned to your report program.
If you wish to change the contents of your itab after the initial insert that you have carried out in your report, you need to do it in the screen PBO. Look up the SAP help on the flow logic of screens.
2008 Nov 18 11:56 AM
HI Jacob,
Evens said rightly, when you use the statement call screen the system stops processing the PBO of current screen and starts processing the screen that is called.
if still you want the table control to be displayed use it on the new screen that is called provide the declarations are global.
hope this will serve your purpose
Thanks and regards
Ramchander Roa.krishnamraju
2008 Nov 19 8:12 AM
Hi,
I think for your report, screen 100 is the first screen, right?
If yes, you have to fill the internal table first whether you will not get any data.
Because CALL SCREEN 100 will pass all the process through PBO and PAI of that screen.
So if you fill it after call the screen ,it is useless.
Hope it helps.
Regards,
Chris