Manual : User Exit.

Slides:



Advertisements
Similar presentations
2ii Technologies,Inc. SAP R/3 를 위한 최적의 Archiving 솔루션
Advertisements

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Sogang e-Biz Outsourcing Seminar ASP Network Inc. 애경 산업의 ASP 를 통한 Outsourcing 사례 June, 2001 The following material was used by ASP Network Inc. during.
1 Chapter 6. 권한관리 1. OVERVIEW Authorization Check 의 정의 SAP 에서 권한의 부여는 기본적으로 Transaction 단위로 이루어진다. 만약 권한을 부여 받지 못한 사용자가 Transaction 을 접근하는 경우 접근 거부를 나타내는.
1 홈페이지 컨텐츠 정의서 메뉴명회사소개 > 회사개요 작성자이광호작성일 회사개요 X 당사는 ㈜위브솔루션 (WeveSolution) 으로서 수년간 ERP (Enterprise Resource Planning) Project 를 수행하여왔던 젊고 활기찬.
Copyright ⓒ 2004 Wevesolution, All rights reserved. ㈜위브솔루션 회사소개서 ㈜위브솔루션.
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
MrDataBld 2.x 제품 소개 2007.
ABAP Programming 정보자동화그룹 ERP팀 김 아 람 SW.
화일구조.
T A B L E 작성자 : 이 재 학.
Next SMS서비스 소개서 다음인터넷세상.
(HiveMall Work Process)
SAP Tuning 실무 교육 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU)
Introduction to Django
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
PL/SQL.
IT Application Development Dept. Financial Team May 24, 2005
Ⅰ웹로그분석을 통한 쇼핑몰 운영전략 코리아 인터넷 마케팅센터 대표 김형택
SAP QUERY SAP R/3 4.6C.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
오라클 데이터베이스 성능 튜닝.
AUTOMATIC ACCOUNT ASSIGNMENT AAA(자동전기).
★ Basic Function4 1 Posting Tips 2 Currency 3 Tax.
10장 예외 처리 프로그래밍 언어론 10.6 Pascal과 C의 에러 처리 10.1 설계 주제 10.2 PL/I의 예외 처리
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
동화처럼 읽는 이태준의 SAP이야기 동화처럼 읽는 이태준의 SAP이야기 Verion 1.0.
Manual : User Exit.
Time Zone 적용 절차 [MM모듈] ’ 經營支援總括 Global ERP T/F.
Install & Simulation VLSI 시스템 설계
SAP FI – Financial Accounting.
TUXEDO 프로그래밍 가이드.
Toad for Oracle 설치 방법.
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
Excel OLAP Reporting / OWC를 이용한
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
목차 Financial Accounting (재무 회계) - General Ledger (총계정 원장) - Accounts Receivable (외상 매출금) - Accounts Payable (외상 매입금) 1 장 재무 회계의 개요 2 장 재무 회계의 주요.
MySQL 기본 사용법.
Chapter 05 데이터베이스 프로그래밍.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
ER-Win 사용 방법.
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
영업관리 (SD).
8. Valuation & Penalty 작성일자 : 2008 년 10 월 01 일 Version : 5.0.
DataStage 운영자 지침서 Operator’s Guide
더존 ERP M3 표준 제안 (주) 더존다스 배포자: 한석범
영업관리 (SD).
Programmable Logic Device
1. Log in WCMS에서 사용하는 ID와 PW를 동일하게 사용.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
정보화를 통한 공기업 경영혁신 사례 한 국 조 폐 공 사.
1. 원가절감의 필요성 1) 의의 2) 원가절감 인식 무한 경쟁시대를 맞이하고 있습니다.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
화일구조.
CHAPTER 04 파일 설계(FiLE Design).
Signature, Strong Typing
Signature, Strong Typing
Signature, Strong Typing
GOS – In Background GOS(Generic Object Services) – In Backgroud
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
데이터 베이스의 내부 구조.
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
흐름도FLOWCHART 프로그래밍 과정 전단부 처리 단계 문제 분석 논리 설계
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
Presentation transcript:

Manual : User Exit

목차 Exit Overview 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 Overview (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 Overview (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

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

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

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

Exit Overview (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가 변경할 수 있는 여지를 제공한 것

SPL의 FI, CO의 Exit 일반적인 Exit 기타 공통사항

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하면 GBAAAAAA 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