Gateway Service ● Fiori 또는 UI5로 SAP Client단의 UI를 개발하였다면  SAP Server단의 개발이 이루어져야 한다. Server단의 OData 서비스를 생성하는 작업이 SAP Gateway Service 이다. ● 작업순서 Create.

Slides:



Advertisements
Similar presentations
BEA WebLogic version Practice 장성봉
Advertisements

Visual Basic과 MS-Access를 이용한 렌터카 관리 프로그램
IEEE/IEE Electronic Library 업체 로고 및 업체명 (02) ( 代 )
Developments on Application System & Integration System.
콘솔 케이블을 이용한 NESPOT AP 개통절차 엠엠씨 - 통합형 MW-3000AP Nespot 개통기량 향상을 위한 길라잡이.
0 UMN 2011 ERP Terapan ABAP Introduction Session # 8.
Term Project Detail Design 2 Traffic Generator So Jung LEE Dpnm Lab. CSE POSTECH
SAP Tuning 실무 교육
NAT 강사 김성훈.
Learning Directory 2000/09/16 이니텍 보안기술연구소 권용철
SOAP 실전예제 Internet Computing KUT Youn-Hee Han.
ISLab Flash Team Flash File System Ban,A US Patent 5,404,485 한국외국어대학교 컴퓨터및정보통신공학과 박 성 환.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 실 습실 습 6 WEEK 1 - INTRODUCTION TO VOID FUNCTIONS (PROCEDURES)
12 Chapter 2 엑셀 데이터 다루기 엑셀의 작업구조 데이터 저장소 셀 ①장부 ②페이지 ③항목 ①장부 = 통합문서 ②페이지 = 워크시트 ③항목 = 셀 셀주소 A1: A 열 1 행 셀.
인터럽트의 개요 Interrupt의 처리 과정
Module 01: Dynamic Host Configuration Protocol (DHCP)
Open Data Protocol * Han Wang 11/30/2012 *
1 Linux Command. Advanced Compiler Laboratory2 Simple linux cmds ls List information about FILEs, by default the current directory. pwd Print Working.
Load Balance in Linux Load balancing Sung-joon Choi Real-Time Operating Systems Lab. Seoul National University
Publishing Data for the Users (Chapter18) Data Warehousing Lab. Semester 2 HyunSuk Jung.
UniONE I&C 시스템 기술지원 팀 Sparc Enterprise Mx000 firmware upgrade.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
IT CookBook, 초보자의 첫 번째 엑셀 2007 엑셀 2007 기초. 2 이 장에서 배울 내용  Section 01 엑셀 2007 기본 기능 익히기  Section 02 데이터 입력 및 편집  Section 03 워크시트 편집 및 관리  Section 04.
H 2 /0.736ÅG03NWChemGAMESS cc-pVTZHF MP cc-pVQZHF MP cc-pV5ZHF MP
Chapter 14 Reading Usenet Newsgroups Contents Common Newsreading Tasks Newsreading in Outlook Express Newsreading in Netscape Newsgroup.
The Session Initiation Protocol: Internet-Centric Signaling 네트워크 연구실 류 준 우.
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 관리 페이지 접속방법 (AP 설정 변경.
1 Chapter2. XML Structures for Existing Databases Database 연구실 석사 1 학기 편선경.
1  Access Policy 는 Network Access 에 대한 회사의 문서화된 표준이다. Device 접근 Network 에의 접근 Definition of Access Policy Core 나 다른 Switch Block 에 대한 루트나 서비스 업데이트를 금지.
AVL : ABAP VIEW LIST.
CAMDA competition 두 번째 데이터 - Class Prediction and Discovery Using Gene Expression Data 데이터 설명 및 분석.
Simulink 강의 노트 작성 일자 : 2007, 01, 30 저 자 : 임 종수. 강의 순서 -- Section Simulink 의 특징과 install 시 주의사항. 2. simple simulink model 개발. 3. simulink 의 계산 방법.
SAP BC400 테크윈 IS팀 서기준.
프로그래밍 기초와 실습 Chapter 6 The Fundamental Data Types.
9 주 실습강의 XML Visualization(1) 학기, 소프트웨어 설계 및 실험 ( Ⅰ )
Database Laboratory Lim, Hyunsook Inventors : Scott Davidson Lowry, Robert M. Lowry Assignee : Electronic Data Systems Corporation Filed : Jul. 1, 1996.
Windows95 VxD Design and Win32 Application inter face 발 표 : 노 원국 ( 컴퓨터 시스템 설계 )
The Java Context Awareness Framework(JCAF) Ji-Yeon Lee.
Kernel Programming Task Management ( 월 ) 이 병 희
Chapter 14 DirectInput의 전말
Loading the Data Warehouse (Chapter10) Data Warehousing Lab. Semester 2 HyunSuk Jung.
영상 획득 영상 저장 카메라 파라메터 커스텀 이미지
사용환경 Communicator 연동 프로그램 설치 Communicator 실행 Web Conference 개설
EBSCOhost Mobile for SmartPhone Users. EBSCOhost Mobile 시작하기 스마트폰에서 인터넷 연결 연결주소 1. search.ebscohost.mobisearch.ebscohost.mobi 2. m.ebscohost.comm.ebscohost.com.
R-BOX. step1. TIB_rv_7.5.3_win_x86 설 치 step2. RBOX.exe 실행.
State Machine & Timing Design
Real-Time Computing and Communications Lab., Hanyang University Real-Time Computing and Communications Lab., Hanyang University.
Multipurpose ITS Implementation Document 김계현 IM Lab.
제 10 장 Cache Memory. kuic.kyonggi.ac.kr/~dssung 10.0 Cache = Cache Memory Cache 는 Fast Memory 이며 CPU 와 Memory 사이에 위치 Memory 내 일부 정보를 가지고 있다 CPU Cache.
Go by Example Closures ~ Errors , Sam Jo.
9-4 The Shifter  Shifter shifts the value on Bus B  Right shift and Left shift Bidirectional shift register with parallel load First clock pulse 에 Bus.
방명록 제작. 목차  기본 레이아웃  DB 구조  방명록 구조  코드 설명  화면 설명.
Term Project Detail Design Traffic Generator So Jung LEE Dpnm Lab. CSE POSTECH
ALV (Abap List Viewer) About. 1.ALV 란 ?. 1.ALV 개요. 2.ALV 목적. 3.USE. 2.ALV 속성. 1.Class / Function Group. 2.Field Catalog. 3.Layout Structure. 3.ALV Sample.
10 DAX Calculation For Tabular or PowerPivot Model
Data Mining : Basic Data Mining Techniques Database Lab 김성원.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 실 습실 습 4.
제 11 장 Virtual Memory. kuic.kyonggi.ac.kr/~dssung 11.1 Comparison of Cache and Virtual Memory CPU Cache Memory Hit CPU address = Memory address Cache.
1/24 E-Architecture 팀 e-Architecture DBA Part SQL Statement Tuning 실무사례 작성자 버전 최종 작성일 문서 번호 : 김 혜 란 : v1.1 : :
BW 3.0A ABAP Coding 목차 1.InfoSources. 2.InfoProvider. 3.User Exit for Variables.
Analog IC design 7주차 Dec.4th Multimedia Lab..
URL PHONE FAX ADDRESS #909, VENTURE VALLEY, 958, GOSAEK-DONG, GWONSEON-GU,SUWON,
Data 전송하는 웹 서비스 Meilan JIANG Cyber infrastructure Research Laboratory Department of Advanced Technology Fusion.
ABAP Performance Tuning for SAP R/3 1 ABAP Performance Tuning.
데이타베이스 보안 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ORACLE XML DB Repository 이 윤 주 인터넷기술 (032ITI10)
JAVA 실습 6 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. 1HPC & OT Lab.
Mobile Harbor Project 김효영. Contents  About CSD Lab  What is Mobile Harbor?  About the Project.
REST Client Tutorial by Pavan Ethic Coder
Presentation transcript:

Gateway Service ● Fiori 또는 UI5로 SAP Client단의 UI를 개발하였다면  SAP Server단의 개발이 이루어져야 한다. Server단의 OData 서비스를 생성하는 작업이 SAP Gateway Service 이다. ● 작업순서 Create a project Import an XML file (DDIC / RFC/ BOR(Business Objects Repository)) Generate a service Register and Maintain a service Implement a service (Redefine or Mapping Data Source)

Gateway Service 개발 시 사용되는 Tcode SEGW : Gateway Service Builder /IWFND/MAINT_SERVICE : Activate and Maintain Services /IWFND/GW_CLIENT : Gateway Client ● SEGW  프로젝트생성 및 Import XML(DDIC,RFC,BOR), Service Class 생성 ● /IWFND/MAINT_SERVICE  SEGW 에서 생성한 프로젝트 서비스를 등록 및 관리한다. ● /IWFND/GW_CLIENT  생성된 서비스를 가지고 Create, Read, Update, Delete작업을 수행 함으로 개발된 프로그램을 테스트 할 수 있다.

Gateway Service Builder : SEGW Project Create Project Open Runtime Objects Generate

Gateway Service Builder : Project Create Project Name Project Description

Gateway Service Builder : Import DDIC Entity Name : Project에서 사용할 Entity name으로 개발자가 직접 지정한다. ABAP Dictionary Table Entity name을 참조로 Entity Set을 자동으로 만들어준다.

Gateway Service Builder : Import DDIC 사용할 필드들을 체크한다.

Gateway Service Builder : Import DDIC Key값을 설정한다. 이 Key는 추후에 파라메터로 사용되는 필드가 된다. 파라메터로 사용될 때 사용되는 Name이 된다. PS : CRUD(Readset 제외)시에 Key필드로 지정된 필드만 Client단의 URI 의 조건필드에 들어갈 수 있다.

Gateway Service Builder : Entity Attribute Create, Update, Sort, Null허용, Filter 여부를 체크한다. Key필드는 Null에 체크하지 않는다.

Gateway Service Builder : Runtime objects generate

Gateway Service Builder : Runtime objects EntitySet이 자동으로 생성됨  프로젝트 생성시 옵션 Gateway Service Name  추후에 Service 등록 시 사용 Data Provider Base Class, Data Provider Secondary Class. DPC_EXT 인 Class가 secondary class 이며 이 class의 메소드에서 실질적인 Business logic 이 구현된다. Secondary class 가 생성될때 자동으로 Create, Read, Read(set), Update, Delete 메소드가 생성된다.

Gateway Service Builder : Method Redefine Go to ABAP Workbench로 이동 하면 우측과 같이 해당 Class의 상속받은 CRUD 메소드가 보인다.

Gateway Service Builder : Method Redefine Redefinitions 에 메소드가 생기고 우측에 해당 메소드의 내용이 보인다. 나머지 메소드도 모두 Redefine 작업 수행 해준다.

Gateway Service Builder : Method Redefine active

Gateway Service Builder : Create Method Tcode : SE24 에서 Secondary class인 DPC_EXT 를 조회해보면, IO_DATA_PROVIDER가 Create Method에 기본Parameter로 존재하며, 이 객체를 통해서 Create 되어질 항목들을 자동으로 받아준다.

Gateway Service Builder : Delete Method Delete작업을 수행하기 위해서는 key를 Parameter로 받아야 한다. Client에서 던져준 Parameter는 IT_KEY_TAB 이 받는다. IT_KEY_TAB의 Field는 Name, Value 2개 필드로 구성되어 있다. Name 필드는 Parameter name을 받으며 Value 필드는 값을 받는다.

Gateway Service Builder : Get entity Method 호출이 되는 메소드이다. Delete, Update와 마찬가지로 Parameter는 IT_KEY_TAB 을 통해서 받는다. 조회된 결과는 ER_ENTITY에 입력해서 Client단에 보낸다.

Gateway Service Builder : Update Method IO_DATA_PROVIDER에 Update 되어지는 내용이 모두 담겨져 온다. Update될때 PUT, MERGE, PATCH 3가지로 호출되는데 IO_DATA_PROVIDER 에는 위 3가지 방식에 따라 다르게 data가 담겨진다. 이 부분은 Gateway Client 설명 시 추가 설명 하도록 함.

Gateway Service Builder : Get entity set Method IT_FILTER_SELECT_OPTIONS는 Client 단에서 조회 시 Where 조건에 들어갈 필드 및 조건 값이 여러 개 있을 경우에 들어온다. IT_ORDER는 조회시 Sort 할 필드를 넣어준 경우 들어온다. IV_FILTER_STRING은 조회시 Where조건에 들어갈 필드가 한 개이든 여러 개이든 모두 들어오지만 이 Parameter는 단일필드가 온 경우만 사용한다. Filter, Order 에 조건주는 형식은 Gateway Client 에서 다시 설명함.

Gateway Service Builder : IV_FILTER_STRING IV_FILTER_STRING 은 Client단으로부터 Where 조건에 들어갈 필드와 조건 값을 받는다. 이때 filter string을 괄호로 감싸서 Where 조건에 적용시킨다. PS : Client단에서 filter를 적용해서 Parameter를 보내게 되면 iv_string_filter 뿐 아니라 it_filter_select_options 에도 같이 적용되서 들어온다.

Gateway Service Builder : IT_FILTER_SELECT_OPTIONS Client단에서 filter를 적용해서 Parameter를 보내게 되면 it_filter_select_options 에 조건필드 및 값이 Select options 형태로 오게 된다. 조건필드가 2개 이상인 경우에 조건필드 개수 만큼 IT_FILTER_SELECT_OPTIONS에 Row 가 생겨서 온다.

Gateway Service Builder : IT_ORDER Client단에서 Order by를 적용해서 Parameter를 보내게 되면 it_order 에 정렬할 필드가 들어온다. 정렬될 필드는 Property 필드에 정렬기준은 Order 필드에 들어온다. 마찬가지로 정렬필드가 여러 개인 경우 정렬필드 수 만큼 it_order에 Row가 생긴다.

Activate and Maintain Services : /IWFND/MAINT_SERVICE Service Builder를 통해서 Gateway service를 생성완료 했다면 생성된 Service를 Client에서 호출할 수 있도록 등록을 해야만 한다.

Activate and Maintain Services : Add Service 서비스관리 화면으로 오게되면 현재 등록되어있는 Service List가 보여진다. Add Service 버튼을 클릭하면 Add Selected Services 화면으로 이동한다. Add Selected Services 화면에서 System Alias에서 Possible Entry 를 누르게 되면 아래와 같이 현재 System의 Alias가 보여지게 된다. 현재는 Local Object로 개발했기 때문에 LOCAL 을 선택한다.

Activate and Maintain Services : Add Services  Get Services 서비스관리 화면으로 오게되면 현재 등록되어있는 Service List가 보여지게 되는데, List 에서 Service Builder 에서 생성한 Project name 을 직접 찾거나, Technical Service Name 에 생성한 프로젝트 Name 끝에 _SRV 를 붙이고 Get Services 버튼을 클릭하면 아래처럼 바로 조회가 가능하다. 조회된 Service 를 클릭하면 좌측과 같은 팝업이 뜬다. 현재는 Local Object로 개발했기 때문에 Package Assignment밑에 Local Object 버튼 클릭 후 우측 하단의 버튼 클릭

Activate and Maintain Services : Get Services

Activate and Maintain Services : Call ICF Node Gateway Service 를 등록하고 나면 Client단 에서 호출 시 SAP에 접근키 위해서 계정 및 암호를 묻게 되는데, 계정 및 암호를 묻지 않고 붙을 수 있도록 설정할 수 있고, Gateway Service 호출 시 SAP에 접근이 될 수 있도록 설정 할 수 있다.

Activate and Maintain Services : ICF Node Double Click

Activate and Maintain Services : ICF Node Parameter Name 에 ~CHECK_CSRF_TOKEN 을 입력 후 Value에 0 을 주게되면 Client단 에서 호출이 가능해진다. 입력 후 우측 하단의 실행 버튼 클릭으로 마무리 한다.

Activate and Maintain Services : ICF Node – Log on Logon Data 탭을 클릭하면 우측의 화면이 나오는데 User 와 Password 부분에 SAP Logon 정보를 입력하면 Client 단 에서 Service 호출 시 Logon 정보를 묻지 않고 입력한 계정으로 자동으로 Log in 해준다. Log on 정보를 입력 한 후 상단의 저장버튼을 Click 하면 된다.

Activate and Maintain Services : Call Gateway Client Service 등록 후 Back 버튼 클릭하면 서비스 관리 화면으로 이동하게 된다. 해당 서비스를 클릭한 후 Gateway Client 버튼을 클릭하게 되면 Gateway Client 화면으로 바로 이동 가능하다. 다음 장에서는 Gateway Client 내에서 Service를 호출 하는 방법을 기술한다.

Gateway Client : /IWFND/GW_CLIENT Gateway Service Client 화면이다. 해당 화면에서는 생성된 Gateway Service의 Create, Read, ReadSet, Update, Delete Method등을 테스트 할 수 있다.

Gateway Client : Select Service 팝업이 뜨는데 Service Name에 Z* 와일드카드를 이용해서 Possible entry 를 누르게 되면 Z로 시작하는 Service list가 Display 되며 list 에서 수행하고자 하는 Service를 선택한다. Service Name에 와일드카드 적용시 대소문자 구분하므로 반드시 대문자로 와일드카드를 구성해야 한다.

Gateway Client : EntitySet Select Service 를 수행하고 나면 해당 Service가 Request URI 에 셋팅된다. EntitySets 버튼을 클릭하면 현재의 Gateway Service가 가지고 있는 Entityset을 보여준다. EntitySet을 선택하고 나면 Request URI에 EntitySet이 Mapping 됨.

Gateway Client : HTTP Method ● GET : 단일 건, List 조회 등 조회할 때 선택한다.  Called Method : GET_ENTITY, GET_ENTITYSET. ● POST : Data를 Create 할 때 선택한다.  Called Method : CREATE_ENTITY ● PUT, PATCH, MERGE : Data를 Update 할 때 선택한다.  Called Method : UPDATE_ENTITY ● DELETE : Data를 Delete 할 때 선택한다.  Called Method : DELETE_ENTITY

Gateway Client : Filter option ● HTTP Method 에서 GET을 선택하고 List 에서 Where 조건을 주고 싶을 때 URI 에 주는 옵션이 $filter 이다. (소문자로 써야 함). ● $filter 뒤에 조건은 SQL문의 조건을 그대로 사용하면 된다. Key가 여러 개인 경우 AND 조건으로 결합이 가능하다. ex) ?$filter=Carrid eq 'AZ' and Connid eq '555' 날짜가 Key로 가는 경우는 포맷이 있다. ex) ?$filter=Fldate eq datetime'2014-08-20T00:00:00‘ Ps : $filter= 에 오는 필드명은 Entity type 정의 시 생성된 명 과 동일해야 인식하며 대소문자 혼용했다면 대소문자까지 맞춰줘야 한다.

