본문 바로가기

SAP/ABAP

#7. Module pool

SE80에서 모듈풀 생성하기 

TYPE I 프로그램과 다르게 Selection Screen이 없어서 조회보다는 CRUD 생성, 수정 삭제 목적으로 만드는 프로그램

프로그램명은 SAPM ~으로 시작

Create with TOP Include에 체크해주고 다음

TOP 인클루드 설정할 땐 SAP를 빼고 M부터 시작하는 이름 붙임 ( _는 안 붙임)

INCLUDE 주석 해제해서 생성해줌

모듈풀에서 가장 먼저 할 일은 SCREEN 생성하기

이때 Editing 속성을  200 / 255 최대 사이즈로 설정할 수 있음

OK_CODE는 화면 눌렀을 때 펑션 코드가 있으면 받아와서 변수에 저장할 수 있도록 설정해줌

TOP에 변수로 선언해줘야 함 (SY-UCOMM)

* PBO (Process Before Output)

- 화면이 보여지기 전 실행되는 로직으로,

- executable program의 AT SELECTION SCREEN OUTPUT과 기능이 동일함

- 화면 제목, 데이터 보여주기, 입력 필드 제어 담당 등

- MODULE 적는 순서 상관 없음

 

* PAI (Process After Input)

- 화면이 보여지고 나서 버튼 누르거나 스크린의 변화를 보여줘야 할 때 실행되는 로직으로,

- executable program의 AT SELECTION SCREEN 과 기능이 동일함

- PBO의 status 로직 (USER COMMAND), 입력값 점검 등

- MODULE 순서 상관 있음

1) AT EXIT COMMAND (프로그램 중단 후 새롭게 화면 그리기 때문)

2) 입력값 점검 ON REQUEST (DB에서 데이터 다시 불러오지 않도록 하기 위함)

3) USER COMMAND

레이아웃 종류와 레이아웃 설정할 수 있는 창

search help 연결, parameter ID 설정해서 GET SET Parameter 연결, Input only, Output only 등등 설정 할 수 있음

 

화면의 요소(Elements) 이름 ≠ 전역변수 값

TOP에 따로 선언한 변수의 이름과 같으면 PAI가 실행되면서 화면에 값을 전달하는 것 

따라서 PBO에서 MOVE-CORRESPONDING 등으로 화면에 값을 전달하는 로직이 필요

 

모듈풀 프로그램에서 가장 중요한건, 트랜잭션 코드를 생성해주는 것.

생성하지 않으면 프로그램이 실행되지 않음

'SAP > ABAP' 카테고리의 다른 글

#8. ALV GRID  (0) 2023.10.14
#6. 인터널테이블  (0) 2023.10.05
#5. 프로그램 호출 & 값 전달  (0) 2023.10.03
#4. ABAP EVENT  (0) 2023.09.21
#3. INSERT, UPDATE, MODIFY, DELETE  (0) 2023.09.19