반응형

 

CL_GUI_ALV_GRID인 클래스 인데, T-code: SE24에 들어가서 해당 클래스 검색해보면

 

다음과 같은 항목이 보일텐데 Event 탭에 들어가서 어떠한 Event Handler가 있는지 확인 할 수 있다.

CL_GUI_ALV_GRID의 Events 탭

 

이중에서 가장 많이 사용되고 알아두면 좋을만한 것들에 대해서 알아보자.

 

1. ALV를 구성할 때 작동하는 Event인 Toolbar에 대해서 알아보자.

 

ALV 화면

 

Toolbar는 ALV에 대해서 작동하는 toolbar 버튼을 구성해주는 Event Handler라고 보면 된다.

 

버튼을 구성하면 빨간박스 위치에 생성된다.

 

사용하는 방법은 다음과 같다.

 

하기와 같이 로컬 클래스 이벤트 핸들러를 정의해주고 로컬 클래스에 대해 생성자를 만들어 준 후 

 

내가 원하는 이벤트 핸들러를 하나씩 추가하면 된다.

Local Class 선언

로컬 클래스를 작성한 이후에 해당 클래스를 New구문을 통해 생성해주고,

 

해당 ALV Gird에 event modified 변수를 넘겨줘서 edit_event에 등록을 시켜주고 

 

작성한 handle_toolbar를 set handler에 설정해주면 이벤트가 동작한다.

 

Local Class 생성 후 ALV에 적용

 

handle_toolbar에 break-point를 찍어서 돌려보면 화면이 생성되는 시점에서 이벤트 트리거가 발생한다.

 

handle_toolbar에 있는 alv_handle_toolbar 퍼폼문을 다음과 같이 작성하면 된다.

Buttone 생성 로직

 

function 명 , Icon여부, button명 등 설정을 해주고 실행하면 

 

아래 그림과 같이 ALV 버튼이 생성된다.

ALV에 Button 추가

 

버튼을 생성했으면 해당 버튼에 대한 기능을 추가해줘야 하는데 이 이벤트는

반응형

USER_COMMAND 이벤트 핸들러를 사용하면 작동 시킬 수 있다.

Local Class에 handle_user_command Method 정의

 

handle_command 로직을 추가하고 핸들러도 추가해주고

생성한 Method를 ALV에 Set handler

 

PERFORM문 로직을 작성하면 된다.

 

해당 function은 위에 toolbar를 구성할 떄 작성해 두었던 function명을 입력해주면 해당 로직을 타게된다.

hanlde_user_command 퍼폼문 로직

 

 

반응형

'SAP > ABAP' 카테고리의 다른 글

[ABAP] Pass by Value vs Pass by Reference  (1) 2024.06.16
[ABAP] ALV Grid Event Handler - 2편  (0) 2024.06.11
[ABAP] ALV Class - Method 1편  (1) 2024.06.04
[ABAP] Search Help 초기 필드값 세팅  (0) 2024.05.28
[ABAP] Table 생성  (0) 2024.05.25

+ Recent posts