SAP/Enhancement

[ABAP] 00. SAP Enhancement & Modification

쌥돌이 2024. 11. 4. 23:17

SAP 유저가 쓸 수 있는 프로그램은 2가지다,

CBO와 스탠다드.

사용자가 자신의 요구사항을 들며 CBO를 개발해 달라고 하는 것은 SAP 개발 프레임워크가 제공하지 않는 기능을 요구하지 않는 이상 불가능할 건 없다.

하지만 스탠다드 프로그램 수정을 요구한다면 어떻게 해야할까?

수 많은 티코드에서 공용으로 쓰는 INCLUDE 프로그램들과 의미를 알 수 없는 영어로 쓰여진 독일어 소스코드들, 끝없이 안으로 타고 내려가는 계단식 프로그램 구조.

해괴하고 매우 난이도 높은 프로그램의 구조를 문제삼는건 둘째치고

일반 개발자가 SAP 스탠다드 프로그램을 수정하는 것은 Access key를 받기 전까진 불가능하다.

 

이런 상황에서 사업부서에서 스탠다드 티코드에 업무상 필요한 기능을 구현해달라고 요구한다면 일반 개발자는 어떻게 해야 할까?

이런 상황을 위해 SAP는 일반 개발자에게도 스탠다드 티코드 내에 CBO 로직을 구현할 수 있는 수정포인트를 열어놓았다.

해당 수정포인트를 수정하는 방법에 따라 크게 ENHANCEMENTMODIFICATION으로 분류된다.

Enhancement는 SAP 오브젝트를 직접 건드리지 않고 CBO 로직을 덧붙임으로써 스탠다드에 기능을 구현할 수 있다. Customer Exit, Implicit & Explicit Implementation, Badi 등 이 enhancement에 해당한다.

Modification은 SAP 오브젝트를 직접 건드림으로써 스탠다드에 기능을 추가하는 것을 말한다.

이런 방법으로 구현하는 modification은 User exit이 있다.

개인적인 궁금증이 있다면..

Implicit Implementation은 스탠다드 펑션/메소드 등의 처음과 끝 부분에 소스를 직접 추가하는 방법이니

modification이 아닌가 하는 생각이 든다.

아직 개념이 잘 정리되지 않아서 많이 헷갈리기는 하지만

SAP 공식 분류에 따르자면 User exit은 Modification이고 그 외 모든 방법이 다 enhancement다.