Enhancement Overview #1에서는
Enhancement 방법 중 통상적으로 많이 사용되는 Customer Exit 과 Badi 에 대해 알아보았다.
2020/08/17 - [분류 전체보기] - Enhancement Overview #1
오늘은 그 외의 Enhancement 방법에 대해 Overview해 보겠다.
Souce Code Enhancement
Exit 과 Badi 처럼 표준에서 펑션이나 Class로 확장 공간을 미리 만들어 놓고
그 안에 소스를 반영하는 것이 아니라
Source Code 레벨에서 정해진 규칙 하에 모든 로직에 Enhancement 가 가능하다.
반변 소스 코드 외에 영역. 표준 Screen이나 Gui-status 등의 확장은 불가능하다.
Source Code Enhancement는 Implicit Enhancement 와 Explicit Enhancement 2가지로 나눈다.
Explicit(명시적) Enhancement 로는 Point와 Section 으로 구분되며
전자는 지정된 지점( 소스코드 내 'ENHANCEMENT-POINT'라 명시된 지점 )에 소스를 추가하는 개념이고
후자는 지정된 지점( 소스코드 내 'ENHANCEMENT-SECTION' 이라 명시된 지점 )의 기존 소스를 대체하는 개념이다.
Implicit(암묵적) Enhancement 로는 암묵적으로 정해진 위치에는 얼마든지 확장이 가능한 개념이다
정해진 위치로는 Subroutine의 시작과 끝, Function의 시작과 끝 등이 있다.
보통 Exit이나 Badi 또는 기타 Enhancement 방법으로 불가능할 경우에
표준 프로그램 Debuging을 통해 확장 위치를 찾아 반영하게 된다.
Exit이나 Badi처럼 추가할 내용( 점검 로직, 대체 로직 등... ) 에 따라
확장 영역이 정해진 것이 아니기 때문에
수많은 테스트를 해보고 최적의 위치에 찾는것이 중요하다.
잘못 건드렸다간 데이터가 틀어지거나 덤프가 나는 경우가 있으므로 매우 신중하게 반영해야 한다.
Validation/Substitution Configuration
FI/CO모듈에서 사용하는 것으로 정해진 위치에 루틴을 만들어 점검로직 또는 대체하는 로직을 적용한다.
좌측 Tree Node에 보이듯이
전표의 헤더/라인아이템/문서완료 시점별로 나누어 체크 로직을 반영할 수 있으며
각 레벨마다 체크로직이 반영되는 조건( Prerequiste ), 체크로직( Check ), 메세지 제어 영역( Message )
3가지로 나누어 체크 로직을 제어한다.
BTE ( Business Transaction Event )
Customer Exit ( Function Exit ) 과 동일하게 표준프로그램 안에 프로세스 별로 확장할 수 있게
Function 들이 반영되어 있으며 그 Function은 BTE Process 순번에 의해 정의되어 있다.
Customer Exit은 Funcion 내의 'Z~'로 시작하는 Include문을 통해 로직을 반영했다면
BTE는 'Z~'으로 시작하는 Function을 생성하여 로직 반영 한다.
신규 생성한 Function은 BTE Process 순번과 Mapping 하여 표준에서 호출되어 진다.
그 외 Enhancement
ㅇ Feild Exit : 표준 프로그램의 특정 스크린의 필드에 유효성 점검 로직 반영시 사용
( SAP 에서는 SAP ECC 6.0 이후로는 사용하지 않는 것을 권장하고 있다. )
ㅇ Text Enhancement : Data Element 의 Text 내역 또는 Domain의 Fixed Value Description 내역 변경시 사용
ㅇ Search Help Exit : Search Help에 제어되는 표준 기본 로직을 변경시 사용
ㅇ Append Structure : 표준 테이블의 필드 확장시 사용
( CI_XXXX 표준에서 기생성된 확장 구조에 필드만 확장하는 경우 외 )
ㅇ Fixed Value Append : 표준 Domain에 Fixed Value 추가
ㅇ 모듈 별로 IMG Setting 에서 개발된 Object (프로그램, 펑션 , Screen 등...)를 연결하여 표준 프로그램 확장
'ABAP Basic Lv. > Overview' 카테고리의 다른 글
|ABAP Overview| Enhancement Overview #1 (2) | 2020.09.10 |
---|---|
|ABAP Overview| ABAP Dictionary (0) | 2020.09.03 |
|ABAP Overview| CBO 프로그램 패턴 (TYPE-1 Prog.) (0) | 2020.09.02 |
|ABAP Overview| ABAP Unique Concept (0) | 2020.09.01 |
|ABAP Overview| SAP Customizing 구현 방법 (0) | 2020.09.01 |