Manual : User Exit.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

1 넷스팟 MAC ID 설정 방법 ( 서울캠퍼스 기준 ) 각종 스마트폰의 WiFi 를 이용시 각종 스마트폰의 WiFi 를 이용시 MAC ID 설정을 하는 방법 입니다. 아이폰의 경우는 별도의 설정없이 바로 사용이 가능하오니, 사용이 어려울 경우, 고객센터로 문의하시면 됩니다.
아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
1 홈페이지 컨텐츠 정의서 메뉴명회사소개 > 회사개요 작성자이광호작성일 회사개요 X 당사는 ㈜위브솔루션 (WeveSolution) 으로서 수년간 ERP (Enterprise Resource Planning) Project 를 수행하여왔던 젊고 활기찬.
ABAP Programming 정보자동화그룹 ERP팀 김 아 람 SW.
T A B L E 작성자 : 이 재 학.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Database Laboratory, Hong Ik University
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
1 ENT 출고확정 처리방법 ? 1. 발주관리 > 주문전체 보기 내 필드 추가 확인 ? ENT 주문관리 페이지에서 그림
1. 컴파일러 개론 1-1. Compiler 정의 1-2. Language Processing System
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
WINIA e-PURCHASING SYSTEM Copyrightⓒ 2002 by MCC. All right reserved..
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
CUDA Setting : Install & Compile
MySQL 및 Workbench 설치 데이터 베이스.
Manual : User Exit.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
메뉴얼 - 협력업체용 -.
홍익대학교 메일 시스템 구축 Outlook 설정 매뉴얼.
SAP GUI 설치 가이드 프로세스 혁신 TFT.
Communication and Information Systems Lab. 황재철
Outlook Addin 설치 방법 및 매뉴얼
Cross Compiler 설치.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
KIM HEESANG PL/SQL 2 KIM HEESANG
Method & library.
어서와 C언어는 처음이지 제14장.
[ ] RFID/2D시스템 화면 기능 목록 루텍 황어진 안녕하십니까?
영상처리 실습 인공지능연구실.
SD Overview.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
ERP 전용 브라우저 설치 매뉴얼 (Windows 7)
ACL(Access Control List)
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
법령안편집기 연결버튼 표시가 안 될 경우 정부입법지원센터( 입안 및 심사안을 진행시
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
Open4U 공급업체 접속 방법 Open4U 시스템 신규 접속 방법 메인 화면 및 로그인 하기 초기 비밀번호 변경하기
화상대화 매뉴얼 한국지역정보개발원.
OpenCV 설정 2.21 만든이 딩딩.
GOS – In Background GOS(Generic Object Services) – In Backgroud
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Tensorboard in Windows
업체등록신청절차 목차 메인화면 메세지별 유형 2-1. 이미 가입된 공급업체
Chapter 10 데이터 검색1.
함수, 모듈.
System 구조 ① ② 프로젝트명 : 결산시스템 No. 1 System Name : 결산화면-1 단계 : 1
표지 Ⅵ. Web VAN 사용자매뉴얼 (ERP Interface)
무선랜 사용자 설명서 (Windows Vista 사용자).
Mr. Software engineering Project group 9.
TrustNet 전자 협조전 사용설명서 목 차 작성,수정,삭제 결재함 처리현황 발송대장,접수대장
maria db JDBC PROGRAMMING 5
MIS 플2 회계- 마감후이월(2007).
Installation Guide.
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
Docker Study 6~7.
이 프레젠테이션은 PowerPoint의 새로운 기능에 대해 안내하며, 슬라이드 쇼에서 가장 잘 보입니다
eBooks on EBSCOhost 이용매뉴얼
인지세 등록 방법 Version : 1.0 Date :
7 생성자 함수.
BoardGame 보드게임 따라가기.
Presentation transcript:

Manual : User Exit

목차 Exit의 원리 Exit 이란 Customer Exit 찾기 1 Customer Exit 찾기 2 User Exit과 Customer Exit의 연결 Function Exit Parameter CO-PA 주요 Exit User Exit번호와 Function Exit 연결(특성유도) CO-PA 특성유도 User Exit 설명 User Exit번호와 User Exit Logic User Exit번호와 Function Exit 연결(평가) FI전표 유효성점검과 대체 FI전표 유효성점검 IMG FI전표 유효성점검 Logic 만들기 FI전표에서의 예산 Check 매출채권, 받을어음의 손익센타 대체(FI) 부록 : Exit에서 사용하는 간단한 ABAP 구문

Exit의 원리 User 자신의 Program이 불리어 지는 SAP Program의 Point SAP Standard Program Flow 중 User가 원하는 대로 Control(Data의 변화나 오류 점검) 을 할 수 있도록 SAP에서 구멍을 뚫어 놓은 것 SAP Standard Program Flow 평소는 Direct로 Process가 흐르지만 Enhancement 를 활성화 하면 그 곳을 거쳐가게 된다. 활성화 User Exit Include 문 Add On Program으로는 Exit과 같은 효과를 낼 수 없다. Exit이 없으면 Table을 직접 건드려야 하는 일이 발생 또는 Source를 고쳐야 한다. Enhancement Customer Exit 기능확장

Exit이란 Customer Exit User Exit SAP가 준비한 Standard Enhancement Program 생성, 변경 : SMOD Customer Exit Customer Exit을 사용하는 User Program 생성, 변경 : CMOD 일반 Developer가 Project 성격에 따라 수정 (통상 Customer Exit의 Include문 사용) User Exit Project(CMOD) 필요한 Customer Exit 만 선택하여 활성화 기능확장 지정 Customer Exit, Enhancement 평가전략 U10 특성유도(기능확장) U20 기타 특성으로 인한 평가(기능확장) U30 Function Exit Module Include문 User Logic IF Exit_No = ‘U10’. … ENDIF. User Exit

Customer Exit 찾기 T-code : SMOD Exit을 걸기 전에 내가 걸고자 하는 기능의 Customer Exit이 있는 곳과 가능성을 파악해야 한다. T-code : SMOD Application 구성요소를 찾아 Customer Exit을 찾는다. 선택을 한 후 Double Click SAP가 미리 준비한 기능확장(= Enhancement = Customer Exit) 각 모듈별로 가능한 기능이 정리되어 있다. 기능확장 Component 별로 어떤 기능을 갖고 있는지 확인 (다음 Page)

Customer Exit 찾기 2 찾은 Customer Exit을 조회한다. Customer Exit에는 1개 이상의 Function Module Exit이 있으며 각 설명을 볼 수 있다. 각 Function Module Exit에 대해 Document를 찾아보면 아래와 같은 설명과 User Exit 예제가 제공된다. Function Module Exit을 Double Click하면 Source Code가 보인다.

User Exit과 Customer Exit의 연결 T-Code : CMOD Project를 생성하여 사용할 Customer Exit 을 지정한 후 거기에 소속된 Function Module Exit의 Include문에 User의 Logic을 입력한다. 처음에는 Include문이 비어있음 생성하고 활성화를 시키면 파란불 Include 문에 User Logic을 입력

Function Exit Parameter EXIT_SAPLKEDRCOPA_001 Import 구조 CE0XXXX(경영단위) Export Function Module Exit의 Source를 보고 당황하지 말자 Tab Page의 Import, Export를 보면 자세한 정보를 알 수 있다 즉 Import Data를 이용하여 Export Data를 변경하는 것이다. 결국 IMG Setting에 의해 유도된 특성을 Table에 Write하기 전에 User가 변경할 수 있는 여지를 제공한 것

CO-PA 주요 Exit Customer Enhancement Function Module Exit 특성유도 COPA0001 EXIT_SAPLKEAA_001 4.X 이상에서 사용 안함 EXIT_SAPLKEAA_002 4.X 이상에서 사용 안함 EXIT_SAPLKEDRCOPA_001 4.X 이상버전 특성유도에 사용 구조 CE0XXXX 평가 COPA0002 EXIT_SAPLKEAB_001 Actual Data Valuation EXIT_SAPLKEAB_002 Plan Data Valuation EXIT_SAPLKEAB_003 Valuation Using Conditions EXIT_SAPLKEAB_004 Flexible Assignment Costing Key Table CE1XXXX, CE2XXXX KOMK/KOMP(가격결정) 구조 COPA_EXIT_KEAB_004(원가계산키)

CO-PA 특성유도 User Exit 설명 예제 영업사원 특성 유도 기능확장 SAP R/3 표준으로 영업사원 특성유도 실패 영업사원정보를 HR Master 사용시 영업사원별 PA 배부 불가 사용자정의 특성 WW100 등록 특성추출정의에서 기능확장으로 정의(U20) 판매오더의 파트너 (VBPA) Table에서 영업사원을 읽어서 유도 유도된 영업사원번호별 성명을 인사 Master Table에서 찾아서 Update 특성구조 CE0EH00와 동일 구조 Data 정의 (TABLE: CE0_EH00 LIKE CE0EH00) 영업사원번호 특성WW100의 점검 Table(T2500)과 Text Table(T25A0)과 동일 구조 Data 정의 BEGIN OF T_2500 OCCURS 0. INCLUDE STRUCTURE T2500. END OF T_2500. 3. 경영단위와 User Exit 번호를 Check (Case ~ When ~ Endcase, 혹은 IF ~ ELSE ~ ENDIF사용 4. 특성 정보를 사용자 정의 구조에 복사 CE0_EH00 = I_COPA_ITEM. 5. 기 유도 특성인 판매오더로 VBPA TABLE(파트너)에서 영업사원을 검색) SELECT SINGLE * FROM VBPA (영업문서 : 파트너 Table) WHERE VBELN = CE1_EH00-KAUFN (판매오더 번호) AND PARVW = ‘AF’. 6. 검색된 값으로 구조의 특성치를 변경 (CE0_EH00-WW100 = VBPA-PERNR) 변경이 완료되었으면 Exporting 구조에 사용자 정의 구조를 복사 E_COPA_ITEM = CE0_EH00.

User Exit 번호와 Function Exit연결(특성유도)

CO-PA 평가 User Exit Logic 예제 SD에서 VPRS를 못 받는 경우 Material Master에서 직접 표준원가 가져오는 Exit (영업의 판매사원에게 제조원가 정보를 보이지 않게 하기 위하여 SD의 Pricing Procedure에서 VPRS를 제외하고 대신 판매오더 원가 Simulating용 조건유형 EK02를 사용한다.(CO IMG)) CO-PA는 SD의 조건유형 VPRS로 부터 제조원가를 받게 되는데 이 값이 0 이므로 CO-PA는 직접 Table 을 찾아서 값을 가져와야 한다. Import Parameter중 Data 구조를 확인 (예) EP_SOURCE. (CE1EH00) 해당 구조를 복사할 구조(DATA)을 정의 (예) DATA: CE1_EH00 LIKE CE1EH00. Data구조를 사용자가 정의한 구조로 복사 (예) CE1_EH00 = EP_SOURCE) CE1EH00의 Data가 EP_SOURCE를 통하여 CE1_EH00으로 Import 4. 경영단위와 User Exit 번호일 때를 조건으로 지정 (예) WHEN ERKRS. CASE ‘EH00’ WHEN EXIT_NR CASE ‘U10’ 이미 유도된 특성치를 이용, Table에서 원하는 특성을 찾는다. 찾을 Table의 Key를 확인 (예) SELECT * FROM MBEW WHERE MATNR = CE1_EH00-ARTNR AND … Table에서 찾은 값을 사용자 정의 구조에 입력 (예) CE1_EH00-VV006 = MBEW-STPRS. Logic이 완료되면 Export 구조로 복사 (예) EP_TARGET = CE1_EH00.

