- 구매오더 PO의 정보 중 일반 필드 외 업무에 따라 필요한 정보가 상이함.
- 회사의 필요 구매오더 정보를 추가 하는 과정이 필요.
- CBO 필드 추가 됨으로 영향 받는…
※ ME21N/ME22N/ME23N
※ BAPI_PO_CREATE1
PO 구매오더 CBO 필드 추가 과정
USER-EXIT Project 생성 → CI 구조 확장 → Subscreen 생성 → MM06E005 Exit 연결 → 로직 작성
USER-EXIT Project 생성
: SAP가 미리 만들어 둔 확장 콘센트에 전기 꽂는 구조임. 그 콘센트 전원을 켜주는 스위치가 PROJECT.

- T-CODE: CMOD, USER-EXIT 실행해줄 PROJECT 생성

- Enhancement 추가 (MM06E005)
: 어댑터인 Project 안에 어떠한 확장을 할지 확장 패키지를 넣어 주는 것 = Exit 묶음 세트
- MM06E005 → PO 관련 Exit 세트

CI 구조 확장
: EKKO/EKPO 확장 할 테이블에 필드 추가
- CI_EKKODB: PO Header Enhance Structure
- CI_EKPODB: PO Item Enhance Structure
a) T-CODE: SE11 에서 (CI_EKKODB / CI_EKPODB)
b) Project → Enhancement → 구성요소 → Include 테이블 확인 ( CI_EKKODB / CI_EKPODB)


Subscreen 생성
: ME21N/ME22N/ME223N 와 같은 화면에 보일 때, 스크린 설정 및 값에 대한 layout 로직 구현 필요
- CMOD - Screen Exit 에서 스크린 이름 확인 가능
- SAPLXM06 0101: Header tab
- SAPLXM06 0111: Item tab

1) Screen의 레이아웃으로 어떻게 화면에 보일 건지 필드 구성

2) 스크린페인터 로직
- 요구사항에 따라 추가로직 구현 가능.
- 많이 구현 되는 로직
- 필드 값에 따라 텍스트 필드 구현 시 로직 추가 필요 (FIELD~ON REQUEST)
- 생성/변경/조회에 따라 필드 값 입력 활성/비활성화 필요 (PBO)
예 1) 필드 입력 활성/비활성화
LOOP AT SCREEN.
IF GV_TRTYP = 'A'. " GV_TRTYP = I_TRTYP.
SCREEN-INPUT = 0.
ELSE.
SCREEN-INPUT = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
" SET TEXT
PERFORM GET_ZTRANS_TXT.
예 2) 값에 따라 텍스트 필드 구현 FIELD ~ ON REQUEST 활용 - 운송모드 ' A' = 항공

PROCESS BEFORE OUTPUT.
MODULE STATUS_0101.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0101.
FIELD EKKO_CI-ZTRANS MODULE GET_ZTRANS_TXT ON REQUEST.
-> 도메인 값
FORM GET_ZTRANS_TXT .
SELECT SINGLE DDTEXT
INTO @GV_ZTRANS_TXT
FROM DD07T
WHERE DOMNAME EQ 'ZD_TRANS'
AND DDLANGUAGE EQ @SY-LANGU
AND DOMVALUE_L EQ @EKKO_CI-ZTRANS.
ENDFORM.
※ TIP
- PO 화면 TAB 텍스트 설정

1) Sub Screen 의 텍스트 요소
2) Sub Screen 화면 번호 (101/111) 에 따라 이름 지정

MM06E005 Exit 연결
: 컴포넌트 (Funtion Exit) 활성화
- 해당 Exit 더블 클릭 후, Include 되어 있는 프로그램 더블 클릭으로 활성화
- 해당 프로그램에 관련 로직 추가
어떤 exit을 사용해야할 지 모를때…
Header
- EXIT_SAPMM06E_006: Export data to customer subscreen for header (PBO) (대표적)
- EXIT_SAPMM06E_007: Export data to customer subscreen for header(PAI)
- EXIT_SAPMM06E_008: Import data from customer subcreen for header (대표적)
Item
- EXIT_SAPMM06E_016: Export data to customer subscreen for item (PBO) (대표적)
- EXIT_SAPMM06E_017: Export data to customer subscreen for item(PAI)
- EXIT_SAPMM06E_018: Import data from customer subcreen for item (대표적)
로직 작성
: 사용하고자 하는 EXIT 안에 로직 작성해줌
- EXIT_SAPMM06E_006 (PO Header Export data)
*&---------------------------------------------------------------------*
*& Include ZXM06U36
*&---------------------------------------------------------------------*
EKKO_CI-ZTRANS = I_CI_EKKO-ZTRANS.
GV_TRTYP = I_TRTYP.
- EXIT_SAPMM06E_008 (PO Header Import data)
*&---------------------------------------------------------------------*
*& Include ZXM06U37
*&---------------------------------------------------------------------*
E_CI_EKKO-ZTRANS = EKKO_CI-ZTRANS.
참조
Custom Tab in ME21N/ME22N/ME23N purchase order tra... - SAP Community
- 끝
'SAP' 카테고리의 다른 글
| SAP MMAM 자재 유형 (Material Type) 변경 (0) | 2026.02.24 |
|---|---|
| SAP ABAP TRY~CATCH 덤프 방지 (0) | 2026.02.12 |
| SAP ABAP MIGO 확장, 자재 전표 BADI [MB_MIGO_BADI] (0) | 2026.02.09 |
| SAP ICON 아이콘 (상태/기능/가시성/업무속도 올리기) (0) | 2026.02.06 |
| MM_HISTORY_POPUP_SHOW 구매오더 이력 팝업 (0) | 2026.02.05 |