300x250
728x90
# SAP ALV Double Click event란
# ALV 이벤트 중 하나이며, 많이 쓰이는 Event 중에 하나이기도 한다.
# 대부분 Detail 화면으로 넘어가거나, 상세정보를 확인할 때 사용하거나 등등 여러 가지 상황일 때 많이 쓰인다.
사실 HotSpot과 거의 비슷하며, Event만 달라지기 때문에 참고용으로 보자!
2024.04.02 - [.SAP/..ABAP] - SAP ALV Hotspot 정리
# 여기서는 [이름]을 더블클릭 했을 때 팝업창이 나오게 만들어보자.
SAP ALV Doublc Click에 대해서 알아보자.
# INCLUDE 추가
# 순서에 맞게 Include를 추가하자.
( 순서 중요 )
# 추가하는 이유는 Class, Method( P01 )와 Method에 있는 PERFORM문( A01 )을 사용하기 위해서 만들었다.
이해가 안 되더라도 일단 넘어가 보자.
# Include P01 로직
# 01. 다음과 같이 Class Definition과 Class Implemenataion을 설정해 보자.
또한 이벤트 설정을 하기 위해서 REF TO을 통해 데이터 선언을 해보자.
# 02. CL_GUI_ALV_GRID에 있는 Event을 통해서 Double Click 설정해 보자.
# CL_GUI_ALV_GRID Events 참고
# 03. Class Implemenataion에 선언한 PERFORM문을 생성할 때, 앞에서 만들었던 Include A01로 선택해서 생성하면 된다.
*&---------------------------------------------------------------------*
*& Include ZTEST_03_GJP01
*&---------------------------------------------------------------------*
CLASS LCL_EVENT_RECEIVER01 DEFINITION.
PUBLIC SECTION.
METHODS HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING
E_COLUMN
E_ROW
ES_ROW_NO.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS. "LCL_EVENT_RECEIVER01 DEFINITION"
CLASS LCL_EVENT_RECEIVER01 IMPLEMENTATION.
METHOD HANDLE_DOUBLE_CLICK.
PERFORM ALV_CL_DOUBLE_CLICK
USING
E_COLUMN
E_ROW
ES_ROW_NO.
ENDMETHOD.
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION"
DATA:
G_EVENT_RECEIVER01 TYPE REF TO LCL_EVENT_RECEIVER01.
# PROCESS BEFORE OUTPUT( PBO )
# Set Handler 설정
# 다음과 같이 PERFORM을 생성해줘야 한다.
생성을 할 때에는 앞에서 만들어줬던 (Include A01)에 만들어줘야 한다.
# F01에 만들면 Include위치 때문에 에러가 발생한다.
# Include A01 Event 로직 추가
# 위에서 선언했던 Class을 통해서 SET HANDLER 설정을 해줘야 한다.
# 여기서 설정을 해줘야 Event가 활성화되기 때문에 바로바로 추가해 보자.
FORM SET_EVENT .
CREATE OBJECT G_EVENT_RECEIVER01.
SET HANDLER
G_EVENT_RECEIVER01->HANDLE_DOUBLE_CLICK FOR GO_GRID.
ENDFORM. " SET_EVENT
# Create Object 참고
# INCLUDE A01 로직 추가
# 01. PERFORM문만 만들고 넘어간 Include A01로 들어가 보자.
여기서 사용되는
# P_COLUMN : 더블클릭 했을 때 Column 값
# P_ROW : 선택한 Row Index 값을 가져온다.
# PS_ROW_NO : 선택한 Row ID값을 가져온다.
# 예를 들어) 여기서 2번째인 "한익환"을 선택했을 때 다음과 같이 값들을 가져온다.
# 02. 그렇기 때문에 조건문을 통해서 해당하는 Column에 따라서 로직을 변경하면 되는 것이다.
# 03. 실행을 해보면?
# 중간중간 건너뛰는 거 말고는 Double Click 쉽게 작동할 수 있다!
끝!
728x90
'.ABAP > ..ALV' 카테고리의 다른 글
SAP ALV ROW Color 설정 (0) | 2024.11.07 |
---|---|
SAP ALV CELL Color 설정 (0) | 2024.09.20 |
SAP ALV 특정 Cell edit 설정 (1) | 2024.04.18 |
SAP ALV Hotspot 정리 (2) | 2024.04.02 |
SAP ALV SubTotal(소계) 정리 (4) | 2024.02.21 |