본문 바로가기
SAP/SAP-ABAP

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

by 피키로그 2022. 7. 5.

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

 

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

 

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가 추가됩니다.

 

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

 

감사합니다.

댓글