콘텐츠로 이동

ATTACH_LANDSCAPE

목적

Application 화면 회전 시 발생하는 이벤트를 설정하고 처리하는 방법을 설명한다.

PC, Mobile, Tablet 환경에서 모두 사용 가능하다.


주요 단계

1. Application 화면 회전 이벤트 설정

1.1 화면 회전 이벤트를 설정하기 위한 UI Object 및 Event 생성

  • 화면 회전 이벤트를 처리할 UI Object(Button 등) 생성
  • 해당 UI에 Event를 등록한다.

이미지

<사진 1> 화면 회전 이벤트 설정을 위한 UI Object와 Event 생성 화면


2. Application 실행 시 화면 회전 이벤트 등록

  • ATTACH_LANDSCAPE Method를 통해 화면 회전 이벤트를 설정한다.

2.1 ABAP Source Code 예시 (/U4A/IF_SERVER~HANDL_ON_INIT)

METHOD /U4A/IF_SERVER~HANDL_ON_INIT.

  " 화면 회전 시 이벤트 설정
  CALL METHOD /U4A/CL_UTILITIES=>ATTACH_LANDSCAPE
    EXPORTING
      IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW   " [U4A] UI Element Super Class
*     IT_CEVT =                              " Client Event Script
      I_SEVT  = 'EV_ATTACH_LANDSCAPE'        " Server Event Name
*     I_WAIT_OFF =                           " 'X' = wait off

ENDMETHOD.

3. 화면 회전 이벤트 처리

3.1 가로/세로 회전 시 메시지 호출

회전 방향에 따라 다음 메시지를 출력한다.

  • 세로 → 가로 : "Landscape Mode"
  • 가로 → 세로 : "Portrait Mode"

3.2 ABAP Source Code 예시 (EV_ATTACH_LANDSCAPE)

METHOD EV_ATTACH_LANDSCAPE.

  DATA LV_MSG  TYPE STRING.
  DATA LS_FORM TYPE IHTTPNVP.

*--------------------------------------------------------------------*

  READ TABLE IT_FORM_DATA INTO LS_FORM WITH KEY NAME = 'landscape'.
  CHECK SY-SUBRC EQ 0.

  " 화면 회전에 따른 메시지 설정
  CASE LS_FORM-VALUE.

    WHEN ABAP_TRUE.     " 세로 -> 가로 회전
      LV_MSG = 'Landscape Mode'.

    WHEN ABAP_FALSE.    " 가로 -> 세로 회전
      LV_MSG = 'Portrait Mode'.

  ENDCASE.

  " 메시지 호출
  CALL METHOD /U4A/CL_UTILITIES=>M_MESSAGETOAST
    EXPORTING
      IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW   " [U4A] UI Element Super Class
      I_MSGTX = LV_MSG.

ENDMETHOD.

4. Application 실행 결과

4.1 Mobile 기기 세로 → 가로 회전

  • 세로 → 가로 회전 시 "Landscape Mode" 메시지 호출

이미지

<사진 2> 모바일 화면 세로 → 가로 회전 시 동작 화면


4.2 Mobile 기기 가로 → 세로 회전

  • 가로 → 세로 회전 시 "Portrait Mode" 메시지 호출

이미지

<사진 3> 모바일 화면 가로 → 세로 회전 시 동작 화면


추가 정보

ATTACH_LANDSCAPE_JQUERY

  • ATTACH_LANDSCAPE가 동작하지 않는 환경에서 사용
  • 사용 방법은 기존 ATTACH_LANDSCAPE와 동일하다.