User Exit 번호와 Function Exit연결(평가) 평가전략 COPA0001 경영단위 CE1EH00 : 경영단위통화 CE1EH00 : 회사코드통화 User Exit No

FI전표 유효성점검과 대체 1. 개요 FI전표를 생성할 때 오류를 방지하기 위한 유효성점검(Validation)과 특정필드를 다른 값으로 바꾸기 위한 대체(Substitution)이 있다. 2. 절차 FI IMG의 유효성점검 또는 대체 항목에서 선행조건과 점검, 메시지, 대체 등에 User가 간단한 Boolian Logic으로 오류 Check 또는 특정필드의 바꾸기를 지정한다. 이 때 각각 FI전표가 입력되는 시점의 정보를 이용하므로 BKPF(전표Header Table)과 BSEG(전표 Line Item Table)의 FLD를 전부 조건으로 사용할 수 있다. 3. User Exit 기본적으로 사용할 수 있는 BKPF나 BSEG FLD로 User의 Logic이 불충분 할 경우 User Exit을 사용한다. FI전표의 Exit은 Validation을 위한 RGGBR000와 Substitution을 위한 RGGBS000로 구성된다. 각 Program에 FORM <User Exit No> ~ ENDFORM 문을 사용하여 Logic을 입력하며 User Exit No를 유효성점검이나 대체의 단계에 지정한다.