Gateway Client : $filter=substringof ● $filter=substringof(‘Value’, Field)  Like 조건을 줄 경우 사용한다.  위 조건을 사용할 경우 GET_ENTITY_SET 의 IT_FILTER_SELECT_OPTIONS에 값이 들어오게 되는데 그때 Select option은 I, CP, *Value*, 이런 형태로 자동으로 포맷이 맞춰져서 들어온다.  이때 substringof(‘Value’ Field) 에서 Field는 Key필드로 지정되지 않은 필드도 들어올 수 있다.

Gateway Client : $select ● $select=Field1, Field2  List 조회 시 화면에 Display될 field를 정의한다.  여기도 마찬가지로 Field1,Field2 는 Entity type정의 시 작성된 Name과 대소문자까지 같아야 하며 역시 Key 필드로 정의되지 않은 필드도 올 수 있다.  $select 옵션은 프로그램 내에서 별도로 Logic을 구현할 필요 없다.

Gateway Client : Get entity ● 단 건 조회 시 Where 조건  조건에 오늘 필드는 Key 필드로 정해진 필드만 올 수 있다.  ‘=‘ 조건식 작성시 공백 없이 위 그림처럼 붙여서 작성한다.  그럼처럼 조건식을 작성 한 경우 GET_ENTITY 메소드를 호출하게 된다.

