✅ Introduction to Screen Programming
📍 Programming Model 개요
- 스크린 프로그래밍(Screen Programming)은 SAP에서 하나의 화면(Input Screen)을 통해 데이터 입력, 생성, 수정, 삭제, 조회 등을 처리할 수 있는 프로그램 모델이다.
➡️ Single-Screen Transaction이란?
- 입력 화면과 데이터 화면이 하나의 창(Window)에 결합되어 있는 모델.
- 사용자 입력에 따라 Create(생성), Change(수정), Display(조회) 간 빠르게 전환 가능.
- 저장 후에도 입력된 상태를 유지한다.
📍 Report 프로그램 vs Screen 프로그램 비교
Report 프로그램 Screen 프로그램
데이터를 조회하고 결과 리스트를 보여주는 프로그램 | 데이터 생성, 수정, 삭제를 처리하는 프로그램 |
결과 리스트만 표시하고, 데이터 생성/수정/삭제 기능은 없음 | 화면에 입력 필드를 제공하여 데이터 입력 및 관리 가능 |
데이터 입력은 프로그램 실행 시 외부 입력으로 처리 | 화면에서 바로 데이터 입력 및 처리 가능 |
➡️ 스크린 프로그램(Screen Program)은 SAP의 트랜잭션 프로그램에서 자주 사용되며, 입력 필드와 데이터 화면이 결합된 형태로 사용자 친화적인 인터페이스를 제공한다.
✅ Screen Program의 주요 기능
1️⃣ Input Screen and Data Screen Combined
- 입력 화면과 데이터 화면이 한 창에 결합되어 있어, 사용자가 하나의 창에서 입력 및 데이터 확인 가능.
2️⃣ Switch Between Create, Change, and Display
- 사용자는 생성(Create), 수정(Change), 조회(Display) 간에 빠르게 전환할 수 있다.
3️⃣ Direct Access to Each Object
- 프로그램은 개별 데이터 객체에 직접 접근하여 데이터를 읽고 수정할 수 있다.
4️⃣ System Retains Context After Saving
- 데이터를 저장한 후에도 시스템이 이전 입력 상태를 유지하여, 사용자 입력이 사라지지 않고 유지된다.
📍 스크린 프로그램의 장점
- 데이터 디스플레이 및 입력을 하나의 화면에서 처리 가능.
- 데이터 생성, 수정, 삭제를 화면에서 바로 수행할 수 있다.
- 다이얼로그(Dialogue) 형태로, 특정 데이터에 대한 확인 메시지 및 알림을 화면에 표시할 수 있다.
- 트랜잭션(Transaction)을 처리하는 프로그램으로, SAP 시스템의 핵심 기능 중 하나이다.
📍 스크린 프로그램의 사용 사례
- 고객 정보 관리(Customer Management)
- 제품 주문(Order Management)
- 재고 관리(Inventory Management)
스크린 프로그램은 하나의 화면에 입력 필드, 버튼, 메뉴 등을 조합하여 다양한 데이터 관리 기능을 제공한다.
💡 Tip:
- Report 프로그램은 데이터 조회에 중점을 두고, Screen 프로그램은 데이터 관리(입력, 수정, 삭제)에 중점을 둔다.
- SAP 시스템의 트랜잭션 프로그램 대부분은 스크린 프로그램을 기반으로 동작한다.
📘 ABAP Program Types
✅ ABAP 프로그램 유형 개요
ABAP에서는 여러 유형의 프로그램 타입이 존재하며, 각 프로그램 타입은 특정 목적에 따라 사용된다.
프로그램 유형에 따라 스크린(Screen)을 포함할 수 있는지 여부가 결정되며, 입력 화면 및 데이터 관리 기능을 제공할 수 있다.
📍 ABAP 프로그램 유형 및 설명
Program Type Type Code 설명 스크린 사용 가능 여부
Executable Program | Type 1 | Report Program으로, 데이터 조회에 사용. | ✅ (스크린 있음) |
Module Pool Program | Type M | Screen Program으로, 데이터 입력/관리에 사용. | ✅ (스크린 있음) |
Function Group | Type F | Function Module을 관리하는 그룹. | ✅ (스크린 있음) |
Interface Pool | Type J | 인터페이스 정의에 사용. | ❌ (스크린 없음) |
Class Pool | Type K | 클래스 정의 및 객체 지향 프로그래밍(OOP)에 사용. | ❌ (스크린 없음) |
Include Program | Type I | 코드 재사용을 위한 서브 프로그램. | ❌ (스크린 없음) |
✅ 스크린을 가질 수 있는 프로그램 타입
스크린(Screen)을 가질 수 있는 프로그램 타입은 다음과 같다.
1️⃣ Module Pool Program (Type M)
- Screen Program으로, 사용자 입력을 받을 수 있는 입력 화면을 제공한다.
- 트랜잭션 코드(Transaction Code)를 통해 실행된다.
2️⃣ Executable Program (Type 1)
- 기본적으로 Report Program이지만, 다이얼로그(Screen)을 추가하면 스크린을 포함할 수 있다.
- 주로 데이터 조회에 사용되지만, 스크린 확장을 통해 입력 기능을 추가할 수 있다.
3️⃣ Function Group (Type F)
- Function Module을 관리하는 그룹이며, 스크린(Screen)을 포함할 수 있다.
- Function Module 내에서 스크린을 사용하여 데이터 입력 및 관리 기능을 제공한다.
💡 Tip:
- Executable Program, Module Pool Program, Function Group 모두 스크린(Screen)을 포함할 수 있다.
- Function Group은 Function Module 내에서 스크린을 활용하여 다이얼로그 기능을 구현할 수 있다.
- Include Program은 코드 재사용을 위한 프로그램으로, 별도의 실행 파일이 아니며 스크린을 포함할 수 없다.
📘 Program Organization in Screen Programming
✅ 스크린 프로그램 구조 이해
스크린 프로그램을 구성할 때 프로그램 이름과 모듈 구조를 잘 이해해야 한다.
1️⃣ 스크린 프로그램의 이름은 sapmz 또는 sapmy로 시작해야 한다.
- SAP 표준 프로그램과의 혼동을 피하기 위해 사용자 정의 프로그램은 반드시 sapmz 또는 sapmy로 시작한다.
2️⃣ TOP Include 체크
- 프로그램 생성 시 "With TOP INCL." 체크를 해야 한다.
- TOP Include는 글로벌 데이터(Global Declarations)를 선언하기 위한 파일이다.
✅ 스크린 프로그램의 주요 모듈
스크린 프로그램은 다양한 모듈(Modules)로 구성되어 있으며, 각 모듈의 역할은 다음과 같다.
모듈 이름 설명
MZDEMO_TOP | Global Declarations (글로벌 변수 선언) |
MZDEMO_E01 | Event 모듈 (이벤트 처리 루틴) |
MZDEMO_F01 | Form Routines (서브 루틴) |
MZDEMO_I01 | PAI Module (Process After Input - 입력 처리) |
MZDEMO_O01 | PBO Module (Process Before Output - 출력 처리) |
📍 모듈 설명
1️⃣ Global Declarations (MZDEMO_TOP)
- 프로그램의 전역 변수(Global Variables) 및 전역 데이터를 선언하는 모듈.
2️⃣ Events (MZDEMO_E01)
- 사용자의 이벤트(버튼 클릭, 입력 등)을 처리하는 이벤트 루틴을 정의.
3️⃣ Form Routines (MZDEMO_F01)
- 반복적으로 사용되는 서브 루틴을 정의.
- 프로그램 내에서 다양한 작업을 처리하기 위해 사용.
4️⃣ PAI Module (MZDEMO_I01)
- Process After Input (PAI)는 사용자 입력 후 처리되는 로직을 정의.
- 입력된 데이터가 유효한지 검증하거나 데이터베이스와 상호작용할 때 사용.
5️⃣ PBO Module (MZDEMO_O01)
- Process Before Output (PBO)는 화면 출력 전에 실행되는 로직을 정의.
- 화면에 표시할 데이터를 가져와서 출력하거나 UI 요소를 설정할 때 사용.
✅ 스크린 프로그램에서 사용되는 Include Program 이름 규칙
스크린 프로그램에서 사용되는 Include Program의 이름은 다음과 같은 규칙을 따른다.
- 스크린 프로그램명에서 'SAP'를 제외한 이름으로 Include Program을 생성해야 한다.
- 예를 들어, 스크린 프로그램명이 SAPMZSCREEN_F15라면 TOP Include 프로그램명은 MZSCREEN_F15TOP이 되어야 한다.
➡️ 예시:
스크린 프로그램 이름 Include Program 이름
SAPMZSCREEN_F15 | MZSCREEN_F15TOP |
SAPMYCUSTOM_PROG | MYCUSTOM_PROGTOP |
SAPMZDEMO_01 | MZDEMO_01TOP |
💡 Tip:
- Include Program은 코드의 재사용성과 유지보수성을 높이기 위해 사용된다.
- Include Program의 이름은 항상 스크린 프로그램명에서 'SAP'를 제외한 형태로 작성해야 한다.
- PAI (Process After Input)와 PBO (Process Before Output)는 스크린 프로그램에서 가장 중요한 모듈이다.✅ Introduction to Screen Programming
이 네 개의 Internal Tables를 가지고 exercise를 하게 될 것이다.
'SAP ABAP > Screen Program' 카테고리의 다른 글
ABAP Screen Program 소개 | PBO, PAI, Screen Elements, 스크린 프로그램 (0) | 2025.01.13 |
---|