ABAP 에서는 여러 Program Type이 존재하지만 그 중 가장 많이 사용하는 Program Type 으로는

Module Pool Program ( Type M )과  Executable Program ( Type 1 ) 2가지가 있다.

 

2가지 프로그램 Type에 대해 비교해 보도록 하자.


Module Pool Program

  • 생성/수정/삭제/조회 의 목적으로 사용
  • Transaction Code 생성 후 실행가능 
  • 프로그램 실행시 T-Code 에 입력된 시작 스크린을 호출
  • 타 프로그램에서 호출 시 Call Transaction 구문으로 호출 가능
  • 모든 스크린은 스크린 페인터를 통해 구현
  • 프로그램 Flow 는 T-Code 에 입력된 첫 스크린을 시작으로 다수의 스크린들이 순차적으로 호출되며 진행
  • 'PROGRAM + 프로그램명' 구문을 시작으로 프로그램을 작성
  • Module Pool 프로그램의 Naming 은 앞에 'SAPM'로 시작 ( SAP에서 권장 )

 

< 표준 Modupool Program의 예 - 오더생성 첫 화면 ( T-Code 'VA01' ) >
< 표준 Modupool Program의 예 - 오더생성 next 화면 ( T-Code 'VA01' ) >

 

표준 프로그램에서 구현된 화면처럼 일반적으로 Module Pool 은 

데이터 생성시 필요한 Key 데이터를 첫 화면에서 입력 받고

다음 상세화면으로 필요한 Detail한 정보를 Key-in 하는 형태로 구현되어져 있다.  

 

 

Executable Program

  • 조회 목적으로 사용.  Report Program/List Program 이라고도 함
  • 조회가 목적이므로 조회 조건을 입력하는 Selection Screen 이 존재
  • 프로그램 실행시 Selection Screen 존재시 '1000' 스크린을 자동으로 호출 
  • T-Code 생성없이 ABAP EDITOR 내에서 바로 프로그램 실행 가능 
  • 프로그램 Flow 는 EVENT BLOCK Processing이라 하여 각 Event Block 순서대로 진행
  • 타 프로그램에서 호출 시 SUBMIT 구문을 사용하여 T-Code 생성 없이도 실행 가능
  • 'REPORT + 프로그램명 ' 구문을 시작으로 프로그램 작성 

< 표준 Excutable Program의 예 - 오더 조회 화면 ( T-Code 'VA05' ) >
< 표준 Excutable Program의 예 - 오더 결과 화면 ( T-Code 'VA05' ) >

표준 프로그램에서 구현된 화면에서 보듯이 Executable Program 은

원하는 데이터를 조회하기 위해 필요한 조회조건을 입력할 수 있는 조회화면과

그 결과를 보여주는 결과 List( ALV ) 화면으로 구현되어져 있다.


과거에는 프로그램의 기능에 따라( 단순 조회성 인지에 따라 ) Type-1과 Type-M 으로 구분하여

개발하였지만 현재는 구현 범위에 있어 두 프로그램 타입 간의 큰 차이는 없기 때문에

크게 구분을 두지 않고 개발을 하고 있다. 

 

Excutable Program이 Selection Screen에 대한 구현이 쉽고 바로 실행할 수 있는 등 개발 편의상 

여러 장점이 있어 Module Pool Program 보다 더 선호되어 개발되어 진다.

+ Recent posts