Append Structure란?
- 테이블에 필드를 직접 추가하지 않고, 옆에 붙이는 구조.
장점
1. 테이블 구조를 직접 수정하지 않아도 됨
2. 테이블을 업데이트해도 문제 없음 (특히, 스탠다드 테이블!)
3. 하나의 테이블에 여러 팀이 각각 Append Structure 추가 가능함
하지만, 실습을 해도 약간 이해가 안갔다..🚨🚨🚨
뭔소리여
문제를 파악하면서 내가 궁금했던 2가지가 있었다.
첫번째로 append structure를 쓰면 왜 안전하다는 것인가?와,
두번째로는 append structure은 c의 구조체와 비슷한것인가?다. 데이터가 필드화되는 것인지 가 궁금했다.
방식 | 특징 | 위험 |
직접 필드 추가 | 테이블 안에 직접 추가함 | 🚨업데이트 충돌 가능 |
Append Structure 사용 | 테이블은 그대로, 외부에서 확장함 | ✅안전하게 유지 가능 |
✅ 스탠다드 테이블
SAP가 기본적으로 제공하는 테이블
- 사용자가 만든 게 아니라, SAP 시스템 안에 기본 내장되어 있는 테이블
- FI, MM, CO모듈은 이 테이블을 사용해서 관리를 한다.
예시로 자재관리 모듈의 대표적 스탠다드 테이블은 아래와 같다
테이블명 | 설명 |
MARA | 자재의 일반 정보 (General material data) |
MARC | 자재의 플랜트 단위 정보 (Plant data for material) |
MARD | 자재의 저장 위치 정보 (Storage location data) |
EKKO | 구매 오더 헤더 정보 (Purchase Order Header) |
EKPO | 구매 오더 항목 정보 (Purchase Order Item) |
☑️ 특징
특징 | 설명 |
SAP가 제공 | 기본적으로 SAP 안에 포함되어 있음 |
수정 불가 | 테이블 구조를 직접 수정할 수 없음 |
확장은 가능 | → 그래서 Append Structure를 사용함 |
클라이언트 구분 필드 있음 | 대부분 MANDT 필드 포함 |
📦 MARA란?
MARA는 SAP 시스템에서 모든 자재(Material)에 대한 일반 정보를 담고 있는 기본 테이블
- MATNR: 자재 번호
- ERSDA: 생성 일자
- ERNAM: 생성자
- MTART: 자재 유형
- MEINS: 기본 단위
- …등 자재에 대한 공통 정보들이 들어있다.
Mara 테이블에서 필요한 자재의 정보를 회사에 맞춰 쓰면 된다.
그런데, Mara테이블에 없는 필드를 추가하려고 할 때, 그냥 필드로 테이블안에 직접 추가한다면,
추후 SAP의 업데이트로 인해 업데이트 충돌 기능이 생겨날 수 있다...!
Append Strucure을 쓰면, SAP에서 테이블을 업데이트하더라도,
-기존 SAP필드만 갱신
-Append Structure는 따로 관리되기에,
추후 업데이트가 있어도 사라지지 않고 유지보수관점에서 안전한다
-> 이로써 "왜 appened structure가 안전한가?"에 대한 첫번째 질문 해결.
Append Structure은 C의 구조체와 비슷한가? 어떤 형식으로 되는지?
비슷한 점 - "필드 묶음"이라는 점
C의 structure처럼 append structure도 여러 개의 필드를 묶어서 테이블에 추가하는 단위
다른 점 - append structure은 테이블에 직접 확장되는 방식 => 테이블에 붙여서 사용하는 용도
Append Structure은 하나의 필드가 아니라, 여러개의 필드를 담은 묶음을 테이블에 확장하는 용도이다.
Append Structure ZZCUSTOMER_EXTRA
- ZZSALES_REGION TYPE ZSALES_REGION " 영업 구역
- ZZBIRTHDATE TYPE D " 생년월일
- ZZMEMBERSHIP_LVL TYPE CHAR2 " 멤버십 등급
고객번호 (KUNNR)고객명 (NAME1)지역 (ORT01)마케팅코드 (ZZMARKETING_CODE)생일 (ZZBIRTH)포인트 (ZZPOINT)
100001 | 홍길동 | 서울 | MKT-001 | 1990-05-12 | 1200 |
100002 | 김영희 | 부산 | MKT-002 | 1985-11-02 | 800 |
Append Structure을 쓰면 이런식으로 행에 추가적으로 붙어서 나온다. == 테이블 확장!
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 30 OPEN SQL (0) | 2025.04.09 |
---|---|
SAP ABAP Programming for Beginners - 29 Include Structure (0) | 2025.04.09 |
SAP ABAP Programming for Beginners - 27 테이블 외래키 (0) | 2025.04.03 |
SAP ABAP Programming for Beginners - 26 투명테이블 수정 필드 추가 (0) | 2025.04.02 |
SAP ABAP Programming for Beginners - 25 디버깅 (0) | 2025.04.02 |