EXTUI CLICK LAYOUT¶
목적¶
EV_CLICK_UI_LAYOUT_FORM 이벤트는 Form UI에서 클릭 시 서버 이벤트를 실행할 수 있도록 확장됨
※ Form UI는 기본적으로 클릭 관련 이벤트가 없으며, 확장(Extend)하여 이벤트를 추가할 수 있음
주요 단계¶
1. UI 오브젝트 및 이벤트 설정¶
1.1 UI 오브젝트 생성¶
o 애플리케이션에서 Form UI 오브젝트 생성
1.2 ON_INIT에서 EV_CLICK_UI_LAYOUT_FORM 이벤트 생성¶
o ON_INIT에서 EV_CLICK_UI_LAYOUT_FORM 이벤트를 호출하고, FORM에 Binding할 TABLE을 입력
1.3 ABAP 소스 코드 예시¶
METHOD /U4A/IF_SERVER~HANDL_ON_INIT.
DATA LS_FORM TYPE TY_FORM.
DATA LS_LIST TYPE TY_LIST.
*--------------------------------------------------------------------*
"FORM 바인딩 데이터 구성
LS_FORM-H1 = 'U4A WS'.
LS_LIST-F1 = 'ONE'.
LS_LIST-F2 = '1'.
APPEND LS_LIST TO LS_FORM-LIST.
CLEAR LS_LIST.
LS_LIST-F1 = 'TWO'.
LS_LIST-F2 = '2'.
APPEND LS_LIST TO LS_FORM-LIST.
CLEAR LS_LIST.
LS_LIST-F1 = 'THREE'.
LS_LIST-F2 = '3'.
APPEND LS_LIST TO LS_FORM-LIST.
CLEAR LS_LIST.
APPEND LS_FORM TO GT_FORM.
CLEAR LS_FORM.
LS_FORM-H1 = 'U4A WS2'.
APPEND LS_FORM TO GT_FORM.
CLEAR LS_FORM.
"FORM1 UI CLICK => SERVER EVENT 실행.
CALL METHOD /U4A/CL_EXTUI_EVENTS=>EV_CLICK_UI_LAYOUT_FORM
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_UID = 'FORM1' " UI ID
* I_ISBIND = " !!폐기!! BIND 일 경우만 서버이벤트 수행 여부
I_SERVER_EVENT = 'EV_CLICK_LAYOUT' " 서버이벤트명
* IT_SCRIPT_SOURCE = " Table of Strings
* I_USE_WAIT = 'X' " Waiting 사용여부('X' = 사용함, ' ' = 사용안함)
* I_USE_PROPAGATION = 'X' " 이벤트 전파방지 사용여부('X' = 사용함)
* EXCEPTIONS
* NOT_SUPPORT_ELEMENT = 1
* OTHERS = 2.
ENDMETHOD.
1.4 EV_CLICK_LAYOUT 서버 이벤트 메소드 생성¶
<사진 2> EV_CLICK_UI_LAYOUT_FORM 을 수행할 서버 이벤트 메소드 생성 화면
2. FORM 클릭 시 메시지 출력¶
o 클릭 이벤트가 발생했을 때 메시지를 출력하는 메서드 구현
2.1 ABAP 소스 코드 예시¶
METHOD EV_CLICK_LAYOUT.
DATA LV_MSG TYPE STRING.
*--------------------------------------------------------------------*
"MESSAGE 내역
LV_MSG = 'Form1 Clicked!'.
"MESSAGE 창 호출
CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
* IS_MSG = " Structure of message variables
I_MSGTX = LV_MSG. " MESSAGE TEXT
* IT_MSGTX =
* I_VPOS = CS_M_MSG_TOS_VPOS-CENTER " Vertical position
* I_HPOS = CS_M_MSG_TOS_HPOS-CENTER " Horizontal position
* I_VOFF = '0' " Vertical offset
* I_HOFF = '0' " Horizontal offset
* I_DURATION = 10000
ENDMETHOD.
3. 실행 화면¶

<사진 3> FORM 클릭시 메세지 출력 화면
추가 정보¶
o EV_CLICK_UI_LAYOUT_FORM의 EXPORTING 매개변수 I_ISBIND는 현재 폐기되었으며 사용하지 않음
o FORM과 하위 항목은 반드시 Binding을 해야 SERVER_EVENT가 정상적으로 작동함