특별목적원장 IMG FI전표의 Exit을 사용하려면 RGGBR000, RGGBS000를 COPY 한 ZRGGBR000, ZRGGBS000를 특별목적원장 IMG에서 Setting해야 한다. 앞으로 위의 Program에 의해 Exit이 걸린다는 것을 IMG에서 Setting하는 것

FI전표 유효성점검 IMG 다음 IMG Path를 통하여 유효성점검과 그 하위에 단계를 생성 단계마다 선행조건, 점검, 메시지 지정 회사코드별 유효성확인을 생성 호출점 : Header, Item, 전표완료 활성화 선행조건 만들기 : BKPF, BSEG 등의 FLD 와 Boolean 연산자를 이용 점검란에 종료(Exit의 번역)란에 User Exit 번호를 입력 Double Click User Exit 번호 Double Click

FI전표 유효성점검 Logic 만들기 T-Code : SE38 (ABAP Editor) 초기에 RGGBR000와 RGGBS000를 ZRGGBR000, ZRGGBS000 로 Program Copy 2. EXIT 선언 3. Exit 본문 전표에 입력한 Cost Center를 CSKS(CCtr Master Table)에서 찾아 코스트센타 범주에 따라 제조경비, 판관비를 서로 기표하지 못하게 하는 내용 1. Table선언 Exit에서 사용할 Table들을 정의

