1. Include Structure
정의
- 하나의 **구조(structure)**를 다른 구조나 테이블 안에 포함시킬 때 사용함
- 재사용 목적이 강함
특징
- 위치 제어 가능 (필드 사이에 끼워넣을 수 있음)
- 구조 간 코드 중복을 피할 수 있음
- 데이터베이스 테이블, 구조, 뷰 등 어디든 사용 가능
TYPES: BEGIN OF ty_employee,
pernr TYPE pernr_d,
INCLUDE STRUCTURE address. "주소 관련 구조 포함
name TYPE string,
END OF ty_employee.
INCLUDE STRUCTURE 구문은 이 위치에 해당 구조의 필드들을 그대로 끼워 넣는 것과 같음
2. Append Structure
정의
- 기존에 정의된 표준 테이블이나 구조를 확장할 때 사용
- 하나의 테이블 or Strucure로서 테이블 자체를 수정하지 않고 필드를 추가할 수 있게 해줌
- = Customer field
- 하나의 append structure은 하나의 테이블에서만, 개별 테이블은 여러개의 append structure을 사용할 ㅜㅅ 있다.
- Pooled와 Cluster테이블은 append structure을 사용할 수 없다.
- standard 또는 CBO테이블에 신규필드를 추가함
- 이미 존재하는 테이블에 Foreign key를 추가 및 정의함
- 이미 존재하는 테이블에 필드의 탐색 도움말을 추가함
항목 | Include Structure | Append Structure |
용도 | 구조의 재사용 | 표준 테이블/구조 확장 |
사용 위치 | 어디든 가능 (구조/테이블 등) | 항상 마지막 필드로만 추가 가능 |
목적 | 필드 공통화, 중복 제거 | 커스터마이징, 사용자 정의 필드 확장 |
중복 가능성 | 여러 구조에 포함 가능 | 한 테이블당 한 append만 가능 |
위치 제어 | 원하는 위치에 삽입 가능 | 항상 끝에만 추가 |
Table Enhancement Category란?
- sap 표준 테이블이나 구조체를 확장가능하게 할 지 여부와 방식을 SAP시스템에 알려주는 설정값
Enhancement Category | 설명 |
Cannot be enhanced | 확장 불가능 (Append Structure 추가 금지) |
Can be enhanced (character-type) | 문자형(char-type) 필드만 확장 가능 |
Can be enhanced (any type) | 어떤 필드 타입이든 확장 가능 |
Can be enhanced (deep) | 구조체 안에 또 다른 구조체나 테이블이 있는 경우 (Nested 포함) 확장 가능 |
인덱스(Index)란?
데이터베이스 테이블의 특정 컬럼을 기준으로 빠르게 검색할 수 있도록 도와주는 보조테이블 => 검색 속도를 높임
인덱스의 종류
종류 | 설명 |
Primary Index (기본 인덱스) | Key Field로 자동 생성됨 (PRIMARY KEY) |
Secondary Index (보조 인덱스) | 사용자가 필요에 따라 수동으로 추가하는 인덱스 |
Unique Index | 인덱스 조합이 중복되지 않도록 강제하는 인덱스 |
SELECT * FROM sflight
WHERE carrid = 'AA' AND connid = '0017'.
- sflight 테이블이 carrid + connid 조합에 인덱스를 가지고 있다면 → ✅ 빠르게 검색 가능
- 없으면 → ❌ 전체 테이블을 풀스캔(Full Table Scan) 하기 때문에 느려짐
=> 자주 사용하는 SELECT 조건 필드를 기준으로 인덱스를 만들 수 있음
항목 | 설명 |
📉 인덱스 남발 | 너무 많으면 INSERT/UPDATE 성능이 떨어짐 |
📌 정렬 기준 | 인덱스는 정렬된 구조라 정렬 순서가 중요 |
❗ 조건에 맞는 인덱스 없으면 | 성능 저하 (Full Scan) 발생 |
-> 인덱스는 DB테이블에서 데이터를 빠르게 찾기 위한 보조도구 => SELECT ... WHRER조건에서 성능향상됨!
- 인덱스는 테이블 접근 시 빠른 속도를 제공해주지만, db를 차지하는 공간이 많이 필요하기 때문에 신중하게 사용해야한다.
- DELETE, UPDATE 구문이 자주 발생하는 테이블의 경우는 인덱스 공간이 굉장히 커질 수 있다.
- 이미 증가해버린 인덱스는 주기적인 REBUILD를 통해 회복할 수 있다.
- SAP에서는 주로 Reorg라는 용어를 사용하며, BC가 OS에서 br*tools라는 SAP툴을 이용해 주기적으로 Reorg를 수행한다.
'SAP' 카테고리의 다른 글
easy abap 37. VIEW_뷰, 도메인 (0) | 2025.05.14 |
---|---|
easy abap 36. strucutre (0) | 2025.05.14 |
easy abap 34. Table (0) | 2025.05.14 |
easy abap 33. Abap Dictionary (0) | 2025.05.14 |
easy abap 32. internal table 문제 풀기 (0) | 2025.05.14 |