Gateway Client : Get entity ● 우측은 조회된 결과가 나타난 그림이다. ● 우측 상단의 Use as Request 버튼을 클릭하면 좌측에 입력양식이 나타난다.  입력양식으로 Create, Update 내용을 작성 하면 된다.

Gateway Client : Create ● Use as Request 버튼 클릭으로 만들어진 입력양식이다. ● 각 필드에 Create 할 항목을 기술한다. ● HTTP Method 부분에 Post 를 선택하면 CREATE_ENTITY 메소드를 호출한다. ● Request URI 부분에는 EntitySet 명만 두고 실행해야 한다.

Gateway Client : Update - PUT ● PUT을 선택해서 Update를 하는 경우에는 입력이 되지 않은 필드는 Null로 Update 된다. 따라서 PUT으로 Update 하는 경우는 Update하지 않을 항목이라도 기존의 데이터를 넣어주고 Update 해야 한다. ● HTTP Method 부분에 PUT을 선택하면 UPDATE_ENTITY메소드를 호출한다.

Gateway Client : Update - MERGE MERGE 와 PATCH 로 Update 하는 경우는 io_data_provider 객체가 URI로 넘어온 Key 로 기존 데이터를 한번 조회 한 후 변경항목을 알아서 셋팅해준다. ● Update 할 때 MERGE를 사용한 경우이다. ● MERGE를 선택해서 Update 하는 경우는 Update할 항목만 기술을 해도 기술되지 않은 항목부분은 변동이 없으며 그림처럼 기술된 항목만 Update 된다. ● HTTP Method 부분에 MERGE를 선택하면 UPDATE_ENTITY메소드를 호출한다. Ps : MERGE 와 PATCH 인 경우 결과는 동일하다.

