원본: http://www.abap-code.com/enhancements.html
번역: http://boy0.tistory.com/60


SAP ABAP Enhancements

ABAP Enhancements는 새로나온 SAP 확장(extension) 방법입니다. SAP 시스템을 확장(extension)하는 새로운 방법 : source-code plug-in을 사용하여 고객은 명시적으로 지정된 위치(explicit) 또는 암묵적으로 약속된 위치(implicit)에 enhancement 할 수 있습니다.

예전 방식의 extension은 아래와 같은 단점이 있습니다:
- CTS 전송 경로가 서로 다른 시스템에서 만들어진 modifications 와 enhancements 에 대해서는 업그레이드 지원이 되지 않습니다. extension은 SAP가 만들고, 고객은 그곳에 add-on을 작성하는 방식입니다.
- 여러 시스템에서 병렬로 개발하는 경우 출처가 되는 시스템을 추적하기가 매우 어렵습니다.

새로운 Enhancement 방법의 목표는 스탠다드 SAP 시스템을 확장하는 형식을 모두 통일하고자 함입니다.

툴로 제공되는 Enhancement Builder는 enhancements에 대한 조회, 생성, 수정 기능이 있습니다. 이 툴은 ABAP Workbench(SE80)에 통합되어 있습니다. @ 모양 아이콘을 사용합니다.


Explicit Enhancements (명시적으로 지정된 위치에 인핸스먼트)

이 유형은 미리 지정된 (일반적으로 SAP에서 정의함) enchancement section입니다. Explicit Enhancements 는 Enhancement Spots에 들어갑니다. 스탠다드 프로그램 RIAUFMVK 를 열어 보면 이에 대한 예제를 볼 수 있습니다.

Explicit Enhancements로 구현하기는 매우 쉽습니다. ABAP 에디터에서 소용돌이(@) 처럼 생긴 버튼을 눌러서 Enhancement 모드로 변경 합니다. 그리고, 구현하고자 하는 enhancement point에서 오른쪽 마우스 버튼을 누른 후 Enhancement Operations->Create Implementation 을 선택합니다. 그 프로그램에서 처음 enhancement 라면 이름과 설명을 입력하는 창이 나올 것입니다. 이제 각자 필요한 코드를 추가하기만 하면 간단히 끝납니다.


Implicit Enhancements (암묵적으로 약속된 위치에 인핸스먼트)

이 유형은 ABAP 프로그램의 약속된 특정 위치에서 정의(enhancement spots) 없이 enhancement를 적용 할 수 있습니다. 약속된 위치는 아래와 같습니다:

- include의 끝 위치
- Class의 Private, Protected 그리고 Public section의 끝 위치
- Class 구현의 끝 위치
- END INTERFACE 구문 바로 앞 위치
- structure 선언 (DATA: BEGIN OF ~ END OF ) 의 끝 위치 (END OF 바로 앞)
- form, functions, methods의 시작과 끝 위치
- method의 파라미터 CHANGING, IMPORTING 그리고 EXPORTING의 끝 위치

Implicit Enhancements가 가능한 위치를 쉽게 확인하는 방법이 있습니다. ABAP 에디터에서 메뉴의 Edit > Enhancement Operations > Show Implicit Enhancement Options 순으로 선택하세요.
이후 구현방법은 Explicit Enhancements 와 동일합니다.

 

+ Recent posts