TYPE-POOLS : slis.
DATA : it_spfli TYPE TABLE OF spfli,
it_sflight TYPE TABLE OF sflight,
it_sbook TYPE TABLE OF sbook.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_layout TYPE slis_layout_alv,
it_event TYPE slis_t_event.
START-OF-SELECTION.
PERFORM fetch_data.
END-OF-SELECTION.
PERFORM blocked_alv_initialization.
PERFORM field_cat USING 'IT_SPFLI' 'SPFLI'.
PERFORM blocked_alv_append USING 'IT_SPFLI' it_spfli.
REFRESH it_fieldcat[].
PERFORM field_cat USING 'IT_SFLIGHT' 'SFLIGHT'.
PERFORM blocked_alv_append USING 'IT_SFLIGHT' it_sflight.
REFRESH it_fieldcat[].
PERFORM field_cat USING 'IT_SBOOK' 'SBOOK'.
PERFORM blocked_alv_append USING 'IT_SBOOK' it_sbook.
REFRESH it_fieldcat[].
PERFORM blocked_alv_display.
*————————————————————-
FORM fetch_data .
SELECT * FROM spfli INTO TABLE it_spfli UP TO 10 ROWS.
SELECT * FROM sflight INTO TABLE it_sflight UP TO 10 ROWS.
SELECT * FROM sbook INTO TABLE it_sbook UP TO 10 ROWS.
ENDFORM. "” fetch_data
*———————————————————-
FORM blocked_alv_initialization .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-cprog.
ENDFORM. " ” blocked_alv_initialization
*————————————————————
FORM field_cat USING itab TYPE c
tab_struc TYPE c.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-cprog
i_internal_tabname = itab
i_structure_name = tab_struc
CHANGING
ct_fieldcat = it_fieldcat.
ENDFORM. "” field_cat
*————————————————————
FORM blocked_alv_append USING itab1 TYPE c
itab2 TYPE STANDARD TABLE.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = wa_layout
it_fieldcat = it_fieldcat
i_tabname = itab1
it_events = it_event
TABLES
t_outtab = itab2.
ENDFORM. " ” blocked_alv_append
*————————————————————
FORM blocked_alv_display .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
ENDFORM."” blocked_alv_display