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을 쓰면 이런식으로 행에 추가적으로 붙어서 나온다. == 테이블 확장!

 

+ Recent posts