쌓고 쌓다
[ABAP] Screen 이동 (SET SCREEN, CALL SCREEN) 본문
먼저 다수의 Screen이 존재할때
Screen의 이동 방식에대해 이해해보자.
100 스크린에서 Enter를 입력하면
100번 스크린에서 PAI 모듈을 거치고
다음 스크린의 PBO로 이동한다.
위의 방식으로 스크린 이동이 이뤄진다.
Static Screen Sequences
Screen의 Attribute를 보면 Next Dynpro 속성이 있다.
이 속성은 현재 스크린에서 Enter를 입력한다면 이동하는 스크린이다.
Dynamic Screen Sequence
Run Time에 일시적으로
Static Screen Sequence에서 봤던 다음 스크린인
static Next Screen(Next Dynpro)을 덮어쓸 수 있는데
SET SCREEN 키워드를 사용한다.
스크린 이동 코드는 PAI에서 작성한다.
인풋을 처리하고 다음 스크린의 PBO 모듈을 실행해야하기 때문이다.
SET SCREEN 100.
LEAVE SCREEN.
은
LEAVE TO SCREEN 100.
으로도 사용이 가능하다.
Insert Screen Sequences
우리는 스택에 스크린을 추가할 수 있다.
스택에 추가한 스크린으로 이동했다가
다시 원래 스크린으로 돌아올 수 있다.
그림을 보며 이해해보자.
(1) : 100번 스크린에서 200번 스크린으로 이동
(2) : 200번 스크린에서 CALL SCREEN으로 300번 스크린으로 이동
이전에 스크린 이동 키워드인
SET SCREEN ~ LEAVE SCREEN과 달리
이때 CALL SCREEN은 스크린을 INSERT하여 잠시 갔다오는것이고
CALL SCREEN 이후의 코드 (4) 번 부분을 마저 실행한다.
(3) : 300번 스크린 기준으로 0번 스크린으로 이동하면
호출한 200번 스크린으로 돌아간다.
(4) : CALL SCREEN 이후의 코드들을 실행한다.
Calling a Dialog Box
모달 창을 호출해보자.
모달 창으로 쓰일 101번 스크린을 생성한다.
Dynpro Type에 Modal dialog box를 체크해주자.
100번 스크린에서 101번 스크린을 다음과 같이 호출하면 된다.
ENDING AT은 옵션이므로 STARTING AT은 필수라 꼭 써줘야한다.
LEFT_COL, UPPER_ROW는 좌상단 시작점
RIGHT_COL, LOWER_ROW는 우하단 종점이다.
'SAP > ABAP' 카테고리의 다른 글
[ABAP] Check Box, Radio Button (0) | 2025.01.13 |
---|---|
[ABAP] GUI TITLE, GUI STATUS (0) | 2025.01.12 |
[ABAP] Screen Element Attribute 변경, Screen System Table (0) | 2025.01.11 |
[ABAP] Module Pool, Screen Program (0) | 2025.01.09 |
[ABAP] Internal Table (INSERT, READ, MODIFY, DELETE, LOOP AT) (0) | 2025.01.08 |