REPORT z18_012 .
DATA : con1_ref TYPE REF TO cl_gui_custom_container.
DATA : grid1 TYPE REF TO cl_gui_alv_grid,
gs_variant LIKE disvariant,
gs_cs_variant LIKE disvariant,
gs_layout TYPE lvc_s_layo,
gs_toolbar TYPE ui_functions,
gt_sort TYPE lvc_t_sort,
gt_sflight TYPE TABLE OF sflight.
TYPE-POOLS: icon.
*———————————————————————*
* CLASS lcl_event_receiver DEFINITION
*———————————————————————*
*
*———————————————————————*
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_double_click
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
METHODS : handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive.
PRIVATE SECTION.
ENDCLASS. “lcl_event_receiver DEFINITION
*———————————————————————*
* CLASS lcl_event_receiver IMPLEMENTATION
*———————————————————————*
*
*———————————————————————*
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_double_click.
LEAVE TO SCREEN 0.
ENDMETHOD. “handle_double_click
*– Add ToolBar
METHOD handle_toolbar.
DATA: ls_toolbar TYPE stb_button.
CLEAR ls_toolbar.
ls_toolbar-butn_type = 3.
APPEND ls_toolbar TO e_object->mt_toolbar.
CLEAR ls_toolbar.
ls_toolbar-function = ‘RESH’.
ls_toolbar-icon = icon_refresh.
ls_toolbar-quickinfo = ‘Refresh’.
ls_toolbar-text = ‘ ‘.
ls_toolbar-disabled = ‘ ‘.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD. “handle_toolbar
ENDCLASS. “lcl_event_receiver IMPLEMENTATION
*
DATA : event_receiver TYPE REF TO lcl_event_receiver.
PARAMETERS: p_vari LIKE disvariant-variant.
INITIALIZATION.
gs_variant-report = sy-repid.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
CALL FUNCTION ‘REUSE_ALV_VARIANT_F4’
EXPORTING
is_variant = gs_variant
i_save = ‘A’
IMPORTING
es_variant = gs_cs_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
IF sy-subrc EQ 0.
p_vari = gs_cs_variant-variant.
ENDIF.
START-OF-SELECTION.
SELECT * FROM sflight INTO TABLE gt_sflight.
CALL SCREEN 100.
*———————————————————————*
* MODULE init_con OUTPUT
*———————————————————————*
*
*———————————————————————*
MODULE init_con OUTPUT.
IF con1_ref IS INITIAL.
CREATE OBJECT con1_ref
EXPORTING container_name = ‘CON1’.
CREATE OBJECT grid1
EXPORTING
i_parent = con1_ref.
PERFORM setting_layout.
PERFORM setting_toolbar.
PERFORM setting_sort.
PERFORM setting_event.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = ‘SFLIGHT’
i_save = ‘A’
is_variant = gs_variant ” variant display
i_default = ‘ ‘
is_layout = gs_layout
it_toolbar_excluding = gs_toolbar
CHANGING
it_outtab = gt_sflight
it_sort = gt_sort.
ENDIF.
ENDMODULE. ” init_con OUTPUT
*&———————————————————————*
*& Module STATUS_0100 OUTPUT
*&———————————————————————*
* text
*———————————————————————-*
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘G100’.
* SET TITLEBAR ‘xxx’.
ENDMODULE. ” STATUS_0100 OUTPUT
*&———————————————————————*
*& Module USER_COMMAND_0100 INPUT
*&———————————————————————*
* text
*———————————————————————-*
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN ‘BACK’ OR ‘EXIT’ OR ‘CANC’.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. ” USER_COMMAND_0100 INPUT
*&———————————————————————*
*& Form setting_layout
*&———————————————————————*
* text
*———————————————————————-*
* –>P_GS_LAYOCAT text
*———————————————————————-*
FORM setting_layout .
*- General display options
gs_layout-cwidth_opt = ‘X’.
* TITLE BAR
gs_layout-grid_title = ‘TOOLBAR TEST’.
* Selection modes for SEL_MODE
gs_layout-sel_mode = ‘D’.
* Grid pattern
gs_layout-zebra = ‘X’.
ENDFORM. ” setting_layout
*&———————————————————————*
*& Form setting_toolbar
*&———————————————————————*
* text
*———————————————————————-*
* –>P_GS_TOOLBAR text
*———————————————————————-*
FORM setting_toolbar.
DATA: l_exclude TYPE ui_func.
l_exclude = cl_gui_alv_grid=>mc_fc_save_variant.
APPEND l_exclude TO gs_toolbar.
l_exclude = cl_gui_alv_grid=>mc_fc_maintain_variant.
APPEND l_exclude TO gs_toolbar.
ENDFORM. ” setting_toolbar
*&———————————————————————*
*& Form setting_sort
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM setting_sort .
DATA : ls_sort TYPE lvc_s_sort.
ls_sort-spos = ‘1’.
ls_sort-fieldname = ‘CARRID’.
ls_sort-up = ‘X’.
ls_sort-subtot = ‘X’.
APPEND ls_sort TO gt_sort.
ENDFORM. ” setting_sort
*&———————————————————————*
*& Form setting_event
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORM setting_event .
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_double_click FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
ENDFORM. ” setting_event
Leave a Reply
댓글을 달기 위해서는 로그인해야합니다.
1 Comment
good.