ABAP Dictionary란?
: 오브젝트들(Table, View, Structure, Types...)을 가르키며 데이터 구조를 정의하고 관리하는 역할
TCode SE21
TCode SE09
- TCode SE80 package 우클릭
- TCode SE11
- TCode SE16N: 테이블 데이터 대량생성
Structure란?
: 테이블과 같이 필드로 구성되어 있지만, 데이터는 저장할 수 없으며 구조만 가짐
View란?
: 하나 또는 여러 테이블에 존재하는 데이터를 통합하여 조회
Database View
: 복수의 테이블에서 필요한 필드만 추출해서 view를 만듬
Projection View
: 하나의 테이블에서 여러 개의 필드를 선택해서 view를 구성
Maintenance View
: 유지보수용 view. 데이터 CRUD가 가능
- 교육에선 Maintenance View를 사용
- 여러개의 테이블을 동시에 유지보수 가능
ERNAM: 입력인
ERDAT: 입력일
ERZET: 입력시간
AEDAT: 변경일
AEZET: 최종변경시간
AENAM: 오브젝트 변경자 이름
- TCode SE80 package 우클릭
- TCode SE11
Data Element란?
: 비즈니스(업무)적인 내용을 관리, 테이블 필드의 모든 정보를 가진 ABAP Dictionary 오브젝트, 테이블 필드는 Data Element를 지정하여 필드의 속성을 정의
Domain이란?
: 필드의 기술적인 속성을 정의, Data Element에 할당되어 사용
Subroutine이란?
: Local Modulization.
FORM으로 시작하여 END FORM으로 종료되는 구문, 스크립트의 모듈화, 재사용, 구조화가 주목적
Function이란?
: Subroutine과 유사하게 기능별로 모듈화하고 재사용이 가능하도록 지원
Function Module이란?
: Global Modulization.
Function을 이용한 모듈화를 구현하여 재사용을 제공하고 스크립트 수를 줄임.
- TCode SE37
- TCode SE80 package 우클릭
Function Group이란?
: 여러 Function Module을 모아 놓은 Container
ABAP Programming?
-> 데이터베이스를 짜거나 구성 요소를 만드는 것이 아니라 GUI 계층과 응용 프로그램 계층 사이에서 비즈니스 프로세스(Business process)에 따라 사용자가 원하는 기능을 가진 프로그램을 제공하도록 개발
Executable Program (Type 1)
- 조회 목적으로 사용. Report Program/List Program 이라고도 함
- 조회가 목적이므로 조회 조건을 입력하는 Selection Screen 이 존재
- 프로그램 실행시 Selection Screen 존재시 '1000' 스크린을 자동으로 호출
- T-Code 생성없이 ABAP EDITOR 내에서 바로 프로그램 실행 가능
- 프로그램 Flow 는 EVENT BLOCK Processing이라 하여 각 Event Block 순서대로 진행
- 타 프로그램에서 호출 시 SUBMIT 구문을 사용하여 T-Code 생성 없이도 실행 가능
- 'REPORT + 프로그램명 ' 구문을 시작으로 프로그램 작성
Module Pool Program(Tpye M)
SELECT SCREEN?
-> 입력 조건으로 화면을 구성 Parameters, SELECT-OPTIONS에 값을 주는 화면을 만들어줌.
- TCode se80 마우스 오른쪽 클릭
- TCode se38
DATA <변수명> TYPE <data_type> LENGTH n.
DATA: GV_A LIKE MARA-MATNR,
GV_B LIKE ZTEST_PS-SPEC3,
LV_A TYPE C LENGTH 10,
LV_B TYPE I,
LV_C TYPE N.
CONSTANTS gc_myconst TYPE <type_name> VALUE { literal | IS INITIAL }.
DATA gv_myvar TYPE <data_type>.
DATA gv_myvar2 LIKE gv_myvar.
STRUCTURE 선언
DATA: GS_MARA LIKE MARA,
LS_MARA TYPE MARA.
특정 테이블의 특정 필드만 가져와서 씀
DATA: BEGIN OF GS_GUGU,
1 TYPE I,
2 TYPE I,
3 TYPE I,
4 LIKE MARA-MATNR,
END OF GS_GUGU.
DATA: GS_A LIKE ZOJT01_S01.
DATA: GS_T LIKE LINE OF MARA.
프로그램 돌릴 때는 있었다가 사라짐(프로그램 내에서만 사용가능)
DATA: GT_TABLE LIKE MARA OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF GT_GUGU OCCURS 0,
1 TYPE I,
2 TYPE I,
3 TYPE I,
4 LIKE MARA-MATNR,
END OF GT_GUGU.