SAP ABAP 테이블 INCLUDE APPEND STRUCTURE 차이점

SAP에서 ABAP 테이블을 확장하는 방법은 INCLUDE방식과 APPEND 두가지 방식이 있으며, 이 두가지 확장 방식이 각기 어느 상황에서 사용되는지 INCLUDE APPEND STRUCTURE 차이점에 대해서 정리하였습니다.

SAP 테이블 확장 방법 INCLUDE와 APPEND 는 아래의 포스팅에서 자세히 정리해 두었습니다.

ABAP 테이블 APPEND STRUCTURE 방법
SAP 테이블 INCLUDE STRUCTURE 방법 정리

테이블 확장 APPEND 와 INCLUDE의 차이

재활용이 필요한 경우 – INCLUDE STRUCTURE

append structure는 해당 테이블에서만 사용이 가능합니다. 그러나 include는 여러 테이블에서 사용이 가능합니다.(구조:테이블 = 1:다)

미 존재하는 혹은 자주 쓰일 수 있는 구조를 ‘가져다’ 사용하는 개념입니다. 즉, reuse에 초점이 맞추어져 있습니다.

아래와 같이, ZAPPENDSTRUCT3 구조는 ZTEST1 테이블에서도 사용할 수 있고, ZTEST2 테이블에서도 사용할 수 있습니다. 즉, 여러 테이블에서 공통으로 사용될 수 있습니다.

여러 테이블에서 공통으로 사용할 수 있다

또, append structure는 테이블 컬럼 레이아웃상에서 항상 마지막 다음으로 위치하지만, include는 어느 위치에도 삽입할 수 있습니다.

스탠다드 테이블에 확장해야 하는 경우 – APPEND STRUCTURE

당연하지만 스탠다드 테이블은 수정이 되지 않으므로 include를 사용할 수 없습니다.

SAP 업그레이드를 통해 Standard 테이블이 변화되었다면, 먼저 해당 standard 테이블이 활성화되고 이후 structure가 활성화 되는 개념입니다.

그렇기 때문에, 스탠다드 테이블을 enhance하기 위해서는 ZZ 혹은 YY로 시작하는 필드로 구성된 append structure를 사용해야 합니다.

왜냐하면 추후 업그레이드를 통해 동일한 이름으로 SAP에 필드가 생긴다면, 해당 append된 테이블은 필드명 중복 오류가 발생하기 때문입니다.

Copy를 통해 만들고자 한다면 – INCLUDE STRUCTURE

append structure를 통해 만든 structure는 Copy가 허용되지 않습니다.

Copying append structure is not allowed

append structure는 SAP가 제공하는 Enhancement, 스탠다드를 modify 하기 위해, include는 필드 그룹핑의 목적이 더 큽니다.

결론은, 스탠다드를 enhance를 위해서는 append structure, 그 외의 CBO는 미리 structure를 만들어 두고 .include를 사용하면 됩니다.


이상으로 테이블 확장시 사용하는 APPEND 와 INCLUDE STRUCTURE 의 차이점에 대해서 알아보았습니다.

함께 보면 좋은 글

SAP GUI 환경 설정 백업 복원 (마이그레이션 기능, sap logon 정보 등)

SAP Debugger Call Stack Tool 사용법

SAP RFC External 디버깅 방법