FI전표 Exit Source Program 재생성 Exit Program은 Client Independent이기 때문에 동일 Server를 사용할 경우 문제가 없지만 개발 Server에서 운영 Server로 옮긴 후 Substitution/Validation/Rule등이 제대로 넘어가지 않는 경우가 있어 그럴 때에는 다음 화면과 같이 Reporting Program을 돌려서 Program 을 재생성 한다. RGUGBR00 Program을 실행시켜서 아래 Check Box에 Click 하고 Run하면 GBAAAAA GBT XXXXX GBS XXXXX 과 같은 Source Program이 생성된다. 이와 같이 생성되는 Program은 절대로 CTS시키면 안되고 반드시 이 Program 을 통해 생성해야 한다.

FI전표에서의 예산 Check 예제 예산통제를 받을 Object(예산번호)로 Internal Order를 사용 예산번호(I/O)에 Plan Version 20번으로 원가요소별로 계획한 후 예산으로 간주 예산 Check 해당계정으로 FI전표 Line Item 입력시 COSP Table에서 해당 오더별 원가요소별 예산(Version 20)과 과거실적(Actual)+현재 기표하고자 하는 금액(BSEG-HSL)을 비교하여 초과 여부를 판단, Error Message를 보여주는 User Exit FI IMG 유효성점검의 선행조건에서 오더가 Null이 아니면서 예산Check 해당계정이면(SET으로 등록, IN구분 사용), 점검의 종료(Exit을 번역한 말)에 User Exit 번호를 입력 오더 범주가 ‘1’(내부오더)이 아니면 Return COSP에서 값유형 = 01, Version 20인 WKG001~WKG12 총 Sum  Budget COSP에서 값유형 = 04, WKG001~WKG12 총 Sum  Actual BSEG-HSL + Actual > Budget 인 경우 Error Message message E(001) “예산을 초과하였습니다.” 참고 : FI의 통화유형 CO의 통화유형 GLT0 COSP 거래통화 TSL 거래통화 WTG 회사코드통화 HSL 오브젝트통화 WOG 그룹통화 KSL 관리회계통화 WKG

FI전표 대체(Substitution) 대체의 단계를 생성하면 아래와 같이 대체할 필드를 선택하게 된다. 상수값 : 일정 조건일 때 상수값 대체 종료(Exit) : Exit 사용하는 번호 필드 – 필드 : BSEG의 FLD를 타 필드로 대체 Exit No

FI전표 대체(Substitution) 대체는 ZRGGBS000에서 정의한다.

CO 내부전기에 대한 유효성점검 Double Click 유효성점검 생성 단계 생성 처음에는 Menu에서 찾아서 입력 점검 생성 Exit 번호 지정 완료 후 활성화 Double Click

CO 내부전기에 대한 유효성점검(Exit Logic) Receiver의 코스트센터 범주에 따라 판관비, 제조경비 구분 Check Program : ZRGGBR000 참조 구조 COBL_GENERAL COBL_SENDER COBL_RECEIVER

생산오더 저장시 원가추정 여부 Check SAP 표준의 문제 SAP 표준에서 표준원가 Release가 안 되어 있어도 생산이 진행된다. 생산 확정에서 입고, SD의 출고까지 Error없이 진행되다가 SD 대금청구시 Error가 난다. 이 때 표준원가 Release를 하려면 이미 물류 전표가 생성되었으므로 Release가 되지 않는다. Exit 개요 생산오더 생성시 표준원가 추정 Release여부를 Check하여 Release 안된 제품에 대해서는 생산오더가 생성되지 않게 하는 Exit Customer Exit : PPC00006 (오더헤더필드에 대해 디폴트를 지정하기 위한 기능확장) Function Exit : EXIT_SAPLCOZF_003 IF CAUFVD_IMP-MATNR NE ''. SELECT SINGLE * FROM MBEW WHERE BWKEY = CAUFVD_IMP-WERKS AND MATNR = CAUFVD_IMP-MATNR AND BWTAR = ' '. IF MBEW-LPLPR = 0. MESSAGE E000(ZCA001) WITH TEXT-101. EXIT. ENDIF. CAUFVD_IMP : 생산오더 헤더Data 구조 MATNR : 생산오더의 자재번호 MBEW : 자재 평가 Data LPLPR : 표준원가 Release된 금액

