CS Student’s SAP&Tech Journey✨
[SAP] ABAP 팝업 창과 커서 설정 - CALL SCREEN과 SET CURSOR 활용하기 본문
SAP GUI에서 사용자 경험을 향상시키기 위해 팝업 창을 띄우는 방법과 커서 위치를 설정하는 방법을 알아보겠습니다. 팝업 창을 활용하면 사용자에게 중요한 정보를 전달하거나 입력을 유도할 수 있으며, 커서 설정을 통해 사용자의 입력 편의성을 높일 수 있습니다.
이번 포스팅에서는 CALL SCREEN을 활용한 팝업 창 구현과 SET CURSOR을 이용한 커서 설정 방법을 단계별 예제와 함께 설명하겠습니다.
📌필독
이번 포스팅의 예제는 아래 포스팅들과 이어집니다. ⬇️
1️⃣ ABAP 화면 동적 제어 - MODIFY SCREEN 활용하기
2️⃣ ABAP 화면 전환 - Next Screen과 SET SCREEN 방식의 차이
1. 커서 설정 - SET CURSOR
사용자가 화면에 진입했을 때, 특정 입력 필드에 자동으로 커서를 위치시키려면 SET CURSOR를 사용합니다. 이 기능을 활용하면 사용자가 바로 입력해야 할 필드를 강조할 수 있어 편리합니다.
SET CURSOR
FIELD '스트럭처-필드'.
✅ 항공사 상세정보 조회 예제를 확장한 커서 설정 예제
화면이 켜지면 항공사 코드(CARRID)가 LH(Lufthansa)로 자동 입력되고, 커서는 Flight Number(CONNID) 필드에 위치하도록 설정해 보겠습니다.
1️⃣ 로직 설정
SCREEN
PROCESS BEFORE OUTPUT.
MODULE SET_CURSOR. "커서 설정을 위한 모듈
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
XXXXXO01 (PBO)
MODULE set_cursor OUTPUT.
SET CURSOR
FIELD 'SDYN_CONN-CONNID'.
ENDMODULE.
2️⃣ T코드를 통해 확인
✔️ 결과: 화면이 로드되자마자 LH가 자동 입력되고, 커서는 Flight Number 입력 필드에서 깜빡거립니다.
2. 팝업 창 구현 - CALL SCREEN 활용
SAP ABAP에서는 CALL SCREEN을 사용하여 팝업 창을 동적으로 띄울 수 있습니다. 팝업 창은 기존 화면을 유지한 채, 추가 정보를 제공하거나 특정 입력을 받을 때 유용합니다.
📌 팝업 창의 Screen Type
SAP 화면(Screen)에는 다양한 타입이 존재하며, 팝업 창을 구현할 때는 Modal Dialog Box를 사용합니다.
Screen Type | 설명 |
Normal | 일반 화면 (주 화면) |
Subscreen | 서브스크린 (메인 화면 내 포함됨) |
Modal Dialog Box | 팝업 창 |
✅항공사 상세정보 조회 예제를 확장한 팝업 창 띄우기 예제
이번 예제에서는 메인 화면(100)에서 'T' 입력 시 현재 시간을 팝업 창(110)으로 띄우고, 엔터를 누르면 팝업이 닫히도록 구현하겠습니다.
1️⃣ 부모 화면(100)에 팝업 창(110) 생성 - Screen
✔️ 팝업 화면(110)
Screen Number: 110
Screen Type: Modal dialog box 선택 (팝업창)
Next Dynpro: 0 (이전 화면인 부모 화면 100으로 회귀)
2️⃣ 팝업창(110) 레이아웃에서 현재 시간 표시
✔️ 키워드 SYST 사용
현재 시간: sy-uzeit
3️⃣ 100번 화면에서 'T' 입력 시 팝업 호출 로직 설정
SCREEN 100
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
XXXXXI01(PAI)
MODULE user_command_0100 INPUT.
" 입력값 2개 (항공사 코드, 항공편)으로 테이블 검색해서 값 넣어주기
SELECT SINGLE *
FROM SPFLI
INTO CORRESPONDING FIELDS OF SDYN_CONN
WHERE CARRID = SDYN_CONN-CARRID
AND CONNID = SDYN_CONN-CONNID.
CASE GV_MODE.
WHEN 'U' OR 'D'.
LEAVE TO SCREEN 200.
WHEN 'X'.
LEAVE PROGRAM.
WHEN 'T'. "현재 시간을 팝업창에 표시"
CALL SCREEN 110 STARTING AT 6 2.
ENDCASE.
ENDMODULE.
📌 팝업 위치 설정 문법
CALL SCREEN 110 STARTING AT LC UR.
- LC 6 UR 2 → 왼쪽에서 6자, 위에서 2자 위치에 팝업 표시
- 단위는 CHAR 기준
4️⃣ T코드를 통해 확인
3. 필드 값을 필수 값으로 설정하기
✔️ Screen Layout - Attributes의 Input Field - Required 선택
'SAP > GUI' 카테고리의 다른 글
[SAP] ABAP GUI 구성 요소 활용 - 아이콘, Group Box, Drop Down, Push Button, 입력 검증 및 오류 처리 (0) | 2025.03.18 |
---|---|
[SAP] ABAP GUI Status Bar와 Title Bar 설정하기 / OK_CODE 로직 (0) | 2025.03.14 |