* 계속 업데이트 될 예정
- ALV Event 등록 방법
1. Event handler Class 정의
- Event handler Class를 만든다(LCL_EVENT_RECEIVER)
- Event handler class 내에 이벤트 Method 등록
예)
CLASS ZCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
* Double Click Event of CL_GUI_ALV_GRID Class
METHODS : HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW
E_COLUMN.
* Hotspot click event of CL_GUI_ALV_GIRD Class
METHODS : HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID
E_COLUMN_ID.
ENDCLASS.
- Event handler class 내에 이벤트 정의하고 Form subroutine을 사용하여 이벤트 정의
예)
CLASS ZCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DOUBLE_CLICK.
PERFORM HANDLE_DOUBLE_CLICK USING E_ROW
E_COLUMN.
ENDMETHOD.
METHOD HANDLE_HOTSPOT_CLICK.
PERFORM HANDLE_HOTSPOT_CLICK USING E_ROW_ID
E_COLUMN_ID.
ENDMETHOD.
METHOD HANDLE_HOTSPOT_CLICK.
PERFORM HANDLE_HOTSPOT_CLICK USING E_ROW_ID
E_COLUMN_ID.
ENDMETHOD.
ENDCLASS.
2. Event handler class를 CL_GUI_ALV_GRID 변수에 등록한다.
예)
DATA : GO_GRID TYPE REF TO CL_GUI_ALV_GRID,
GO_EVENT_RECEIVER TYPE REF TO ZCL_EVENT_RECEIVER.
CREATE OBJECT GO_EVENT_RECEIVER.
SET HANDLER : GO_EVENT_RECEIVER->HANDLE_DOUBLE_CLICK FOR GO_GRID,
GO_EVENT_RECEIVER->HANDLE_HOTSPOT_CLICK FOR GO_GRID.
- ALV Event 종류
Class Builder(SE24)에서 CL_GUI_ALV_GRID을 확인한 후, Events tab으로 이동하면 모든 Event들을 볼 수 있다.
- ALV Event 정리
Event | Parameters | Opt | Type | Description | ||
DOUBLE_CLICK | E_ROW | O | Type | LVC_S_ROW | 현재 선택 된 Row Index | 더블클릭 했을 때 발생하는 Event |
E_COLUMN | O | Type | LVC_S_COL | 현재 선택 된 Col name | ||
ES_ROW_NO | O | Type | LVC_S_ROID | 현재 선택된 Row ID | ||
HOTSPOT_CLICK | E_ROW_ID | O | Type | LVC_S_ROW | 현재 선택 된 Row Index | Hotspot(밑줄 쳐지고 클릭이 가능한)을 클릭했을 경우 발생하는 Event |
E_COLUMN_ID | O | Type | LVC_S_COL | 현재 선택 된 Col name | ||
ES_ROW_NO | O | Type | LVC_S_ROID | 현재 선택된 Row ID | ||
TOOLBAR | E_OBJECT | O | TYPE Ref To | CL_ALV_EVENT_TOOLBA_SET | TOOLBAR ITAB | ALV가 제공해주는 아이콘 외에 개발자가 임의로 추가할 때 사용 |
E_INTERACTIVE | O | Type | CHAR01 | Flag 셋팅 시, 툴바 초기화 | ||
USER_COMMAND | E_UCOMM | O | TYPE | SY-UCOMM | User command 변수 | 이벤트에서 추가 된 아이콘에 function 추가 |
BUTTON_CLICK | ES_COL_ID | O | TYPE | LVC_S_COL | 현재 선택된 Col ID | ALV GRID에 추가된 Button을 클릭 했을 경우 발생하는 Event |
ES_ROW_NO | O | TYPE | LVC_S_ROID | 현재 선택된 Row ID | ||
'SAP > ABAP ALV' 카테고리의 다른 글
(ABAP ALV) Data_Changed Event (0) | 2021.07.10 |
---|---|
(ABAP ALV) Field Catalog 정리 (0) | 2021.07.10 |
(ABAP ALV) Field Catalog (0) | 2021.07.04 |
(ABAP ALV) ALV Layout (0) | 2021.07.04 |
(ABAP ALV) ALV 개발 시 유용한 Method / Function Module (0) | 2021.07.04 |