EXTUI CONTEXTMENU¶
목적¶
EV_CONTEXTMENU 이벤트는 특정 UI 오브젝트에서 마우스 우클릭 시 서버 이벤트를 실행할 수 있도록 설정
주요 단계¶
1. UI 오브젝트 및 이벤트 설정¶
1.1 UI 오브젝트 생성¶
o 마우스 우클릭이 적용될 대상 UI: "Button"
o 마우스 우클릭 시 호출될 UI: "Responsive Popover"

<사진 1> CONTEXTMENU 적용 대상 예시 화면
1.2 ON_INIT 에서 EV_CONTEXTMENU 이벤트 설정¶
o ON_INIT에서 EV_CONTEXTMENU 이벤트를 호출하고, 적용할 UI Instance ID 및 서버 이벤트를 입력
1.3 ABAP 소스 코드 예시¶
METHOD /U4A/IF_SERVER~HANDL_ON_INIT.
"EXTUI_EVENTS 중 EV_CONTEXTMENU UI에 마우스 우클릭 했을때 EVENT를 작동시킨다
CALL METHOD /U4A/CL_EXTUI_EVENTS=>EV_CONTEXTMENU
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
I_UID = 'BUTTON1' " UI ID
I_SERVER_EVENT = 'EV_CONTEXTMENU' " Server Event Name(예 : EV_PRESS)
* I_USE_WAIT = 'X' " Waiting 사용여부('X' = 사용함, ' ' = 사용안함)
* IT_SCRIPT_SOURCE = " Client Event
* I_USE_PROPAGATION = 'X' " 이벤트 전파방지 사용여부('X' = 사용함)
* EXCEPTIONS
* NOT_SUPPORT_ELEMENT = 1 " attachBrowserEvent not supported UI.
* NOT_FOUND_UI = 2 " UI Instance not found.
* OTHERS = 3
.
ENDMETHOD.
1.4 EV_CONTEXTMENU 서버 이벤트 메소드 생성¶

<사진 2> EV_CONTEXTMENU 을 수행할 서버 이벤트 메소드 생성 화면
2. 마우스 우클릭 시 팝업 호출¶
o UI에서 마우스 우클릭 시 Responsive Popover가 호출되도록 구현
2.1 ABAP 소스 코드 예시¶
METHOD EV_CONTEXTMENU.
DATA LO_RESPONSIVEPOPOVER TYPE REF TO /U4A/CL_UO00415.
*--------------------------------------------------------------------*
LO_RESPONSIVEPOPOVER ?= ME->/U4A/IF_SERVER~AR_VIEW->GET_UI_INSTANCE(
I_ID = 'RESPONSIVEPOPOVER1' ).
CHECK LO_RESPONSIVEPOPOVER IS BOUND.
"RESPONSIVEPOPOVER OPEN.
LO_RESPONSIVEPOPOVER->OPENBY(
EXPORTING
OPARENT = 'BUTTON1' ). " oParent
ENDMETHOD.
3. 실행 화면¶

<사진 3> "BUTTON" UI 마우스 우클릭시 POPOVER 호출 화면