PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
module create_fieldcat.
module create_alv.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
*&---------------------------------------------------------------------*
*& Report ZPURE_ALV_FIELDCAT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPURE_ALV_FIELDCAT.
DATA: r_container TYPE REF TO cl_gui_custom_container,
r_grid TYPE REF TO cl_gui_alv_grid.
DATA: it_fcat TYPE lvc_t_fcat,
wa_fcat TYPE lvc_s_fcat.
DATA: BEGIN OF wa_sflight .
INCLUDE TYPE sflight.
DATA: tx_occ TYPE p LENGTH 3 DECIMALS 2,
END OF wa_sflight.
DATA: it_sflight LIKE TABLE OF wa_sflight.
START-OF-SELECTION.
SELECT * FROM sflight
INTO TABLE it_sflight
UP TO 100 ROWS.
LOOP AT it_sflight INTO wa_sflight.
wa_sflight-tx_occ =
( wa_sflight-seatsocc / wa_sflight-seatsmax )
* 100.
MODIFY it_sflight FROM wa_sflight
INDEX sy-tabix.
ENDLOOP.
CALL SCREEN 0100.
INCLUDE ZPURE_ALV_FIELDCAT_O01.
INCLUDE ZPURE_ALV_FIELDCAT_I01.
*----------------------------------------------------------------------*
***INCLUDE ZPURE_ALV_FIELDCAT_O01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module create_alv OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE create_alv OUTPUT.
CREATE OBJECT r_container
EXPORTING
container_name = 'CONTAINER1'.
CREATE OBJECT r_grid
EXPORTING
i_parent = r_container.
CALL METHOD r_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
it_outtab = it_sflight
it_fieldcatalog = it_fcat.
ENDMODULE. " create_alv OUTPUT
*&---------------------------------------------------------------------*
*& Module create_fieldcat OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE create_fieldcat OUTPUT.
CLEAR wa_fcat.
wa_fcat-fieldname = 'TX_OCC'.
wa_fcat-col_pos = 10.
wa_fcat-coltext = 'Tx. Occ.'.
APPEND wa_fcat TO it_fcat.
ENDMODULE. " create_fieldcat OUTPUT
*----------------------------------------------------------------------*
***INCLUDE ZPURE_ALV_FIELDCAT_I01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
IF sy-ucomm = 'BACK'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT