Hi,
Try.
Create two container in se51.
DATA :
splitter_1 TYPE REF TO cl_gui_splitter_container,
splitter_2 TYPE REF TO cl_gui_splitter_container,
container TYPE REF TO cl_gui_custom_container,
cont_1 TYPE REF TO cl_gui_container,
cont_2 TYPE REF TO cl_gui_container,
g_container TYPE scrfname VALUE 'CONTAINER_1',
g_container_1 TYPE scrfname VALUE 'CONTAINER_2',
grid1 TYPE REF TO cl_gui_alv_grid,
grid2 TYPE REF TO cl_gui_alv_grid,
i_selected_rows1 TYPE lvc_t_row,"Selected Rows for credit
i_selected_rows2 TYPE lvc_t_row,"Selected Rows for debit
* Populating first internal table to the container - Credit
IF grid1 IS INITIAL.
CREATE OBJECT container
EXPORTING
container_name = g_container.
CREATE OBJECT grid1
EXPORTING
i_parent = cont_1.
it_layout-grid_title = 'Ledger'. "'Credit'.
it_layout-sel_mode = 'A'.
it_layout-cwidth_opt = 'X'.
it_layout-zebra = 'X'.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
* i_structure_name = 'TY_OUTPUT'
i_default = 'X'
is_layout = it_layout
CHANGING
it_fieldcatalog = it_fieldcat
it_outtab = it_tab1. "it_cr.
else.
CALL METHOD grid1->refresh_table_display.
endif.
IF grid3 IS INITIAL.
CREATE OBJECT container
EXPORTING
container_name = g_container_1.
CREATE OBJECT grid3
EXPORTING
i_parent = cont_3.
it_layout-grid_title = 'Assigned items'.
it_layout-sel_mode = 'A'.
it_layout-cwidth_opt = 'X'.
it_layout-zebra = 'X'.
CALL METHOD grid3->set_table_for_first_display
EXPORTING
i_default = 'X'
is_layout = it_layout
CHANGING
it_fieldcatalog = it_fieldcat
it_outtab = it_bl.
ELSE.
CALL METHOD grid3->refresh_table_display.
endif.
"Storing the selected internal table contents to another itab for displaying second screen.
CALL METHOD grid1->get_selected_rows
IMPORTING
et_index_rows = i_selected_rows1.
LOOP AT i_selected_rows1 INTO w_selected_rows.
APPEND wa_bl to it_bl.
ENDLOOP.
CALL METHOD grid1->refresh_table_display.
CALL METHOD grid2->refresh_table_display.
CALL METHOD grid3->refresh_table_display.
Hope it helpful,
Regards,
Venkat.V