최초 작성일: 23년 3월 6일
최종 작성일: 23년 3월 일
목적: ALV 이해, 포폴 작성
01. overview
ABAP 프로그램은 TYPE 1(Executable programs), M(module pools), F(Function groups)등으로 구현될 수 있다.
리포트 프로그램과 모듈 풀 프로그램의 차이점은 무엇일까
리포트 프로그램은 프로그램이 자동으로 생성해주는 1000번 스크린(selection screen)을 사용한다는 것이고
모듈 풀(온라인) 프로그램은 개발자가 직접 생성한 일반 스크린을 사용한다는 것이다.
리포트 프로그램은 데이터 베이스 테이블에서 조회한 데이터를 화면에 뿌려주는 데 주목적이 있고, 모듈 풀 프로그램은 데이터를 조회/수정/삭제/생성하는 등의 데이터 관리를 위한 것에 주목적이 있다.
type-m 프로그램을 개발하기 위한 전체 프로세스를 크게 3가지 영역으로 정의하고 있다.
- 스크린 정의
- 스크린에 대한 스크립트 추가
- type-m 프로그램에 대한 트랜잭션 코드 생성
02. Screen
스크린은 SAP gui에서 조회되는 모든 화면을 의미한다.
스크린은 사용자와 상호작용을 통해 데이터를 생성하고 조회하는 작업 영역으로 정의된다.
screen flow logic은 1) PBO(Process Before Output)와 2) PAI(Process After Input)이벤트로 나누어 진다.
PBO이벤트는 스크린이 화면에 보여지기 전에 실행되는 이벤트 이며
PAI이벤트는 스크린 상에서 USER 액션이 발생한 후 실행되는 이벤트 이다.
스크린의 구성요소는 다음과 같다.
1) 스크린 속성: 스크린 속성은 스크린 번호, 타입, 내역, 창 크린, 다음 화면을 정의하고 SAP 시스템에 스크린 오브젝트를 연결하게 된다.
2) 스크린 요소: 스크린 요소들은 사용자가 데이터를 조회하고 입력하는 gui 화면을 디자인하는데 사용된다. 텍스트 필드,input/output 필드, 체크 박스, 라디오 버튼 등과 같은 스크린의 구성요소를 정의한다.
3) 스크린 필드:스크린 필드의 속성은 메인 스크린 필드의 데이터 타입과 길이 등을 정의하는 부분이다.
4) 스크린 흐름 로직 : 사용자의 액션에 반응하게 되는 스크린의 PAI와 PBO와 관련되어 절차적으로 수행되어야 할 부분을 정의한다.
02-1. 스크린 속성
스크린 속성은 스크린 페인터에서 설정한다(T-CODE: SE51)
스크린은 스크린 필드들로 구성된다. 스크린 필드 라는 용어는 input 필드 또는 output 필드 등과 같이 스크린에서 생성한 필드와 같은 개념으로 생각해도 되지만, 실제로는 차이가 있다.
스크린 필드는 스크린이 메모리로 로딩되어 활성화되었을 때 스크린 페인터에서 정의한 필드명을 그대로 사용한다.
즉 이 스크린 필드들은 스크린 상에서 input/output 필드 들과 연결되어 있다는 말이지 실제로 같다는 것을 의미하지 않는다. 스크린이 조회되거나 또는 사용자의 액션이 일어난 후 자동으로 같은 이름을 가진 스크린 필드들과 abap 프로그램의 데이터 오브젝트 들 간의 데이터 전달이 일어나기 때문이다.
스크린은 1000번에서 1010번 사이는 표준 selection screen과 abap dictionay maintenance 스크린으로 예약되어 있다.
sap customer는 9000번 이상을 사용하도록 권장하지만, 실제 업무에서는 100번 단위로 구분하여 많이 사용한다.
스크린을 생성하고 유지보수 하는 스크린 페인터(SE51)가 존하며 Object Navigator(SE80)에서 스크린을 선택하면 스크린 페인터의 T-CODE와 연결되도록 설계되어 있다.
Object navigator는 abap workbench와 관련된 모든 t-code들을 중앙집중식으로 관리하여 한 화면에서 여러 가지 작업을 수행할 수 있는 개발 환경을 제공한다.
02-2. 스크린 구성 요소
02-3. 스크린 필드
02-4. 스크린 Flow Logic
02-5. User 액션
03. Type-M Program 구현
03-1. Type-M Program 생성 및 화면 디자인
03-2. GUI Status 생성
03-3.PBO 모듈 구현
03-4. PAI 모듈 구현
03-5. 트랜잭션(T-code) 생성
03-6. Input check
03-7. 스크린 호출
03-8.스크린 종료
04. Table Control.
04-1. Table Control 생성
04-2. Table Control 스크립트 구현(LOOP)
04-3. Table Control 스크립트 구현(LOOP AT)
04-4. Table Control 칼럼 속성 변경
05. Subscreen
05-1. Sybscreen 영역 정의
05-2. include Subscreen
06. Tabstrip
06-1. Tabstrip 의 종류
06-2. Tabstrip 생성
07. Dropdown list box
07-1. ABAP Dictionary를 이용한 List box 생성
07-2. POV에서 Input help를 이용한 list box 생성
07-3. PBO에서 함수를 이용한 LIST BOX 생성
'SAP셀프스터디 > 22일만에 이지아밥 1회독 하기' 카테고리의 다른 글
[chapter12] Report Program (0) | 2023.02.28 |
---|---|
[chapter04] Modularization (subroutine & function) (0) | 2023.02.23 |
[chapter10] Field Symbol & Data Reference (0) | 2023.02.22 |
[chapter09] search help (0) | 2023.02.22 |
[chapter08] Lock Object (0) | 2023.02.22 |