ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ABAP] Subscreen 생성하기
    ABAP 2024. 1. 23. 00:19

    subscreen은 독립적인 화면으로, 특정 영역에 표시 할 수 있다.

    subscreen을 사용하면 런타임에 하나의 화면 내에 다른 화면을 포함 시킬 수 있다.

    각 고유한 이름, 위치, 길이 및 높이가 있으며 다른 subscreen 영역이나 다른 화면 요소와 겹치면 안된다!

     

    subscreen 생성은 메인screen(Normal)이 존재한다는 전제 하에  크게 3단계로 나눌 수 있다.

     

    1. Subscreen 생성하기
    2. Screenpainter로 Subscreen영역 지정하기
    3. 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을 동적으로 할당할 수 있다 ! 

Designed by Tistory.