[SAP ABAP] Screen program(Feat. ALV)

송의찬·2024년 3월 1일
1

ABAP 탐험

목록 보기
2/6
post-thumbnail

SCREEN PROGRAM

ABAP PROGRAM

  • Abap PROGRAM은 크게 Type 1(REPORT PROGRAM), M(MODULE POOLS PROGRAM), F 등으로 나누어진다. 필자는 1번, M PROGRAM을 다루어 보았는데, 이 과정에서 REPORT PROGRAM과 MODULE POOLS PROGRAM의 차이가 무엇일지 궁금했다.

  • 여러 고민 끝에 SCREEN 생성의 과정, 프로그램의 목적에서 차이가 존재한다는 결론을 내렸다. REPORT PROGRAM은 1000번 SCREEN 을 자동으로 생성해주고, MODULE POOLS PROGRAM에서는 사용자가 직접 생성한 SCREEN을 사용한다는 것이다. 또한 REPORT PROGRAM의 경우 DB table에서 조회한 데이터들을 화면에 뿌려 사용자가 이를 비교 분석할 수 있도록 하는데 주목적이 있지만, MODULE POOLS PROGRAM은 데이터를 조회/수정/삭제/생성 즉, CRUD를 하기 위함이라는 주목적을 가지고 있다.

BASIC FLOW LOGIC

  • SCREEN PROGRAM의 경우에는 아래와 같은 LOGIC으로 실행된다. 그림에서는 PBO, PAI, SCREEN, CONTAINER 이라는 단어가 나오는데, 자세한 건 아래에서 설명하도록 하겠다.

PBO(Process Before Output)

  • PBO 이벤트는 스크린이 화면에 보여지기 전에 실행되는 이벤트이다.

PAI(Process After Input)

  • PAI 이벤트는 스크린 상에서 사용자의 액션이 발생한 후 실행되는 이벤트이다. PAI 이벤트 호출 방법에는 PUSHBUTTON을 선택하거나 MENU, STANDARD TOOLBAR, APP TOOLBAR에 있는 FUNCTION을 선택하는 등 다양한 방법이 존재한다. 중요한 것은 어떠한 액션을 취해야 PAI LOGIC을 탄다는 것이다.

SCREEN과 ABAP PROGRAM 연결고리

  • 스크린 필드는 스크린 메모리에 존재하는 필드로 PAI가 실행되기 전에 ABAP 프로그램에 존재하는 같은 이름의 필드로 값이 복사된다. 또한 PBO가 종료되면 또다시 ABAP 프로그램에 있는 같은 이름의 필드로부터 값을 복사해오는 것이다. 때문에 이를 연결하기 위해서는 같은 이름을 가진 필드를 선언해주는 것이 중요하다.

SCREEN PROGRAM FLOW

    • PAI 이벤트가 종료되면 아래 그림과 같이 기본적으로 Next dynpros로 넘어간 후, 다시 PBO 로직을 타게 된다.
  • 이번 게시글에서는 기본적인 SCREEN PROGRAM 흐름에 대해 설명해 보았다. 이를 기준으로 직접 설계부터 프로그래밍까지 진행한 간단한 CRUD program에 대해 정리해볼 생각이다.

Today key point!!!

  • Screen flow를 이해하고, 연결고리 설정에 주의하자! 오늘은 여기까지~~^&^
profile
Best efficiency, customer satisfaction

1개의 댓글

comment-user-thumbnail
2024년 7월 1일

모듈풀과 레포트 차이 오늘 처음 알았습니다. 감사해요 ^&^

답글 달기