SMOD 5

[ABAP] 08. SAP Customer Exit: 정리

Customer Exit은 스크린, 메뉴, 로직에 대해 Function을 통해 스탠다드 티코드를 Enhancement 할 수 있는 방법이다.​티코드 'CMOD' 에서 프로젝트 라고 하는 Exit을 관리하는 묶음 단위를 먼저 정의(생성)해야한다.​정의했다면 프로젝트 안에 들어갈 Exit 명을 입력해야 한다.​Exit을 찾기 위해서는 가장 먼저,소스 혹은 오브젝트 내에 단서를 기준으로 Enhance 가능한 티코드인지 확인이 필요하다. Exit단서Function ExitCall customer-function 'xxx'Menu Exit+'xxx'Screen ExitCall customer-subscreen 단서를 찾았다면해당 부분의 티코드를 포함하는 개발클래스, 프로그램 정보, 스크린정보 등을 종합하여 SMO..

SAP/Enhancement 2024.11.05

[ABAP] 07. SAP Customer Exit: Screen Exit

Screen Exit이란 스탠다드 티코드의 화면에 cbo 필드를 추가하는 것이다.​SAP는 스크린의 서브스크린에 필드를 추가할 수 있도록 열어놓았는데, 바로 그 부분에 개입하여 exit을 수행하는 것이다.​앞서 봤던 Function Exit, Menu Exit과 동일하게 Screen Exit도 어떻게 수정포인트(Exit)를 찾을 수 있을까?​Function Exit이 'Call Customer-function'으로 시작하는 것 처럼Screen Exit도 'Call Customer-Subscreen'으로 시작한다.즉, 스크린 PBO 내에 'Call Customer-Subscreen' 이 있어야 하는데, 찾는 방법은 다음과 같다.    찾고자 하는 티코드 스테이터스를 띄우고 스크린 넘버를 더블클릭하여 로직을..

SAP/Enhancement 2024.11.05

[ABAP] 06. SAP Customer Exit: Menu Exit

SAP는 상단 메뉴바에도 유저 메뉴를 심을 수 있도록 열어놓았는데 해당 Exit 포인트를 Menu Exit이라고 한다.​먼저 티코드에 메뉴 Exit이 가능하도록 열려있는 티코드인지 확인이 되어야한다. 확인 방법은 다음과 같다. 스탠다드의 gui status 를 연다 MENU EXIT은 + 라는 문자와 3가지 문자로 구성되어 있다.설명에는 Customer Exit이라고 적혀있으므로 쉽게 식별 가능하다.​프로그램명(SAPLS38E)과 Exit 펑션코드(+PGE)를 찾았다면 Exit 명을 찾을 수 있다. 내가 수정하려는 Exit의 명칭은 SEUED001 이다.Exit 명을 찾았다면 이후 절차는 Function exit과 같다.티코드 CMOD -> 프로젝트 생성 -> Enhancement Assignment에 ..

SAP/Enhancement 2024.11.04

[ABAP] 05. SAP Customer Exit: Function Exit

수정해야 할 부분에 걸려있는 Function 모듈을 찾았다면, 어떻게 수정해야 할까?​​먼저 티코드 CMOD에서 *프로젝트를 정의한다.*프로젝트: Exit(customer function)을 묶어 관리하는 하나의 묶음단위프로젝트를 만들었다면 프로젝트 안에 Exit(Function)명을 입력해야 하므로 스탠다드 티코드 로직 안에 있는 Exit 포인트(Call Customer~)를 찾아야 한다.단, 해당 Exit 포인트가 내가 수정할 부분이 맞는지 점검이 필요하다. 위 단계에 따라 Exit 명을 확인했다면 프로젝트에 Exit을 입력한다. 프로젝트에 Exit 할당이 끝났다면, 해당 Exit(Function)에 CBO 로직을 삽입해야 한다. Z INCLUDE문은 로직을 입력할 수 있다.​본 포스팅에서 예제로 해..

SAP/Enhancement 2024.11.04

[ABAP] 04. SAP Customer Exit

Customer Exit은 Function 기반의 Exit이다.SAP는 스탠다드 티코드 곳곳에 customer function을 심어놓았다.해당 customer function에는 Z네이밍의 INCLUDE 프로그램이 선입력되어있다.​알다시피 우리는 Z프로그램을 수정할 수 있다.즉, SAP는 유저에게 스탠다드 티코드의 수정 포인트로써 Z프로그램을 customer function이라는 이름의 특수 function에 심어놓은 것이다.​customer function도 결국 function이므로 sap의 가이드에 따라 파라미터를 넣고 받아야 한다는 점은 있지만,기존 스탠다드 티코드의 정합성을 깨트리지 않기 위함이 아닐까?​먼저 Customer Exit은 3가지 종류가 있다.프로그램 로직을 수정할 수 있는 Fun..

SAP/Enhancement 2024.11.04