SAP ABAP EVENT 종류 및 흐름 순서 설명(아밥 이벤트)

SAP 시스템에서 비즈니스 애플리케이션을 만들기 위해 ABAP(Advanced Business Application Programming)이라는 SAP 전용 프로그래밍 언어를 사용하게 됩니다.

ABAP으로 가장 많이 개발하는 프로그램이 보고서(Report) 프로그램일 것입니다.

ABAP 개발자라면 보고서 프로그램의 이벤트 종류와 각 이벤트의 실행 흐름을 이해하고 있어야 합니다.

여기에서 말하는 보고서 프로그램은 ABAP 프로그램의 두 가지 타입(Type) 중에 Type-1 즉, “Report Program“, “Excutable Program“, “List Program“을 말합니다.

ABAP 프로그램의 유형에 대한 설명은 ABAP 프로그램의 Type(종류)에 대한 정의와 설명 글을 참고하시기 바랍니다.

이번 글에서는 보고서 프로그램에서 SAP ABAP EVENT 종류 및 흐름 순서 설명(아밥 이벤트)에 대해 기술해 보겠습니다.

SAP ABAP 기본 이벤트(중요 Event)

▶ SAP ABAP 보고서(Report) 프로그램에서 사용하는 기본 이벤트 입니다.

1. INITIALIZATION.
  • 선택 화면이 나타나기 전에 활성화 되는 이벤트입니다.
  • Parameter, Select-Options의 선택 화면의 필드에 초기 값을 세팅할 때 사용합니다.
  • 기타 프로그램 실행을 위한 초기 값을 세팅해 줄 때도 사용합니다.

2. AT SELECTION-SCREEN OUTPUT
  • 사용자가 버튼을 클릭하거나 엔터를 눌렀을 때 화면이 새로 고침 되는 과정에 활성화 되는 이벤트입니다.
  • 선택 화면의 Parameter, Selection-Options 등의 필드를 활성화 또는 비활성화 하거나 화면에 표시 또는 숨기기 등의 작업을 처리할 때 사용합니다.

3. AT SELECTION-SCREEN.
  • 선택 화면에서 사용자가 입력한 후에 활성화 되는 이벤트입니다.
  • 프로그램이 실행되기 전에 선택 필드의 값 유효성을 체크할 때 사용합니다.

4. START-OF-SELECTION.
  • 사용자가 선택 화면에서 실행을 시도할 때 한 번 활성화 되는 이벤트입니다.
  • ABAP Report 프로그램의 기본 이벤트이며, 프로그램에 이벤트를 하나도 지정하지 않으면 프로그램 전체가 START-OF-SELECTION 이벤트로 처리되어 실행됩니다.
  • 프로그램의 메인으로 실질적인 Logic을 구현하는 시작 부분입니다.
  • 프로그램 본문에 해당하며 START-OF-SELECTION 이벤트에서 데이터를 추출하고 표시하는 실질적인 로직이 구현됩니다.

5. END-OF-SELECTION.
  • START-OF-SELECTION 이벤트의 마지막 문이 실행된 후 활성화 되는 이벤트입니다.
  • 프로그램 본문에 대한 종료 처리를 위한 Logic이 구현됩니다.
  • 그다지 많이 사용하지는 않은 이벤트입니다.
  • 굳이 Logic을 구분하자면 START-OF-SELECTION에서 데이터를 추출하고 가공하는 작업을 처리하고, END-OF-SELECTION에서 최종 보고서를 Display 하는 용도로 로직을 구분해서 사용할 있습니다.

6. TOP-OF-PAGE.
  • 첫 번째 WRITE 문의 결과로 보고서의 새 페이지가 표시될 때 활성화 되는 이벤트입니다.
  • 보고서(Report)의 헤더(Header)를 표시할 때 사용합니다.

7. END-OF-PAGE.
  • 현재 페이지의 출력 라인을 초과해서 다음 페이지가 표시될 때 활성화 되는 이벤트입니다.
  • 페이지 번호와 같은 보고서의 바닥글을 지정할 때 사용합니다.

ABAP EVENT 흐름

▶ SAP ABAP 보고서 프로그램의 이벤트 실행 흐름은 다음과 같습니니다.

  • 1.INITIALIZATION → 2.AT SELECTION-SCREEN OUTPUT → 3.AT SELECTION-SCREEN → 4.START-OF-SELECTION → 5.END-OF-SELECTION.
  • TOP-OF-PAGE와 END-OF-PAGE는 WRITE 문의 처리되는 시점에 이벤트가 발생합니다.
SAP ABAP EVENT 종류 및 흐름 순서 설명(아밥 이벤트)

마무리

ABAP Report Program에서 사용되는 주요 이벤트에 대해 설명해 보았습니다.

참고로 ABAP Report 프로그램에서 필수적으로 반드시 사용해야 하는 이벤트는 존재하지 않습니다. 앞 단락에서 기술한 이벤트를 하나도 사용하지 않아도 프로그램은 정상적으로 실행이 됩니다. 아무런 이벤트가 선언되지 않으면 프로그램 전체가 START-OF-SELECTION 이벤트 블록으로 ABAP 런타임 환경에서 실행됩니다.

뿐만 아니라 앞 단락의 설명에서는 이벤트 별로 사용하는 목적을 별도로 기술했지만, 이것 또한 서로 다른 이벤트에서 Logic을 구현해서 사용해도 전혀 문제가 발생하지 않습니다.

ABAP 보고서 프로그램에서 사용되는 이벤트 종류와 흐름을 이해하는데 목적을 두고 학습하면 됩니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기