수정해야 할 부분에 걸려있는 Function 모듈을 찾았다면,
어떻게 수정해야 할까?
먼저 티코드 CMOD에서 *프로젝트를 정의한다.
*프로젝트: Exit(customer function)을 묶어 관리하는 하나의 묶음단위


프로젝트를 만들었다면 프로젝트 안에 Exit(Function)명을 입력해야 하므로
스탠다드 티코드 로직 안에 있는 Exit 포인트(Call Customer~)를 찾아야 한다.
단, 해당 Exit 포인트가 내가 수정할 부분이 맞는지 점검이 필요하다.




위 단계에 따라 Exit 명을 확인했다면 프로젝트에 Exit을 입력한다.


프로젝트에 Exit 할당이 끝났다면, 해당 Exit(Function)에 CBO 로직을 삽입해야 한다.



Z INCLUDE문은 로직을 입력할 수 있다.
본 포스팅에서 예제로 해보려는 Exit은 mm01에서 자재마스터 생성 시 특정 자재타입일 경우 팝업으로 Enhancement임을 알려주는 메세지를 띄우는 것이다.

산업군 M, 자재유형PERS 일 때 Enhancement 발동
그러려면 Exit 펑션에게 파라미터로 자재타입을 넣어주고 펑션 내에 Message를 띄우는 팝업을 출력시키는 로직을 집어넣어야 한다.
Exit 펑션의 Importing 탭에서 파라미터를 확인하거나 디버깅을 통해 변수를 확인하여 설계할 수 있을 것이다.


위 Exit 펑션내에 위치한 Include 문에 확인한 파라미터를 조건으로 하여 cbo로직을 입력하고 활성화 한다.
그리고 마지막으로, CMOD에서 프로젝트를 활성화 시킨다.


이제 잘 적용되었는지 테스트 시간이다.
MM01에서 산업군 M, 자재유형 PERS로 넣고 티코드를 돌리면...

잘 적용이 된 모습이다.


자재도 잘 저장된다.
정리
- CMOD에서 프로젝트 생성
- 티코드 내에 요구사항을 충족할 수 있는 Customer Function이 있는지 확인
- Customer Function 정보 확인
- 프로젝트에 Exit명 Assign
- Exit 펑션에 로직 넣고 CMOD에 프로젝트 Active
- 테스트
* 틀린 내용은 댓글로 지적해주시면 감사히 받겠습니다 :)

'SAP > Enhancement' 카테고리의 다른 글
[ABAP] 07. SAP Customer Exit: Screen Exit (1) | 2024.11.05 |
---|---|
[ABAP] 06. SAP Customer Exit: Menu Exit (0) | 2024.11.04 |
[ABAP] 04. SAP Customer Exit (0) | 2024.11.04 |
[ABAP] 01. SAP Implicit Enhancement (0) | 2024.11.04 |
[ABAP] 00. SAP Enhancement & Modification (0) | 2024.11.04 |