report프로그램과 module-pool프로그램의 차이는 무엇인가요?
단순히 조회만 하기 위해서 report 프로그램으로 설정한다
Screen과 내부의 module로서 활용하기 위해 module-pool 프로그램으로 설정한다
이런 건가요?
report프로그램에서 call screen 0100 구문을 통해 스크린을 실행하는 것과
module-pool에서 스크린100에서 PBO와 PAI를 제어하는 것이
내부적인 프로그램 구동시에는 어떠한 차이가 있는지도 궁금합니다.
이리저리 뒤적거려봐도...
100%답은 없겠지만... 조그만 힌트라도 얻기 위해서
고수분들께 감히 여쭈어 봅니다.
그럼 좋은 하루 되시길 바랍니다.
p.s 요즘 들어 고민이 늘어나는것 같습니다.
예전에 ABAP에 대해서 하나도 모를때에는
이렇게 되는 거구나~ 하고 신기했는데
사람이란게 조금 적응이 되니
왜 이렇게 되는 거지? 하고 다시 궁금해지네요.
하나하나 파고드니 끝이 없는것 같지만 언제인가는 끝에 도달하겠죠
댓글 4
-
e-abap
2008.01.17 01:01
-
activeman
2008.01.17 02:37
Module Pool은 주로 입력 프로그램을 만드는데 사용하고 report(type1)은 조회나 출력 프로그램으로 많이 사용합니다.
물론 Module Pool에서도 리포트 프로그램과 같이 나타낼수도 있습니다.(SUPPRESS DIALOG 명령어 참조)
리포트프로그램은 일정한 양식으로 출력하거나 조회할때 사용이 편하고 리포트형식에 사용할수 있는
시스템변수(sy-pagno등등)를 사용할 수 있습니다.(물론 복잡한형식의 출력물이나 그림이 출력될 경우는 SMARTFORM을
이용합니다.)
물론 리포트 형식의 ALV형태로 프로그램도 많이 합니다.
-
SAP폐인
2008.01.17 18:24
e-abap님, activeman님 답변 감사드립니다. -
닉크
2009.03.05 20:54
추천입니다!!!
다음은 제가 정리한 내용입니다.
ABAP 프로그램은 Type 1(Executable Programs), M(Module Pools), F(Function Groups) 등으로 구현될 수 있다. '15장 리포트 프로그램'과 이번 장에서 학습하게 될 모듈 풀(Module Pool ) 프로그램의 가장 큰 차이점은 무엇일까? 이에 대한 개인적인 생각은 리포트 프로그램은 프로그램이 자동으로 생성해주는 1000번 스크린(Selection 스크린)을 사용한다는 것이고, 모듈 풀(온라인) 프로그램은 개발자가 직접 생성한 일반 스크린을 사용한다는 것이다. 리포트 프로그램은 데이터베이스 테이블에서 조회한 데이터를 화면에 뿌려주는데 주목적이 있고, 모듈 풀 프로그램은 데이터를 조회/수정/삭제/생성 하는 것과 같은 데이터 관리를 하기 위한 것에 주목적이 있다(모듈 풀 프로그램이 데이터를 관리할 수 있는 것은 Business Flow에 의해 파생되는 데이터를 처리할 수 있다는 의미이다). 그러나 실무에서는 큰 구분을 사용하지 않고 사용하고 있다. 이유는 TYPE 1 프로그램의 SELECT-OPTIONS과 같은 장점을 활용하기 위한 것이다.
일반적으로 모듈 풀 프로그램과 온라인 프로그램의 정의를 구분하지 않고 동일하게 간주한다. 굳이 온라인 프로그램을 정의하자면 Dialog 모드에서 Foreground로 실행되는 프로그램을 의미한다.
이와 반대되는 개념으로 Batch Program이 있으며 이것은 스케줄 Job 등으로 이용하기 위해 Background 에서 실행되는 것을 의미한다.