판매오더 원가추정의 통제 현업요구 특징 제품의 표준제조원가를 영업사원에게 노출시키지 않으면서 총원가개념 (원가계산표 사용)의 원가를 볼 수 있게 하기를 원함 Process 판매오더 저장시 총원가(조건유형 : EK02)가 자동저장 되며 판매오더의 원가계산 화면에서는 원가추정을 할 수 없게 함 Customer Exit : COPCP005 (자재평가에 대한 User Exit (전략 U)) Function Exit : EXIT_SAPLCK21_002 IF SY-TCODE = 'VA01' OR SY-TCODE = 'VA02' OR SY-TCODE = 'VA03'. IF IMP_KLVAR = 'IPC4' AND SY-DYNNR = '4611' AND SY-UCOMM = 'PKAL'. MESSAGE E000(ZCA001) WITH TEXT-601. EXIT. ENDIF. IMP : 원가추정 Data 구조 KLVAR : 원가계산 변형 SYST : System Parameter 구조 SY-TCODE : 현행 Transaction Code SY-DYNNR : 화면번호 SY-UCOMM : 실행 Icon의 Code

SD->FI 전표의 참조FLD에 영업사원 사번과 영업팀을 입력 현업요구 특징 SD로부터 발생된 FI 전표의 참조필드에 영업사원 사번과 영업팀(영업그룹)을 기록 Process 판매오더 저장시 총원가(조건유형 : EK02)가 자동저장 되며 판매오더의 원가계산 화면에서는 원가추정을 할 수 없게 함 Customer Exit : SDVFX002 (User Exit for A/R Line (transfer to accounting)) Function Exit : EXIT_SAPLV60B_002 DATA: LV_PERNR(10) TYPE C. SELECT SINGLE PERNR INTO LV_PERNR FROM VBPA WHERE VBELN = CVBRP-AUBEL AND ( PARVW = 'AF' OR PARVW = 'VE' ). XACCIT-XREF1 = LV_PERNR. XACCIT-XREF2 = CVBRP-VKGRP. VBPA : 영업문서 파트너 PARVW : Partner Function CVBRP : 대금청구 Header XACCIT : 회계 Interface 구조

Report Painter 실행시의 권한Check Exit 현업요구 특징 자기 부서(현장)의 Data만 조회 Process Report Painter Report의 실행시 선택화면의 FIELD 정보를 참조하여 권한 Check Customer Exit : GRWTAUTH (Report Painter Authorization) Function Exit : EXIT_SAPFGRWX_001 선택화면 입력정보 : I_T_SELSCREEN_PARAMS 일반정보 : Report, Report Group, Library 등

Report Painter 실행시의 권한Check Exit (실행화면)

Field Exit T-Code : RSMODPRF 특정 Field에 정해진 값만 제한하여 받게 하는 사용자 정의 Exit 모든 경우에 전부 적용하려면 Global로, 특정 프로그램에만 적용하려면 Program명과 화면번호를 지정한다. 그 Field의 값을 제한하는 Coding을 한다.

Exit에서 사용하는 간단한 ABAP 구문 SELECT Table에서 하나 이상의 특정 Record를 찾는다. DATA: Program 에서 사용할 변수, 구조, Internal Table 등을 선언 TABLES: Program에서 사용할 Table을 선언 특정조건에 따라 Statement 문이나 타 Program으로의 Branch IF ~ ELSEIF ~ ENDIF CASE ~ WHEN ~ ENDCASE IF 조건문과 비슷하나 경우가 많을 경우

간단한 ABAP 구문 SELECT : Table에서 Record Read SELECT SINGLE <col>/* [INTO <f1>] FROM <itab> WHERE … SELECT * FROM <itab> WHERE … 정의 : TABLE, DATA INSERT, UPDATE, APPEND CASE <f1>. WHEN <f10> OR <f11>. <statement1> WHEN <f20> OR <f21>. <statement2> … WHEN OTHERS. ENDCASE. IF <f10> OR <f11> <statement1> ELSEIF <f20> OR <f21> <statement2> ELSEIF <f30> OR <f31> <statement3> ELSE <statement4> ENDIF SY-SUBRC