‎2010 Nov 10 1:44 PM
Hai Everyone,
i am displaying an ALV in a Modal Dialog box(say 3), navigation to this Screen is done in 2 ways. I have two more ALV Grids (One Main Screen(say 1), One Modal Dialog box(say 2)) and when i click on the Hotspot of any of these two Screens, i display the Screen, where i have the problem.
Problem: When i click for example, on the Main Screen(1), the ALV in question(3) is displayed correctly, but as soon as i try to click on the other Modal Dialog Box(2), the ALV in question(3) is not being displayed. [Empty Screen without the Grid]
When i interchange the navigation(After executing the Program again), for example i try to enter the ALV in question(3) through the other Dialog Box(2), i succeed, but when i try the same from the Main Screen(1), the ALV in question(3) is empty again.
I tried to solve the issue using Docking Containers and intitializing the controls beforehand (help from Mr. Uwe's Blog), but then the problem persists.
Just not able to understand whats happening.
Thanks in Advance,
rama
‎2010 Nov 10 1:56 PM
I am posting the screenshots of the way i navigate, hope that would make it clear for everyone.
http://img87.imageshack.us/i/onecu.jpg/
http://img521.imageshack.us/i/twoxd.jpg/ [This Screen is displayed after i click on the Button: Weitere Bereiche]
http://img101.imageshack.us/i/threema.jpg/
http://img12.imageshack.us/i/fourcz.jpg/
Best Regards,
rama
‎2010 Nov 12 11:38 AM
I guess, it has something to do with the Screen levels. I have done a sample program to test the scenario, i have 3 screens, the first one is main screen and the other two are pop ups (say 1 n 2), each of the three displaying their own ALV Grids. Now, i have a hotspot on Main Screen and a hotspot on pop up 1. when i click on any of these hotspots i go to pop up 2. Here, i go to pop up 1 only after marking a row of the Main Screen. The pop up 2 is displaying fine when i click on Main Screen hotspot, but when i do the same on pop up 1, i dont even get the controls but just an empty screen.
Any solutions or any suggestions here?? am i missing something here?
Best Regards,
rama
‎2010 Nov 14 1:48 PM
Hi,
call free method of container you do not use any longer. Otherwise your grid is just not visible because it is covered by an empty control.
I created something comparable using CL_GUI_DIALOGBOX_CONTAINERs and it works fine: Closing the container also means call free method of container.
Give some code! Pictures are nice but not much use.
Regards,
Clemens
‎2010 Nov 15 9:08 AM
Hai,
The code in the PBO(desired pop up screen) goes like this:
CONT_PORT is of type cl_gui_custom_container and GRID_PORT of type cl_gui_alv_grid.
IF cont_port is initial
or grid_port is initial.
repid = sy-repid.
dynnr = sy-dynnr.
CREATE OBJECT CONT_PORT
EXPORTING
* LIFETIME = cont_port->lifetime_default
CONTAINER_NAME = 'CALV_PORT'.
** repid = repid
** dynnr = dynnr.
CREATE OBJECT LR_EVENT_RECEIVER.
CREATE OBJECT GRID_PORT
EXPORTING
I_PARENT = CONT_PORT .
* I_APPL_EVENTS = 'X'.
SET HANDLER LR_EVENT_RECEIVER->HSPOT_CLICK_PORT FOR GRID_PORT.
ENDIF.I have used the is_alive method and sometimes the value of state is 1, so what i did then was, created the both container and grid objects again. this actually works but for only one Level. I mean when i repeat the process, i get grid over grid.
Best regards,
rama
Edited by: newtoAbap on Nov 15, 2010 10:10 AM
Edited by: newtoAbap on Nov 15, 2010 10:13 AM
‎2010 Nov 15 10:01 AM
Solved it myself..i have written the call screen statement in the event handler method and worked.
Best regards,
rama
‎2010 Nov 15 10:19 AM