Gateway Client : Delete ● HTTP Method 부분에 DELETE를 선택한다. ● 단일 건 조회 시처럼 삭제할 Key필드를 조건으로 URI에 명시하면 된다. ● 여기도 역시 Key필드로 Entity Type에 정의된 필드만 올 수 있다. ● Key필드 조건 결합은 and 로 결합할 수 있다.

Gateway Service Builder : Function Mapping ● 이제까지는 Entity Type 을 정의하고 Service Implementation측에는 Create, Read, Read(set), Update, Delete 메소드내에 직접 Logic을 구현해서 만들어봤다. ● 이번에는 Service Implementation 의 CRUD 측에 RFC Function을 매핑해서 구현. ● 이제까지 Service Implementation 을 Redefine 해서 해당 메소드에 로직을 구현했으나 이번에는 그 로직을 Function에 구현한다. 그래서, CRUD 의 Function을 만들어야 한다. ● Function의 속성은 RFC 로 개발해야 한다.

Gateway Service Builder : Function Mapping

Gateway Service Builder : Function Mapping Builder 의 Service implementation을 보면 Mapping 이 생긴다.

Gateway Service Builder : Read Function Mapping Propose Mapping 을 누르고 나면 결과물로 보내줄 Key필드도 매핑이 자동으로 생긴다. Ps : 직접 매핑하지 않고 Propose Mapping 버튼을 클릭하면 Read, ReadSet 경우는 자동으로 매핑이 된다.

Gateway Service Builder : Function Mapping Service Implementation 을 Function으로 매핑을 한 경우에는 각 CRUD 상속받은 메소드를 Redefine 할 필요가 없으며 Function을 매핑해주고 나면 해당 메소드의 내용이 자동으로 작성이 된다.

Gateway Service Builder : Function Mapping 다시 Runtime Objects를 다시 Generate 해야 한다.

End of Document