double click event main code
*&---------------------------------------------------------------------*
*& Include MZKSS161_TOP - Module Pool SAPMZKSS161
*&---------------------------------------------------------------------*
PROGRAM sapmzkss161 MESSAGE-ID zmckss.
CLASS lcl_event_handler DEFINITION DEFERRED.
*[C5SS] Payment Strucutre
TABLES : zskss161 ,ztkss161, zskss162. "ztkss161 제거예정.
*ALV SETTING
DATA : gcl_container TYPE REF TO cl_gui_custom_container,
gcl_alv_grid TYPE REF TO cl_gui_alv_grid,
gcl_alv_grid_c TYPE REF TO cl_gui_custom_container,
gcl_container_c TYPE REF TO cl_gui_alv_grid,
gs_layo TYPE lvc_s_layo,
ok_code TYPE sy-ucomm,
gs_fcat TYPE lvc_s_fcat,
gt_fcat TYPE lvc_t_fcat
.
DATA : gt_data TYPE TABLE OF ztkss161, "alv data internal table == gt_data.
gs_data LIKE LINE OF gt_data.
*EVENT
DATA : gcl_handler TYPE REF TO lcl_event_handler.
*For CRUD VARIABLE
DATA: gt_rows TYPE lvc_t_row,
gs_row TYPE lvc_s_row,
gt_data_del TYPE TABLE OF ztkss161.
*Calculator Algorithm val.
data : gv_id(14) TYPE c. "perform before_idset -> "101 screen, Use in pymid".
*&---------------------------------------------------------------------*
*& Include MZKSS161_C01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Class lcl_event_handler
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION FINAL.
PUBLIC SECTION.
METHODS :
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_column
e_row.
ENDCLASS.
*&---------------------------------------------------------------------*
*& Class (Implementation) lcl_event_handler
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.
METHOD handle_double_click.
PERFORM handle_double_click USING e_column e_row.
ENDMETHOD.
ENDCLASS.
MODULE set_display OUTPUT.
"Container 생성"
IF gcl_container IS NOT BOUND.
CREATE OBJECT gcl_container
EXPORTING
container_name = 'CON_MAIN'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
"alv 생성"
IF gcl_alv_grid IS NOT BOUND.
CREATE OBJECT gcl_alv_grid
EXPORTING
i_parent = gcl_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
CREATE OBJECT gcl_handler.
SET HANDLER : gcl_handler->handle_double_click FOR gcl_alv_grid.
gs_fcat-fieldname = 'ORDID'.
gs_fcat-no_out = 'X'.
APPEND gs_fcat TO gt_fcat.
"Show Data"
CALL METHOD gcl_alv_grid->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
i_structure_name = 'ZSKSS161'
* is_variant =
* i_save =
* i_default = 'X'
* is_layout =
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_data
it_fieldcatalog = gt_fcat
* it_sort =
* it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDMODULE.