본문 바로가기

Programming/ABAP

Dialog Program - Module Pool

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

Report and Dialog Program

https://www.guru99.com/images/sap/2011/01/sap-dialog-programming.png

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