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_LANDSCAPEMethod를 통해 화면 회전 이벤트를 설정한다.
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와 동일하다.