-
[ABAP] Subscreen 생성하기ABAP 2024. 1. 23. 00:19
subscreen은 독립적인 화면으로, 특정 영역에 표시 할 수 있다.
subscreen을 사용하면 런타임에 하나의 화면 내에 다른 화면을 포함 시킬 수 있다.
각 고유한 이름, 위치, 길이 및 높이가 있으며 다른 subscreen 영역이나 다른 화면 요소와 겹치면 안된다!
subscreen 생성은 메인screen(Normal)이 존재한다는 전제 하에 크게 3단계로 나눌 수 있다.
- Subscreen 생성하기
- Screenpainter로 Subscreen영역 지정하기
- Subscreen 호출하기
Normal screen 100번에서
Radio button에 따라 Subscreen을 호출하는 실습을 해보자.1. Subscreen 생성하기
100번 하위 스크린은 주로 110, 120.. 이렇게 만든다.
se80에서
Screen Type Subscreen으로 설정해주고
layout에서 보여주고싶은 화면을 구성한다.
이와 같이 120번, 130번 화면도 생성한다.
2. Subscreen 영역 설정하기
normal screen인 100번 screen으로가서 > [layout]
왼쪽 하단에 subscreen element버튼 클릭 후
영역 지정해주고 이름을 SUB라고 해준다. 설정한 영역 더블 클릭해서
여기도 체크 해준다. 100번 스크린 화면의 크기가 달라질 때 서브스크린의 크기도 바뀔 수 있게 수정해주는 설정이다.
활성화 해준다.
3. Subscreen호출
100번 스크린의 flow logic에서 pbo 모듈과 pai 모듈을 호출한다.
노란색오르 밑줄친 부분을 작성해주면 된다.
CALL SUBSCREEN SUB INCLUDING SY-CPROG GV_DYNNR
- CALL SUBSCREEN: 이 부분은 현재 스크린 내에 서브스크린을 포함시키라는 명령문이다.
- INCLUDING sy-cprog gv_dynnr: 이 부분은 호출할 서브스크린이 포함된 프로그램과 서브스크린 번호를 지정한다.
- sy-cprog: 현재 실행 중인 프로그램의 이름을 나타내는 시스템 필드. sy-cprog를 사용하면 현재 프로그램의 이름을 동적으로 참조할 수 있다.
- gv_dynnr: 서브스크린 번호를 담고 있는 변수. 이 변수에 저장된 값은 서브스크린의 고유 번호를 나타내며, 해당 번호의 서브스크린을 호출하게 된다.
SET_SUBSCREEN을 O01에 작성해주면
이렇게 subscreen을 동적으로 할당할 수 있다 !
'ABAP' 카테고리의 다른 글
[ABAP] 라디오버튼 가로배치 + 에러 해결과정 (0) 2024.01.27 [ABAP] ALV CUSTOM CONTAINER (1) 2024.01.25 [ABAP] Executable Program vs Module Pool Program (0) 2024.01.18 [ABAP] Change Request + Package 생성하기 (0) 2023.12.29 [ABAP] TABLE 생성하기 (1) 2023.11.20