콘텐츠로 이동

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> 다른 입력란에 포커스를 주어도 메시지가 호출되지 않음