📌 ABAP Report Program Flow (표준 실행 흐름)
1. Program Start
2. INITIALIZATION
3. AT SELECTION-SCREEN
4. START-OF-SELECTION
5. Data Retrieval (e.g. SELECT)
6. Processing Entries (LOOP / IF / grouping etc.)
7. List Output (WRITE, ALV, etc.)
✅ 1. Start (프로그램 시작)
- 프로그램이 실행되면 전역 변수들이 메모리에 로드됨
✅ 2. INITIALIZATION
- Selection screen이 나타나기 전에 실행됨
- 여기에서 selection screen의 초기값을 설정할 수 있음
INITIALIZATION.
p_date = sy-datum.
✅ 3. AT SELECTION-SCREEN
- 사용자가 화면에서 값을 입력하고 실행했을 때,
- 입력값을 검증하고 조건을 체크하는 곳
AT SELECTION-SCREEN.
IF p_date < sy-datum.
MESSAGE '오늘 이후 날짜를 입력하세요' TYPE 'E'.
ENDIF.
✅ 4. START-OF-SELECTION
- 여기서부터 메인 프로그램 로직이 시작됨
- SELECT 문이나 LOOP, 데이터 처리 시작 위치
START-OF-SELECTION.
SELECT * FROM zemployees INTO TABLE it_emp
WHERE dept = p_dept.
✅ 5. READ AN ENTRY (데이터 1건씩 읽기)
- SELECT 또는 LOOP AT를 통해 데이터 한 줄씩 처리
LOOP AT it_emp INTO wa_emp.
WRITE: / wa_emp-name, wa_emp-salary.
ENDLOOP.
✅ 6. PROCESS AN ENTRY (데이터 처리)
- 예를 들어 계산, 필터링, 그룹핑 등
- 데이터를 한 줄씩 읽고 필요한 가공 로직 수행
IF wa_emp-salary > 5000.
wa_emp-bonus = wa_emp-salary * 0.1.
ENDIF.
✅ 7. GROUP PROCESSING (필요한 경우)
- 여러 건을 묶어서 집계 처리할 수도 있음
- AT NEW, AT END OF 등의 그룹 제어문 사용 가능
LOOP AT it_emp INTO wa_emp.
AT NEW dept.
WRITE: / '부서:', wa_emp-dept.
ENDAT.
WRITE: / wa_emp-name.
AT END OF dept.
WRITE: / '---- 부서 종료 ----'.
ENDAT.
ENDLOOP.
8. List Output (결과 출력)
- WRITE, ALV, CL_GUI... 등을 이용한 출력
- 기본 WRITE는 바로 화면에 출력
[Start]
↓
[INITIALIZATION] → selection screen에 초기값
↓
[SELECTION SCREEN 표시됨 → 사용자 입력]
↓
[AT SELECTION-SCREEN] → 사용자 입력 검증
↓
[START-OF-SELECTION] → 핵심 처리 시작
↓
[SELECT / LOOP] → 데이터 조회 및 처리
↓
[WRITE / ALV] → 결과 출력
↓
[End]
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 52 Selection Screen (0) | 2025.04.12 |
---|---|
SAP ABAP Programming for Beginners - 51 Events (0) | 2025.04.12 |
SAP ABAP Programming for Beginners - 49 Exit (0) | 2025.04.12 |
SAPSAP ABAP Programming for Beginners - 48 Check (0) | 2025.04.12 |
SAP ABAP Programming for Beginners - 47 Continue (0) | 2025.04.12 |