SAP는 상단 메뉴바에도 유저 메뉴를 심을 수 있도록 열어놓았는데 해당 Exit 포인트를 Menu Exit이라고 한다.
먼저 티코드에 메뉴 Exit이 가능하도록 열려있는 티코드인지 확인이 되어야한다.
확인 방법은 다음과 같다.


스탠다드의 gui status 를 연다

MENU EXIT은 + 라는 문자와 3가지 문자로 구성되어 있다.
설명에는 Customer Exit이라고 적혀있으므로 쉽게 식별 가능하다.
프로그램명(SAPLS38E)과 Exit 펑션코드(+PGE)를 찾았다면 Exit 명을 찾을 수 있다.


내가 수정하려는 Exit의 명칭은 SEUED001 이다.
Exit 명을 찾았다면 이후 절차는 Function exit과 같다.
티코드 CMOD -> 프로젝트 생성 -> Enhancement Assignment에 Exit 명 입력 -> 로직 수정 -> 테스트

프로젝트에 exit 명을 입력하여 exit을 assign한다.
이후 해당 Exit의 component에 menu를 먼저 정의한다.


활성화 후 다시 티코드를 찾아보면 해당 경로에 내가 정의한 메뉴가 들어가 있음을 볼 수 있다.

커맨드라인에 /h 를 입력하고 위 추가한 메뉴를 클릭하면 이제 어떤 Customer function을 타는지 확인 할 수 있다.


확인된 펑션명은 EXIT_SAPLLOCAL_EDT1_002.
즉, 추가한 메뉴를 누른다면 펑션코드 +PGE를 갖고 위 Customer Function을 타게 된다는 것이다.

펑션을 확인했다면, Z include 프로그램에 로직을 집어넣는다.

로직 입력이 다 되었다면 프로젝트를 active한다.
그리고 대망의 테스트..


이렇게 menu exit이 성공했다.
정리
- Menu Exit이 가능한 티코드인지 gui 확인
- 메뉴바에 +로 시작하는 임의의 3글자 펑션코드 확인(ex. +ABC)
- 해당 메뉴의 Exit 명 확인
- CMOD에서 프로젝트에 해당 EXIT명을 입력하여 assign하고 메뉴 먼저 정의 후 활성화
- 다시 티코드에서 디버깅 걸고 추가된 메뉴 클릭하여 어떤 펑션 타는지 확인
- 펑션 확인 후 메뉴 클릭 시 동작할 CBO 로직 입력
- 프로젝트 다시 활성화
- Menu Exit 확인
* 틀린 내용은 댓글로 지적해주시면 감사히 받겠습니다 :)

'SAP > Enhancement' 카테고리의 다른 글
[ABAP] 08. SAP Customer Exit: 정리 (0) | 2024.11.05 |
---|---|
[ABAP] 07. SAP Customer Exit: Screen Exit (0) | 2024.11.05 |
[ABAP] 05. SAP Customer Exit: Function Exit (0) | 2024.11.04 |
[ABAP] 04. SAP Customer Exit (0) | 2024.11.04 |
[ABAP] 01. SAP Implicit Enhancement (0) | 2024.11.04 |