EXTUI FOCUSIN¶
목적¶
EV_FOCUSIN 이벤트는 특정 UI 오브젝트가 포커스를 받을 때 이벤트를 실행할 수 있도록 설정할 수 있음
주요 단계¶
1. UI 오브젝트 및 이벤트 설정¶
1.1 UI 오브젝트 생성¶
o Application에서 특정 UI가 포커스를 받을 때 이벤트를 수행할 UI 오브젝트 생성

<사진 1> FOCUSIN 적용 대상 예시 화면
1.2 ON_INIT에서 EV_FOCUSIN 이벤트 생성¶
o ON_INIT에서 EV_FOCUSIN 이벤트를 호출하고, 적용할 UI Instance ID 및 서버 이벤트를 입력
1.3 ABAP 소스 코드 예제¶
METHOD /U4A/IF_SERVER~HANDL_ON_INIT.
"INPUT3 UI Focus시 이벤트 Attach.
CALL METHOD /U4A/CL_EXTUI_EVENTS=>EV_FOCUSIN
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_UID = 'INPUT3' " UI object ID
I_SERVER_EVENT = 'EV_FOCUSIN' " Server Event
* IT_SCRIPT_SOURCE = " Client Event
* 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_FOCUSIN 서버 이벤트 메소드 생성¶

<사진 2> EV_FOCUSIN 을 수행할 서버 이벤트 메소드 생성 화면
2. UI가 FOCUS 되었을 때 메시지 출력¶
o 특정 UI에 포커스가 되었을 때 메시지를 출력하는 메서드 구현
2.1 ABAP 소스 코드 예제¶
METHOD EV_FOCUSIN.
"메세지 호출
CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_MSGTX = 'INPUT3 Focus Message!!'. " MESSAGE TEXT
ENDMETHOD.
3. 실행 화면¶
o "INPUT3" 에 포커스를 주었을 때 메시지 출력

<사진 3> Input 포커스시 메세지 출력 화면

<사진 4> 다른 입력란에 포커스를 주어도 메시지가 호출되지 않음