‎2007 Mar 07 2:54 PM
Hi experts,
I want to create two containers in the same screen and like to display the list.Upon executing the report, an empty screen comes rather than the display of lists in two containers.
Can anyone please help it out?
REPORT Zreport10 .
DATA: cont1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
alv_list1 TYPE REF TO cl_gui_alv_grid,
cont2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
alv_list2 TYPE REF TO cl_gui_alv_grid,
G_FCAT TYPE LVC_T_FCAT,
W_FCAT TYPE LVC_S_FCAT.
TYPES : BEGIN OF ig_ekt1,
c1 TYPE zinfo6-zcol1,
c2 TYPE zinfo9-zcol2,
END OF ig_ekt1.
data ig_ek type ig_ekt1 occurs 0 with header line.
start-of-selection.
SELECT zcol1 zcol2 FROM zinfo6 INTO TABLE ig_ek.
W_FCAT-FIELDNAME = 'C2'.
W_FCAT-TABNAME = 'IG_EK'.
W_FCAT-REF_FIELD = 'ZCOL2'.
W_FCAT-REF_TABLE = 'ZINFO6'.
W_FCAT-COLTEXT = 'COLUMN2'.
W_FCAT-OUTPUTLEN = '20'.
APPEND W_FCAT TO G_FCAT.
W_FCAT-FIELDNAME = 'C1'.
W_FCAT-TABNAME = 'IG_EK'.
W_FCAT-REF_FIELD = 'ZCOL1'.
W_FCAT-REF_TABLE = 'ZINFO6'.
W_FCAT-COLTEXT = 'COLUMN1'.
W_FCAT-OUTPUTLEN = '20'.
APPEND W_FCAT TO G_FCAT.
create object cont1
EXPORTING
CONTAINER_NAME = 'container'.
create object cont2
exporting
container_name = 'container1'.
create object alv_list1
exporting i_parent = cont1.
create object alv_list2
exporting i_parent = cont2.
CALL METHOD alv_list1->set_table_for_first_display
CHANGING
it_outtab = ig_ek[]
IT_FIELDCATALOG = G_FCAT.
CALL METHOD alv_list2->set_table_for_first_display
CHANGING
it_outtab = ig_ek[]
IT_FIELDCATALOG = G_FCAT.
CALL SCREEN 221.
‎2007 Mar 07 2:57 PM
hi Raj,
change the names to uppercase
create object cont1
EXPORTING
CONTAINER_NAME = <b>'CONTAINER'</b>.
create object cont2
exporting
container_name = <b>'CONTAINER1'.</b>
‎2007 Mar 07 3:44 PM
Hi.... changing case will work surely....
I recommend you to use one container and one splitter control to split the screen .. in this way user can resize the grid height.... here is the code...
REPORT zreport10 .
DATA: cont1 TYPE REF TO cl_gui_custom_container,
alv_list1 TYPE REF TO cl_gui_alv_grid,
alv_list2 TYPE REF TO cl_gui_alv_grid ,
splitter_h TYPE REF TO cl_gui_splitter_container ,
container_top TYPE REF TO cl_gui_container,
container_bottom TYPE REF TO cl_gui_container,
g_fcat TYPE lvc_t_fcat,
w_fcat TYPE lvc_s_fcat.
TYPES : BEGIN OF ig_ekt1,
c1 TYPE t001-bukrs,
c2 TYPE t001-butxt,
END OF ig_ekt1.
DATA ig_ek TYPE ig_ekt1 OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
SELECT bukrs butxt FROM t001 INTO TABLE ig_ek.
w_fcat-fieldname = 'C2'.
w_fcat-tabname = 'IG_EK'.
w_fcat-ref_field = 'BUKRS'.
w_fcat-ref_table = 'T001'.
w_fcat-coltext = 'COLUMN2'.
w_fcat-outputlen = '20'.
APPEND w_fcat TO g_fcat.
w_fcat-fieldname = 'C1'.
w_fcat-tabname = 'IG_EK'.
w_fcat-ref_field = 'BUTXT'.
w_fcat-ref_table = 'T001'.
w_fcat-coltext = 'COLUMN1'.
w_fcat-outputlen = '20'.
APPEND w_fcat TO g_fcat.
CREATE OBJECT cont1
EXPORTING
container_name = 'CONTAINER'.
CREATE OBJECT splitter_h
EXPORTING
parent = cont1
rows = 2
columns = 1.
CALL METHOD splitter_h->set_row_mode
EXPORTING mode = splitter_h->mode_absolute.
CALL METHOD splitter_h->set_row_height
EXPORTING id = 1
height = 107.
container_top = splitter_h->get_container( row = 1 column = 1 ).
container_bottom = splitter_h->get_container( row = 2 column = 1 ).
CREATE OBJECT alv_list1
EXPORTING i_parent = container_top.
CREATE OBJECT alv_list2
EXPORTING i_parent = container_bottom.
CALL METHOD alv_list1->set_table_for_first_display
CHANGING
it_outtab = ig_ek[]
it_fieldcatalog = g_fcat.
CALL METHOD alv_list2->set_table_for_first_display
CHANGING
it_outtab = ig_ek[]
it_fieldcatalog = g_fcat.
CALL SCREEN 221.
‎2007 Mar 08 6:48 AM
Hi Pawan,
Thanks for the code.
The code you have sent shows just an empty screen.
Can u please check it out?
Thanks,
Raj