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

+ Recent posts