본문 바로가기

SAP ABAP/ABAP Dictionary

ABAP - Table과 Structure

1. Table

1) Table 종류

(1) Transparent Table
Database에 1:1 관계
→ ABAP에서 Transparent Table을 생성하면 기존의 DB에도 동일한 Table 생성
Dat Table에는 Application Data를 저장하며
해당 Data는 Application에서 사용되는 Master Data 또는 Transaction Data(생성, 변경, 삭제)
(2) Cluster Table
복수개의 Cluster table을 하나로 모아둔 Table
→ 하나의 Header Table + 복수 개의 Detail Table로 구성되어 많은 Detail한 자료들을 더 빠르게 검색할 수 있음
(3) Pool Table
복수 개의 Pooled Table을 하나로 모아둔 Table
→ 실제 DB를 생성할 수 있는 Table의 한계보다 더 많은 Table을 생성해야 하는 것을 보완하기 위해 사용됨
 

2) Table Naming Rule

‘Z’로 시작하는 Table 이름 입력 후 Create
**ABAP의 개체는 Standard(SAP가 만든 모든 시스템)와 CBO(개발자, 컨이 만든 시스템)로 나뉨,
CBO는 Z(일반적 업무용), Y(일회용 또는 임시용) 시작
 

2. Data 저장

Standard Table을 보면 MANDT가 존재함
SAP Data 는 Client 별로 존재하기 때문에 Table 생성 시 Client 번호 100에 기록한 데이터들은 200에서 확인할 수 없음
* ABAP Object는 Client 번호에 영향을 받지 않지만, Data와 같은 논리적인 것은 확인이 불가능함
→ 물리적인 것은 타 서버에서 만들어도 확인 가능

* Primary Key

다른 레코드와 값을 유일하게 구분할 수 있는 구분자, 중복 절대 불가, Unique 해야 함 ‘Data 무결성’을 보장하기 위함

* Foreign Key

Table의 각 Field에 Value Table의 값을 사용하기 위해 외래키를 통해 검사해 제한해 입력할 수 있도록 설정해줌
때문에 확인을 해서 Value Table에 없는 코드를 넣을 수 없게 됨 그렇기 때문에 Table 만들 때마다 Foreign key를 모두 체결해야 함

* Local Local로 묶은 것은 다른 서버로 이관 불가

 

3. Structure

(1) Structure란

Field의 구조만 정의 → Components
Value Table은 값이 제한되어 있지만 외래키를 통해 검사해서 제한해 입력할 수 있게 해줌
Table에는 무결성을 위해 유일한 구분자인 PK를 한 개 이상 설정해줘야 함 PK를 설정할 때는 레코드를 넣을 때 하나만 출력할 수 있는 기준을 잡아야 함 예) 장바구니의 PK - ID, 상품 코드, 순번(중복된 상품 들어갈 때 확인 필요)

- Sturcture를 만드는 이유

Table에서 추가할 Field를 공통적으로 관리하고 싶을 때(모든 Table에 필요한 것) → 개발의 편의성, 생산성 향상을 위해 사용

테이블과 동일하게 필드로 구성되지만, 데이터를 저장할 수는 없는 객체
 

(2) Include

사용 방법
1. Edit에서 Inclde
2. Table의 Data element 바로 입력
조건
미리 만들어져 있는 Structure만 사용 가능
 

(3) Append Structure

Append Sturcture는 내가 추가할 Structure를 생성하면서 추가한다는 의미 기존에 존재하는 Structure는 불가 → 공유하지 않겠다는 의미(나만 변경 가능) → 다른 테이블에서 사용 및 Include가 불가능
 

(4) 차이점

보통 Include를 사용하지만 Append Structure도 쓰임새가 따로 있음
→ Z로 시작하지 않는 Standard Table은 Field 수정, 추가 등이 불가능, ‘.Include’가 안됨
Standartd Table의 Field를 추가할 수 있는 방법은 Append Structure
Append로 생성해도 SE11에서 조회 가능
Standard Table에 Field를 추가할 때 추가한 Field의 Field 명에 Z 붙여서 사용
다른 Table에 생성할 때 보통은 Z를 쓰지는 않음 매너의 개념 → Z는 누가 만들어서 사용함을 의미

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

ABAP - 변수와 상수  (0) 2024.03.28
ABAP - Data  (1) 2024.03.26
ABAP - Text Table  (0) 2024.03.17
ABAP - View  (0) 2024.03.15
ABAP - ABAP Dictionary(Domain&Data Element)  (2) 2024.02.19