SAP-ABAP에는 Report Program 과 Dialog Program, 두 가지 프로그램 타입이 존재한다.
Report and Dialog Program

Report Program:
일반적으로 데이터베이스를 변경하지 않고 데이터베이스 테이블의 데이터를 읽고 분석하는 프로그램
Dialog Program:
시스템과 대화형으로 작업하고 데이터베이스 테이블의 내용을 변경하는 프로그램
Dialog Program 특징
- ABAP 프로그램에 사용자 입력(input)이 요구 되는 경우, Dialog programming이 사용된다.
- screen 이동이 필요할 때도 사용된다.
- ‘M’ Type 으로 생성된다 – Module Pool
- 독립적으로 실행할 수 없다.
- 초기 화면을 설정하는 하나 이상의 트랜잭션 코드를 생성해야한다.
- 모든 object는 main program에 계층적으로 연결되어 있으며, Dialog Main Program이 지정한 순서대로 실행된다.
Dialog Program 구성 요소
Transaction code
- transaction code는 screen sequence를 시작한다.
- CALL SCREEN 문을 사용해 모든 ABAP program에서 screen sequence를 시작할 수 있다.
Screens
- 각 dialog는 하나 이상의 화면으로 제어된다.
- 각 화면은 ABAP 프로그램에 속합니다.
- layout 과 flow logic 으로 구성되어 있다.flow logic - 화면 내의 logical processing 을 결정
- layout - input/output fields, checkboxes, radio buttons 와 같은 화면 요소 위치 결정
GUI status
- 각각의 screen에는 program의 독립적인 component인 GUI status가 있다.
- menu bars, standard toolbar, application toolbar 등을 관리하는데 사용된다.
ABAP Program
- ABAP program에는 screen flow logic에 의해 호출되는 dialog modules이 포함되어 있으며, GUI status의 사용자 입력(input)도 처리한다.
- screens을 사용하는 ABAP program을 dialog programs이라고 하기도 한다.
- module pool program(type M)에서 가장 먼저 호출되는 처리 블록(processing block)은 항상 dialog module이다. 그러나, executable programs 이나 function modules 같은 다른 ABAP Program에서도 화면을 사용하게 될 수 있다. 이런 경우, 가장 먼저 호출되는 처리 블록은 runtime environment 이나 a procedure call 같은 다른 방식으로 호출된다. 이후 screen sequence는 CALL SCREEN 문을 이용해 시작 된다.
Screen Flow Logic
- Process Before Output (PBO) event: 화면이 표시되기 전에 처리된다.
- Process After Input (PAI) event: 화면에서 사용자 액션이 발생한 후 처리된다.
- Process on help request (POH): F1 키를 눌렀을 때 처리된다.
- Process on value request (POV): F4를 눌렀을 때 처리된다.
Dynpro
- Flow logic과 screen을 Dynpro 라고 한다.(screen flow logic이 프로그램 흐름에 영향을 미치므로 "Dynamic Program"이라고 함)
- 각각의 dynpro는 Dialog Program의 한 단계를 정확히 제어한다.
- 프로그램에 속한 screen은 번호가 매겨진다.
- The screen flow sequence는 선형(linear) 또는 주기적(cyclic)일 수 있다.
ABAP Module Pool
- PBO 또는 PAI 이벤트에서 Dynpro는 ABAP dialog program을 호출한다. 이러한 프로그램의 모음을 ABAP module pool이라고 한다.
- 하나의 transaction 내에서 호출되는 모든 dynpro는 공통(common) module pool을 참조한다.
728x90
'Programming > ABAP' 카테고리의 다른 글
Message, Message Classe (0) | 2023.08.23 |
---|---|
SAP Memory/ ABAP Memory (0) | 2023.08.22 |
CALL TRANSACTION/ LEAVE TO TRANSACTION (0) | 2023.08.14 |
ABAP Report Program - Event block (0) | 2023.08.11 |
ABAP Report Program - Selection Screen (0) | 2023.08.10 |