2005 Jun 21 10:37 AM
Hi,
I already have a splitter container with 2 cells : one for a ALV-tree and the other for a ALV-grid.
I want to add a thrid cell to my splitter container with one output field and one input/output field.
I could insert an ALV-grid in this cell but I'm sure there is more simple to do. I was expecting to connect a screen with those 2 fields to my splitter container cell put I didn't manage to find out the convenient statement or method.
Thanks and best regards.
Hi,
I already have a splitter container with 2 cells : one for a ALV-tree and the other for a ALV-grid.
I want to add a thrid cell to my splitter container with one output field and one input/output field.
I could insert an ALV-grid in this cell but I'm sure there is more simple to do. I was expecting to connect a screen with those 2 fields to my splitter container cell put I didn't manage to find out the convenient statement or method.
Thanks and best regards.
2005 Jun 21 10:59 AM
there is no easier way - your approach of ALV is better. else another way is
make the container to occupy only say 90% of the screen size and in the balance screen area (10%) have your input field. (i feel this is the easiest way).
placing a transaction/custom screen in a container has been discussed before here, without any concrete solution (what you want is something like SE80). It looks to be complex.
Regards
Raja
2005 Jun 21 2:55 PM
Hi Raja,
Let's go to the alv-grid.
Thanks and best regards.
Olivier.
2005 Jun 21 3:36 PM
Here is an example. In this one, the docking container is hanging off the side of a selection screen. You can implement the same kind of thing for a dynpro. The only different is that you put the code(from the AT Selection screen output event) into the PBO of the dynpro.
report zrich_0005.
data: imara type table of mara with header line.
data: it001w type table of t001w with header line.
parameters: p_check type c,
p_rad1 radiobutton group grp1 default 'X',
p_rad2 radiobutton group grp1,
p_rad3 radiobutton group grp1.
start-of-selection.
at selection-screen output.
data: dockingleft type ref to cl_gui_docking_container,
splitter type ref to cl_gui_splitter_container,
alv_top type ref to cl_gui_alv_grid,
alv_bot type ref to cl_gui_alv_grid,
dock_sub_cont1 type ref to cl_gui_container,
dock_sub_cont2 type ref to cl_gui_container,
repid type syrepid.
repid = sy-repid.
* Get some data
select * up to 100 rows into corresponding fields of table imara
from mara.
select * into corresponding fields of table it001w
from t001w.
check dockingleft is initial.
* Create docking and slitter
create object dockingleft
exporting repid = repid
dynnr = sy-dynnr
side = dockingleft->dock_at_left
extension = 600.
create object splitter
exporting parent = dockingleft
rows = 2
columns = 1.
* Set the splitter containers
call method splitter->get_container
exporting row = 1
column = 1
receiving container = dock_sub_cont1.
call method splitter->get_container
exporting row = 2
column = 1
receiving container = dock_sub_cont2.
* Create ALV at top
create object alv_top
exporting i_parent = dock_sub_cont1.
call method alv_top->set_table_for_first_display
exporting
i_structure_name = 'MARA'
changing
it_outtab = imara[].
* Create ALV at Bottom
create object alv_bot
exporting i_parent = dock_sub_cont2.
call method alv_bot->set_table_for_first_display
exporting
i_structure_name = 'T001W'
changing
it_outtab = it001w[].
Regards,
Rich Heilman
2005 Jun 21 3:21 PM