Files
abap-zcomcode/src/zcom0010c01.prog.abap
T
mygit 709e049c97 First commit (2026.09.09)
공통 코드 관리
2026-09-09 09:09:28 +00:00

125 lines
4.1 KiB
ABAP

*&---------------------------------------------------------------------*
*& Include ZCOM0010C01
*&---------------------------------------------------------------------*
CLASS lcl_events DEFINITION.
PUBLIC SECTION.
* METHODS on_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
* IMPORTING e_object e_interactive sender.
* METHODS on_user_command FOR EVENT user_command OF cl_gui_alv_grid
* IMPORTING e_ucomm sender.
METHODS on_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column sender.
* METHODS on_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
* IMPORTING er_data_changed sender.
ENDCLASS.
CLASS lcl_events IMPLEMENTATION.
* METHOD on_toolbar.
* IF e_object IS INITIAL.
* RETURN.
* ENDIF.
*
** IF sender = go_grid.
** __alv_toolbar e_object 1 'ADDH' gc_icon-create '그룹코드 추가' '그룹 추가' 0 space.
** __alv_toolbar e_object 2 'DELH' gc_icon-delete '선택 그룹 삭제' '그룹 삭제' 0 space.
** __alv_toolbar e_object 3 'SAVEH' icon_system_save '그룹코드 저장' '그룹 저장' 0 space.
** ELSEIF sender = go_grid1.
** __alv_toolbar e_object 1 'ADDI' gc_icon-create '상세코드 추가' '상세 추가' 0 space.
** __alv_toolbar e_object 2 'ADDIM' gc_icon-create '상세코드 복수 추가' '복수열 추가' 0 space.
** __alv_toolbar e_object 3 'DELI' gc_icon-delete '선택 상세 삭제' '상세 삭제' 0 space.
** __alv_toolbar e_object 4 'SAVEI' icon_system_save '상세코드 저장' '상세 저장' 0 space.
** ENDIF.
* ENDMETHOD.
* METHOD on_user_command.
* ok_code_0100 = e_ucomm.
* CALL METHOD cl_gui_cfw=>set_new_ok_code
* EXPORTING new_code = ok_code_0100.
* ENDMETHOD.
METHOD on_double_click.
perform handle_double_click using e_row e_column sender.
ENDMETHOD.
* METHOD on_data_changed.
* IF sender = go_grid.
* LOOP AT er_data_changed->mt_mod_cells INTO DATA(ls_mod_header).
* READ TABLE gt_header ASSIGNING FIELD-SYMBOL(<ls_header>) INDEX ls_mod_header-row_id.
* IF sy-subrc = 0 AND <ls_header>-mode = gc_mode-disp.
* <ls_header>-mode = gc_mode-modify.
* ENDIF.
* ENDLOOP.
* ELSEIF sender = go_grid1.
* LOOP AT er_data_changed->mt_mod_cells INTO DATA(ls_mod_item).
* READ TABLE gt_item ASSIGNING FIELD-SYMBOL(<ls_item>) INDEX ls_mod_item-row_id.
* IF sy-subrc = 0 AND <ls_item>-mode = gc_mode-disp.
* <ls_item>-mode = gc_mode-modify.
* ENDIF.
* ENDLOOP.
* ENDIF.
* ENDMETHOD.
ENDCLASS.
*---------------------------------------------------------------------*
* LOCAL CLASSES: Definition
*---------------------------------------------------------------------*
CLASS lcl_alv_grid DEFINITION INHERITING FROM cl_gui_alv_grid.
PUBLIC SECTION.
METHODS: set_optimize_all_cols.
METHODS: set_cursor IMPORTING row TYPE i
col TYPE i.
METHODS: set_fixed_column.
METHODS: set_row_resize.
METHODS: set_err_cells IMPORTING it_err TYPE lvc_t_err.
ENDCLASS. "LCL_AlV_GRID DEFINITION
*---------------------------------------------------------------------*
* CLASS LCL_AlV_GRID IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS lcl_alv_grid IMPLEMENTATION.
METHOD set_optimize_all_cols.
CALL METHOD me->optimize_all_cols
EXPORTING
include_header = 1.
ENDMETHOD. "SET_OPTIMIZE_ALL_COLS
METHOD set_cursor.
CALL METHOD me->set_current_cell_base
EXPORTING
row = row
col = col.
ENDMETHOD. " SET_CURSOR
METHOD set_fixed_column.
CALL METHOD me->set_fixed_cols
EXPORTING
cols = 5.
ENDMETHOD. "SET_FIXED_COLUMN
METHOD set_row_resize.
CALL METHOD me->set_resize_rows
EXPORTING
enable = 1.
ENDMETHOD. " SET_ROW_RESIZE
METHOD set_err_cells.
CALL METHOD me->set_error_cells
EXPORTING
cell_table = it_err
EXCEPTIONS
error = 1
OTHERS = 2.
ENDMETHOD. "GET_CURRENT_COL
ENDCLASS. "LCL_ALV_GRID IMPLEMENTATION