SAP/SAP-ABAP

::SAP-ABAP:: 스탠다드 프로그램과 펑션에 인헨스먼트 추가하는 방법(How to add enhancement to standard programs and functions)

피키로그 2022. 7. 5. 21:16

안녕하세요. 피키로그입니다.

 

오늘은 스탠다드 프로그램과 펑션에 인헨스먼트를 추가하는 방법에 대해서 알아보도록 하겠습니다.

 

SAP 사에서 개발한 패키지 솔루션에 포함된 스탠다드 프로그램과 펑션들은

고객사가 임의로 로직을 변경할 수 없습니다.

 

그러나, SAP에서는 고객사의 필요에 따라 스탠다드의 로직의

앞 또는 뒤에 ABAP 로직을 추가할 수 있도록 인헨스먼트(Enhancement) 기능을 제공하고 있습니다.

이를 이용해 스탠다드 로직을 제어할 수 있습니다.

 

 

1] SE80, SE38, SE37 등에서 스탠다드 프로그램, 펑션을 변경(Change) 모드로 실행합니다.

 

 

2] 인헨스먼트 생성/수정

1) Enhace 활성화 : Shift+F4

Enhance 클릭 시 아래와 같이 Enhancements와 관련된 버튼이 활성화됩니다.

 

2) Enhancement Operations > show implict Enhancement Options 클릭

 

3) Enhancement 를 추가할 수 있는 포인트가 라인 왼쪽에 표시됨

 

1. Enhancement를 추가할 수 있는 위치는 각 폼의 스탠다드 로직이 시작되기 전

    또는 로직이 끝나고난 후에만 추가할 수 있습니다.

 

2. 스탠다드 로직을 수정해야 하는 경우 : Create > Coding 으로 선택하여 로직을 직접 추가

수정하는 방법은 아래와 같이 두 가지 안이 있습니다.

1안)

로직 위쪽에 Enhancement를 추가하여 스탠다드 로직을 복사하여 로직을 수정하고, 기존 스탠다드 로직은 타지 않도록 Exit 구문으로 폼을 탈출하게 로직 추가

 

2안)

엑세스 키를 받아서 로직을 직접 수정 -> 이 경우 SP(Support Package)가 올라가면 Enhancement에 추가한 로직이 사라지기 때문에 관리가 어려울 수 있음

 

 

4) Enhancement Implementation 생성

Enhancement의 이름과 내역을 지정합니다.

 

5) 로직 추가/수정 후 활성화 하면 끝

이름과 내역을 지정하면 아래와 같이 로직을 추가할 수 있는 Enhancement가 추가됩니다.

 

아래와 같이 주석(*) 문자를 지우고 추가/변경 하고자 하는 로직을 추가하고 활성화 하면 됩니다.

 

감사합니다.