EXTUI BROWSER_EVENT¶
목적¶
EV_BROWSER_EVENT는 UI에서 기본적으로 제공하는 이벤트 외에 추가적인 브라우저 이벤트가 필요할 때 사용
주요 단계¶
1. UI 오브젝트 및 이벤트 설정¶
o 예제에서는 "mouseup" 이벤트(마우스 버튼을 뗄 때 발생하는 이벤트)를 활용하여 동작 구현
o 추가적인 브라우저 이벤트는 해당 URL을 참고 :
https://developer.mozilla.org/en-US/docs/Web/Events
1.1 UI 오브젝트 생성¶
o 이벤트 대상 UI: "SIGNATURE"
o 사용할 브라우저 이벤트: "mouseup" (마우스 버튼을 뗄 때 발생)

<사진 1> EV_BROWSER_EVENT를 적용할 대상 예시 UI 화면
1.2 ON_INIT 에서 EV_BROWSER_EVENT 이벤트 설정¶
o ON_INIT에서 EV_BROWSER_EVENT 이벤트를 호출하고, 적용할 UI Instance ID 및 서버 이벤트를 입력
1.3 ABAP 소스 코드 예제¶
METHOD /U4A/IF_SERVER~HANDL_ON_INIT.
"EXTUI EVENTS 중 제공하는 Event외 다른 Browser Event가 필요할때 사용.
CALL METHOD /U4A/CL_EXTUI_EVENTS=>EV_BROWSER_EVENT
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_EVENT_NAME = 'mouseup' " events : https://developer.mozilla.org/en-US/docs/Web/Events
I_UID = 'SIGNATURE1' " UI object ID
I_SERVER_EVENT = 'EV_BROWSER_EVENT' " Server Event
* IT_SCRIPT_SOURCE =
* I_USE_WAIT = " Waiting 사용여부('X' = 사용함, ' ' = 사용안함)
* I_USE_PROPAGATION = " 이벤트 전파방지 사용여부('X' = 사용함)
* EXCEPTIONS
* NOT_SUPPORT_ELEMENT = 1 " attachBrowserEvent not supported UI.
* NOT_FOUND_UI = 2 " UI Instance not found.
* OTHERS = 3
.
ENDMETHOD.
1.4 EV_BROWSER_EVENT 서버 이벤트 메서드 생성¶

<사진 2> EV_BROWSER_EVENT을 수행할 서버 이벤트 메소드 생성 화면
2. 브라우저 이벤트 발생 시 메시지 출력¶
o "SIGNATURE" UI에서 마우스를 뗄 때 "mouseup" 이벤트가 발생하여 메시지를 출력하도록 구현
2.1 ABAP 소스 코드 예시¶
METHOD EV_BROWSER_EVENT.
"메세지 호출
CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_MSGTX = 'MouseUpEvent!!!'. " MESSAGETEXT
ENDMETHOD.
2.2 실행 화면¶
o SIGNATURE UI에서 서명 후 마우스를 떼면 "mouseup" 이벤트가 발생하여 메시지가 출력됨

<사진 3> "mouseup" 이벤트가 발생시 메세지 출력 화면
추가 정보¶
o 가능하면 UI에서 제공하는 기본 이벤트(Press, Change 등)를 사용하는 것이
바람직함
o 무분별한 서버 이벤트 발생은 프로그램 성능 저하를
초래할 수 있음