SAP/Enhancement

[ABAP] 08. SAP Customer Exit: 정리

쌥돌이 2024. 11. 5. 00:09

Customer Exit은 스크린, 메뉴, 로직에 대해 Function을 통해 스탠다드 티코드를 Enhancement 할 수 있는 방법이다.

티코드 'CMOD' 에서 프로젝트 라고 하는 Exit을 관리하는 묶음 단위를 먼저 정의(생성)해야한다.

정의했다면 프로젝트 안에 들어갈 Exit 명을 입력해야 한다.

Exit을 찾기 위해서는 가장 먼저,

소스 혹은 오브젝트 내에 단서를 기준으로 Enhance 가능한 티코드인지 확인이 필요하다.

 

Exit
단서
Function Exit
Call customer-function 'xxx'
Menu Exit
+'xxx'
Screen Exit
Call customer-subscreen

 

단서를 찾았다면

해당 부분의 티코드를 포함하는 개발클래스, 프로그램 정보, 스크린정보 등을 종합하여 SMOD에서 Exit 명을 찾는다.

Exit명을 찾았다면, 프로젝트에 할당해야 한다.

CMOD에서 정의한 프로젝트에 Exit을 할당한 뒤 해당 Exit을 유지보수한다.

프로젝트를 활성화 함으로써 Exit을 활성화한다.

여기까지가 Customer Exit에 대한 수행방법이다.

비록 연습용 서버지만 스탠다드 티코드에 영향을 준다는 무게감은 가볍지 않았다.

해당 티코드를 충분히 숙지하고 있어야 하고 전역적으로 영향이 가는 만큼 영향도 고려도 필요하다는 생각을 하게 되었다.

무엇보다..

Exit 찾는게 너~~ 무 힘들다.

쉽게 슥슥 찾는 방법은 나중에 하게 될 일이 있다면 많이 다뤄보며 노하우가 생기게 되지 않을까..?

* 지금까지 한 연습한 exit은 프로젝트를 deactive하고 프로젝트 내에 동봉된 exit 오브젝트들을 전부 삭제함으로써 최초의 상태로 돌려놓아야 다른 사용자에게 불편함을 주지 않는다.

* 틀린 내용은 댓글로 지적해주시면 감사히 받겠습니다 :)