Display two grids in split screen mode
REPORT z_alv_demo_04.
TYPES: BEGIN OF ty_data.
INCLUDE STRUCTURE sflight.
TYPES: END OF ty_data.
DATA: gt_data TYPE TABLE OF ty_data,
g_grid_left TYPE REF TO cl_gui_alv_grid,
g_grid_right TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo,
gt_fieldcat TYPE lvc_t_fcat.
CONSTANTS:
c_max_rows TYPE i VALUE 100.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Form read_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM read_data.
SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_data
FROM sflight
UP TO c_max_rows ROWS.
ENDFORM. "read_data
*&---------------------------------------------------------------------*
*& Form display_grid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_grid.
data: splitter TYPE REF TO cl_gui_splitter_container,
graphic_parent1 TYPE REF TO cl_gui_container,
graphic_parent2 TYPE REF TO cl_gui_container.
PERFORM get_layout.
CREATE OBJECT splitter
EXPORTING
parent = cl_gui_container=>default_screen
rows = 1
columns = 2
align = 15.
CALL METHOD splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = graphic_parent1.
call METHOD splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = graphic_parent2.
CREATE OBJECT g_grid_left
EXPORTING
i_parent = graphic_parent1.
CREATE OBJECT g_grid_right
EXPORTING
i_parent = graphic_parent2.
CALL METHOD g_grid_left->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
is_layout = gs_layout
CHANGING
it_outtab = gt_data
* it_fieldcatalog = gt_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL METHOD g_grid_right->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
is_layout = gs_layout
CHANGING
it_outtab = gt_data
* it_fieldcatalog = gt_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "display_grid
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'MAIN'.
SET TITLEBAR 'ALV_EXAMPLES'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module DISPLAY_GRID OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE display_grid OUTPUT.
PERFORM read_data.
PERFORM display_grid.
ENDMODULE. " DISPLAY_GRID OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
* to react on oi_custom_events:
CALL METHOD cl_gui_cfw=>dispatch.
CASE sy-ucomm.
WHEN 'BACK' OR
'EXIT' OR
'CANCEL'.
LEAVE PROGRAM.
WHEN OTHERS.
* do nothing
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form GET_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
*
Output should look like the following:
I wish you added some screenshots about this and next topics.
Hi
it is really nice blog, but it could be better if you just add a screen shot for the output
thank you
Screenshot added
Nice article!