*&---------------------------------------------------------------------* *& Report ZJUBE_R_ALV_CLASE *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zanma_alv_doble. DATA: ok_code LIKE sy-ucomm, gt_sflight TYPE TABLE OF sflight, wa_flight LIKE LINE OF gt_sflight, it_tabla TYPE TABLE OF scarr, wa_tabla TYPE scarr, g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1', gv_cont TYPE scrfname VALUE 'MARCO_ALV', grid1 TYPE REF TO cl_gui_alv_grid, gv_grid TYPE REF TO cl_gui_alv_grid, g_custom_container TYPE REF TO cl_gui_custom_container, gv_contenedor TYPE REF TO cl_gui_custom_container, gv_contarbol TYPE REF TO cl_gui_custom_container, arbol TYPE REF TO cl_gui_simple_tree, it_nodo TYPE TABLE OF mtreesnode, wa_nodo TYPE mtreesnode, it_evento TYPE cntl_simple_events, wa_evento LIKE LINE OF it_evento, gv_barra TYPE stb_button. *----------------------------------------------------------------------* * CLASS manejador DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS manejador DEFINITION. PUBLIC SECTION. CLASS-METHODS: manejador_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row, manejador_arbol FOR EVENT node_double_click OF cl_gui_simple_tree IMPORTING node_key, manejador_barra FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING e_object e_interactive, manejador_comando FOR EVENT user_command OF cl_gui_alv_grid IMPORTING e_ucomm. PRIVATE SECTION. ENDCLASS. "manejador DEFINITION *----------------------------------------------------------------------* * CLASS manejador DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS manejador IMPLEMENTATION. METHOD manejador_click. PERFORM seleccion USING e_row. PERFORM mostrar. ENDMETHOD. "manejador_click METHOD manejador_arbol. PERFORM seleccion_arbol USING node_key. PERFORM mostrar. ENDMETHOD. "manejador_arbol METHOD manejador_barra. CLEAR gv_barra. MOVE 3 TO gv_barra-butn_type. APPEND gv_barra TO e_object->mt_toolbar. CLEAR gv_barra. MOVE 'MUESTRA' TO gv_barra-function. MOVE icon_cancel TO gv_barra-icon. MOVE 'Ocultar'(200) TO gv_barra-quickinfo. APPEND gv_barra TO e_object->mt_toolbar. ENDMETHOD. "manejador_barra METHOD manejador_comando. IF e_ucomm = 'MUESTRA'. CALL METHOD g_custom_container->free. CLEAR g_custom_container. ENDIF. ENDMETHOD. "manejador_comando ENDCLASS. "manejador IMPLEMENTATION DATA: gv_manejador TYPE REF TO manejador. *---------------------------------------------------------------------* * MAIN * *---------------------------------------------------------------------* START-OF-SELECTION. SELECT * FROM scarr INTO TABLE it_tabla. CALL SCREEN 100. *---------------------------------------------------------------------* * MODULE PBO OUTPUT * *---------------------------------------------------------------------* MODULE pbo OUTPUT. SET PF-STATUS 'MAIN100'. PERFORM principal. PERFORM arbol. ENDMODULE. "PBO OUTPUT *---------------------------------------------------------------------* * MODULE PAI INPUT * *---------------------------------------------------------------------* MODULE pai INPUT. * to react on oi_custom_events: CALL METHOD cl_gui_cfw=>dispatch. CASE ok_code. WHEN 'EXIT'. PERFORM exit_program. WHEN OTHERS. * do nothing ENDCASE. CLEAR ok_code. ENDMODULE. "PAI INPUT *---------------------------------------------------------------------* * FORM EXIT_PROGRAM * *---------------------------------------------------------------------* FORM exit_program. * CALL METHOD G_CUSTOM_CONTAINER->FREE. * CALL METHOD CL_GUI_CFW=>FLUSH. LEAVE PROGRAM. ENDFORM. "EXIT_PROGRAM INCLUDE zjube_r_alv_clase_seleccionf01. INCLUDE zjube_r_alv_clase_mostrarf01. INCLUDE zjube_r_alv_clase_principalf01. INCLUDE zjube_r_alv_clase_arbolf01.