Selection Screen과 이벤트 처리 흐름

SAP에서는 프로그램을 실행하면 일정한 흐름(이벤트 순서)으로 코드가 실행된다.


🧭 이벤트 흐름 요약 (간단 다이어그램)

  1. 프로그램 시작
  2. INITIALIZATION
    → Selection Screen 필드의 초기값 지정
  3. SELECTION-SCREEN
    → 선택화면 정의 & 사용자에게 표시됨
  4. 사용자가 값 입력 후 실행 (F8) 클릭
  5. AT SELECTION-SCREEN
    → 사용자가 입력한 값 검증
  6. START-OF-SELECTION
    → 실제 데이터 처리 로직 실행
  7. END-OF-SELECTION (선택)
    리스트 출력 전 마무리 작업
  8. 리스트 출력 (결과 출력)

🎯 주요 이벤트 정리


이벤트 역할
INITIALIZATION 화면에 기본으로 표시될 초기값 지정
AT SELECTION-SCREEN 사용자가 입력한 값 검증
→ 오류가 있으면 메시지 띄우고 다시 입력받음
START-OF-SELECTION 본격적인 데이터 처리 로직 시작
END-OF-SELECTION 출력 전에 마무리 작업
AT LINE-SELECTION 리스트 출력 후, 라인 더블 클릭 시 실행

 

🧑‍💻 코드 흐름 예시

REPORT z_example.

PARAMETERS: p_name TYPE string.

INITIALIZATION.
  p_name = '홍길동'.

AT SELECTION-SCREEN.
  IF p_name IS INITIAL.
    MESSAGE '이름을 입력해주세요.' TYPE 'E'.
  ENDIF.

START-OF-SELECTION.
  WRITE: / '입력한 이름:', p_name.

실행 흐름:

  1. INITIALIZATION → p_name에 '홍길동' 자동 입력됨
  2. Selection Screen 표시됨
  3. 사용자가 값을 입력하고 실행
  4. AT SELECTION-SCREEN → 값 검증
  5. START-OF-SELECTION → 값 출력

🔄  Descriptions.

  • SAP 시스템이 프로그램을 실행할 때 자동으로 특정 이벤트 블록을 호출
  • 각 블록에 맞게 코드를 작성하면 자동 실행 흐름에 맞춰 실행
  • Selection Screen은 PARAMETERS나 SELECT-OPTIONS로 선언하고,
    사용자 입력 검사는 AT SELECTION-SCREEN에서 수행함
  • 잘못된 값이 입력되면, 에러 메시지 후 다시 입력화면이 보여짐

📝 정리

 

개념 설명
Selection Screen 사용자에게 입력 받는 UI 화면
이벤트 블록 프로그램 흐름을 단계별로 나누는 구조
주요 블록 INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION 등
리스트 출력 후 인터랙션 AT LINE-SELECTION 등으로 후속 동작 처리 가능

 

이렇게만 정리해도 약간 헷갈린다.

 

✅ 1. Selection Screen이란?

📌 "사용자로부터 입력을 받는 화면"을 의미함

ABAP 프로그램을 만들다 보면, 사용자가 직접 검색 조건, 날짜, 이름, 코드 같은 데이터를 입력할 때, 사용하는 게 바로 **Selection Screen (선택 화면)**!

✅ 2. 그럼 이벤트(Event)는 뭘까?

**이벤트(Event)**는 ABAP 프로그램 실행 시, 특정한 시점에서 자동으로 호출되는 코드 블록.

SAP 시스템은 프로그램을 실행하면서, 정해진 순서대로 특정 이벤트 블록들을 자동으로 실행해줌!

+ Recent posts