SAP ABAP에서 서브스크린에서의 화면 전환 처리 방법

1 year ago 5

SAP ABAP 개발에서 서브스크린(Subscreen)을 사용할 때, SET SCREEN 또는 LEAVE TO SCREEN 명령어를 호출하면 "SET SCREEN은(는) 하위 화면에서 허용되지 않습니다"라는 오류가 발생하는 경우가 있습니다. 이 글에서는 이 오류의 원인, 해결 방법, 그리고 프로그램 최초 실행 시 원하는 화면으로 이동하는 방법을 초보자도 이해할 수 있도록 상세히 설명합니다. 1. 서브스크린과 화면 전환의 제약사항 이해 1.1. 서브스크린이란? 서브스크린은 SAP Dynpro에서 메인 스크린의 일부로 포함되는 작은 화면입니다. 메인 스크린의 특정 영역에 삽입되어 사용자 인터페이스를 모듈화하고 재사용성을 높이는 데 사용됩니다. 예를 들어, 고객 정보 입력 화면에서 특정 탭이나 섹션을 서브스크린으로 구성할 수 있습니다. 서브스크린은 메인 스크린의 Flow Logic(PBO와 PAI)에 종속적으로 동작합니다. 따라서 서브스크린 자체에서 화면 전환 명령어(SET SCREEN, LEAVE TO SCREEN)를 직접 호출할 수 없습니다. 이는 SAP 시스템의 설계 원칙으로, 스크린 전환은 메인 스크린에서만 제어됩니다. 1.2. 오류의 원인 서브스크린의 PAI(Process After Input)에서 LEAVE TO SCREEN 0과 같은 명령어를 호출하면 다음과 같은 오류가 발생합니다: "SET SCREEN은(는) 하위 화면에서 허용되지 않습니다." 이는 서브스크린이 독립적인 화면이 아니라 메인 스크린의 일부로 동작하기 때문입니다. 화면 전환을 처리하려면 메인 스크린의 PAI에서 필요한 로직을 구현해야 합니다. 1.3. 해결 목표 이 글에서는 다음 두 가지 목표를 달성하는 방법을 설명합니다: 프로그램 최초 실행 시 특정 화면으로 이동: 프로그램 시작 시 원하는 초기 화면(예: 메인 스크린)을 호출합니다. 서브스크린에서 '취소' 버튼 클릭 시 초기 화면으로 이동: 서브스크린의 사용자 입력(예: CANC 액션)을 메인 스크린으로 전달하여 LEAVE TO SCREEN 0을 호출합니다. 2. 해결 방법 개요 서브스크린에서 화면 전환을 처리하려면 다음과 같은 단계를 따릅니다: 프로그램 초기화: START-OF-SELECTION 이벤트에서 CALL SCREEN을 사용하여 초기 화면을 호출합니다. 서브스크린과 메인 스크린 통신: 서브스크린의 PAI에서 사용자 입력(예: CANC)을 전역 변수(예: gv_ok_code 또...

Read Entire Article