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_event. 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. INCLUDE zpure_alv_event_handle. DATA: r_handle TYPE REF TO lcl_event_handler. 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_event_o01. *INCLUDE ZPURE_ALV_FIELDCAT_O01. INCLUDE zpure_alv_event_i01. *INCLUDE ZPURE_ALV_FIELDCAT_I01. *&---------------------------------------------------------------------* *& Include ZPURE_ALV_EVENT_HANDLE *&---------------------------------------------------------------------* *----------------------------------------------------------------------* * CLASS lcl_event_handler DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_event_handler DEFINITION. PUBLIC SECTION. METHODS: on_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_column es_row_no. ENDCLASS. "lcl_event_handler DEFINITION *----------------------------------------------------------------------* * CLASS lcl_event_handler IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS lcl_event_handler IMPLEMENTATION. METHOD on_double_click. MESSAGE i888(sabapdocu) WITH 'você deu duplo clique na coluna ' e_column ' e linha ' es_row_no-row_id. ENDMETHOD. "on_double_click ENDCLASS. "lcl_event_handler IMPLEMENTATION *----------------------------------------------------------------------* ***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 *----------------------------------------------------------------------* ***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. CREATE OBJECT r_handle. SET HANDLER r_handle->on_double_click FOR ALL INSTANCES. 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