Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes



Similar documents
Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager

Configuring Distribution List in Compliant User Provisioning

Posting Messages into XI

How To Configure MDM to Work with Oracle ASM-Based Products

How to Set Up an Authorization for a Business Partner in Customer Relationship Management (CRM) Internet Sales: Sample Case

SAP GRC Access Control: Background jobs for risk analysis and remediation (formerly Virsa Compliance Calibrator)

E-Recruiting Job Board Integration using XI

Methodology to Implement SAP Process Integration

Analyzing Sales Data for Choosing Forecast Strategies

CREATING A PURCHASE ORDER STORE RECORD WEB SERVICE

Performance Best Practices Guide for SAP NetWeaver Portal 7.3

How to configure BusinessObjects Enterprise with Citrix Presentation Server 4.0

3 rd party Service Desk interface

Roster Configuration (Payroll) in SAP ECC 6.0 Tips & Tricks

Implementing Outlook Integration for SAP Business One

R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems

Backup & Restore with SAP BPC (MS SQL 2005)

Utilities for downloading and uploading OO ABAP classes in XML format

How to Configure and Trouble Shoot Notification for Process Control 2.5

prioritize XI messages on integration server

Extract Archived Data from SAP ERP

Budget Control by Cost Center

Ronald Bueck SBO Product Definition

SAP Master Data Governance- Hiding fields in the change request User Interface

Table of Contents. How to Find Database Index usage per ABAP Report and Creating an Index

Enterprise Software - Applications, Technologies and Programming

Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions?

How To Balance In Sap Bw

Process Archiving using NetWeaver Business Process Management

How To Use the ESR Eclipse Tool with the Enterprise Service Repository

Integrate Third Party Collaboration Tools in the SAP NetWeaver Portal. SAP NetWeaver Product Management

Enabling Full-Text Search for Business Objects in mysap ERP

Sales Rush Sales Order Processing S01- Lean Baseline Package. SAP Lean Baseline Package Version: V1.500 Country: UK Language: EN Date: February 2006

USDL XG WP3 SAP use case. Kay Kadner

Maintaining Different Addresses and Ids for a Business Partner via CRM Web UI

User Experience in Custom Apps

Third Party Digital Asset Management Integration

TM111. ERP Integration for Order Management (Shipper Specific) COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

HR400 SAP ERP HCM Payroll Configuration

Integration of SAP central user administration with Microsoft Active Directory

Understanding HR Schema and PCR with an Example

Debugging Portal Applications

Integration of SAP Netweaver User Management with LDAP

SAPFIN. Overview of SAP ERP Financials COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

Consume an External Web Service in a Nutshell with good old ABAP

SAP Central Process Scheduling (CPS) 8.0 by Redwood

Problems with your Data Model in SAP NetWeaver MDM Do s and Don ts

SAP NetWeaver MDM 5.5 SP3 SAP Portal iviews Installation & Configuration. Ron Hendrickx SAP NetWeaver RIG Americas Foundation Team

Data Archiving in CRM: a Brief Overview

Intelligent Business Operations Chapter 1: Overview & Strategy

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide

How to Schedule Report Execution and Mailing

Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning

UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0

Integrating Easy Document Management System in SAP DMS

AC200. Basics of Customizing for Financial Accounting: General Ledger, Accounts Receivable, Accounts Payable COURSE OUTLINE

OData in a Nutshell. August 2011 INTERNAL

Accounts Receivable. SAP Best Practices

NetWeaver Business Client (NWBC) for Incentives and Commissions Management (ICM)

Learning Series: SAP NetWeaver Process Orchestration, secure connectivity add-on 1c SFTP Adapter

Monitoring and Management of Landscapes with SAP NetWeaver Administrator. Dieter Krieger, SAP AG

SAP Business ByDesign Reference Systems. Scenario Outline. SAP ERP Integration Scenarios

How To... Integrate Custom Formulas into the Formula Builder

Integration of Universal Worklist into Microsoft Office SharePoint

RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One

How To... Call BEx Web Applications from SAP BusinessObjects Dashboards (Xcelsius) and vice versa

SAP Service Tools for Performance Analysis

Alert Notification in SAP Supply Network Collaboration. SNC Extension Guide

Siteco Relies on SDN for its SAP CRM 5.0 Upgrade

How to Create a Support Message in SAP Service Marketplace

Ariba Network Integration to SAP ECC

How To Use the BPC Mass User Management Tool in BPC 10.0 NW

Secure MobiLink Synchronization using Microsoft IIS and the MobiLink Redirector

SAP NetWeaver BRM 7.3

Sending Additional Files from SAP Netweaver PI to third Party System

SAP Sales and Operations Planning Software Product (xsop)

How to Create Web Dynpro-Based iviews. Based on SAP NetWeaver 04 Stack 09. Jochen Guertler

Log Analysis Tool for SAP NetWeaver AS Java

SOP through Long Term Planning Transfer to LIS/PIS/Capacity. SAP Best Practices

Compliant, Business-Driven Identity Management using. SAP NetWeaver Identity Management and SBOP Access Control. February 2010

UI Framework Task Based User Interface. SAP Enhancement Package 1 for SAP CRM 7.0

Data Source Enhancement Using User Exit

DBA Cockpit for Oracle

SAP DSM/BRFPlus System Architecture Considerations

UI Framework Logo exchange without skin copy. SAP Enhancement Package 1 for SAP CRM 7.0

How to Add an Attribute to a Case, Record and a Document in NW Folder Management (ex-records Management)

Global Transport Label - General Motors -

K in Identify the differences between the universe design tool and the information design tool

ARCHIVING OF IDOCS IN SAP

ERP Quotation and Sales Order in CRM WebClient UI Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

SAP Portfolio and Project Management

Collaboration Technology Support Center - Microsoft - Collaboration Brief

How-to-Guide: Middleware Settings for Download of IPC Configuration (KB) Data from R/3 to CRM System

Installation Guide Customized Installation of SQL Server 2008 for an SAP System with SQL4SAP.VBS

SAP CCMS Monitors Microsoft Windows Eventlog

SAP SYSTEM MEASUREMENT GUIDE

AP Integration with BRFplus VERSION V APRIL SAP AG

SAP Cloud Strategy - Timeless Software. Frank Stienhans on behalf of Kaj van de Loo SAP

Configuring Single Sign-on for SAP HANA

Transcription:

Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes Applies to: SAP NetWeaver Process Integration 7.1+ SAP NetWeaver 7.02 (ABAP) Summary This document describes the application development process for integration between Process Integration and SAP ERP systems when the two environments are physically located in different geographic areas without any network connections except through the standard public internet. Author: William Li Company: SAP Labs LLC Created on: February 2012 Author Bio William Li is a member of the SAP NetWeaver Solution Management team focusing on Process Orchestration and Integration at SAPLabs. He has been with SAP since 1998 - originally as a SAP America consultant then as a developer and NW RIG member at SAPLabs. He joined SAP Solution Management in April of 2010. 2008 SAP AG 1

Table of Contents Introduction... 3 Restriction... 3 Architecture Overview... 3 Integration Development... 5 1. Obtaining the WSDL from the Service Interface... 5 2. Generate the ABAP Proxy from the WSDL... 5 3. Proxy Outbound Configuration... 11 4. ERP Proxy Configuration... 14 5. PI Integration Directory Configuration... 16 6. Firewall Configuration on the PI Side... 16 Copyright... 17 2008 SAP AG 2

Introduction Developing integrations between Process Integration (PI) and SAP ERP (ABAP) systems within the same landscape or network environment can be achieve easily through native tools and intranet network connectivity. The service interfaces can be designed on the PI system using the Enterprise Service Repository (ESR). With PI s ESR connected to the SAP ERP system within the same landscape, ABAP proxy of the service interface can easily be generated in the ERP system using transaction SPROXY. The generated ABAP proxy can be used by any programs in the ERP system. However, what can we do when the SAP ERP system is not in the same network environment within the same landscape? How do we generate the ABAP proxies? Can the ERP system send a message to the PI system using the public internet? In this document, we will go through the steps necessary to: 1. Generate the ABAP proxies in the ERP system, which is designed on the PI system at another network location without access to the ESR. 2. Configuration requirement to send messages from ERP system to PI through the internet. Restriction As of NW 7.02, the ERP system will have to have access to a System Landscape Directory (SLD). During runtime, the SLD is used to resolve the sender system name, which must be included in the message. The sender name is necessary for PI to determine the interface to use and the mapping program to execute during the integration process. With NW 7.03, which will be released in the future, the system name can be configured in the ERP system, without using the SLD. Architecture Overview Below is an overview of the two environments: 2008 SAP AG 3

The architecture contains the following characteristics: Messaging between PI and the ERP system is using the XI protocol, which is HTTP-based. XI protocol provides reliable messaging with guaranteed delivery. It can also be used for asynchronous messaging requiring the quality of service of EOIO (exactly-once-in-order). The two environments are separated by firewalls. HTTP/S or SSL is used for network security reasons. It is also possible to use client digital certificates between the client and company to further identify the sender to the company in order to further secure the integrations. From the client location, an HTTP port may need to be opened to allow message to go out. Outgoing messages will not compromise network security from external sources. At the company location, a DMZ should be established to protect network messages coming into the company environment. DMZ is a common setup for companies who are doing B2B integrations with their trading partners. It is very likely that the company already has a DMZ. Within the DMZ, a reverse-proxy should be installed to hide the internal network access information from the outside. Reverse-proxy can also be used to protect companies from external network attacks. Reverse-proxy can be either software or hardware. SAP provides a software reverseproxy, SAP WebDispatcher. It is very likely the company already has a reverse-proxy in place. The PI system in the company has an ESR and an SLD. Both of them are included with the PI license. PI also comes with a set of technical adapters, e.g. JDBC (as seen in the diagram), SOAP, File, Mail, etc. The ERP system on the client side has access to an SLD. SLD is part of NW Java server. SLD is available on various SAP systems, e.g. Solution Manager. NOTE: The using of SSL, firewall, DMZ and reverse-proxy are standard network security practices. They are unrelated to PI or any SAP software components. They are necessary to protect company s network environments. 2008 SAP AG 4

Integration Development 1. Obtaining the WSDL from the Service Interface Normally, ABAP proxies are generated from ESR on the ERP system using transaction SPROXY. However, in our case, the ERP system does not have access to the ESR. Therefore, we must have an alternative to generate the ABAP proxy from the service interface. ABAP proxies can be generated from the ESR, or it can be generated from the WSDL of the service interface. In our case, we will use the WSDL. After the service interface has been designed, we can obtain the WSDL as follow: 1. Click on the tab WSDL 2. Click on the icon Export WSDL to File. Assign a name and directory location to the file. 3. The WSDL file can be emailed to the ABAP developer at the client location. 2. Generate the ABAP Proxy from the WSDL Since the ABAP proxy cannot be generated using the transaction SPROXY, the transaction SE80 can be used to generate the ABAP proxy. a. In SE80, provide a package where the development object will be saved. In this case, I am using a temporary location. 2008 SAP AG 5

b. Create an Enterprise Service : c. Select Service Consumer and Continue : 2008 SAP AG 6

d. Select option: external WSDL, and Continue : e. Select option: Local File, and Continue : 2008 SAP AG 7

f. Enter WSDL file name and Continue : 2008 SAP AG 8

Enter a package name to save the proxy and a prefix for the names of the objects which will created during the proxy generation process: g. Click on Complete : 2008 SAP AG 9

h. The following object will be created. Save and activate the object. This object is the ABAP proxy which is the same as if it was generated using the transaction SPROXY. i. Below is a sample ABAP report which uses the ABAP proxy generated above: *&--------------------------------------------------------------------- * *& Report ZTST_PROXY_CONSUMER *& *&--------------------------------------------------------------------- * *& *& *&--------------------------------------------------------------------- * REPORT ZTST_PROXY_CONSUMER. parameters: KEY type ZTST_MT_REQUEST-MT_REQUEST- KEY LOWER CASE default 'key1'. DATA: lv_output TYPE ZTST_MT_REQUEST, lv_input TYPE ZTST_MT_RESPONSE, lv_system_error TYPE REF TO cx_ai_system_fault, GetInfo TYPE REF to ZTST_CO_SELECT_SYNC_OUT, lv_record TYPE ZTST_DT_RESPONSE_RECORD_TAB with header line. * provide key value lv_output-mt_request-key = KEY. * Output key value write: /, 'KEY: ', lv_output-mt_request-key. write: /, ' '. TRY. create object GetInfo. call method GetInfo->SELECT_SYNC_OUT exporting 2008 SAP AG 10

input = lv_output importing output = lv_input. CATCH cx_ai_system_fault INTO lv_system_error. write: / '*system fault: ', 'code:', lv_system_error->code, ' *errortext:', lv_system_error->errortext. ENDTRY. loop at lv_input-mt_response-record into lv_record. write: /, lv_record-key. write: /, lv_record-value_1. write: /, lv_record-value_2. endloop. 3. Proxy Outbound Configuration To send message through the internet to the PI system on another network, we will need to create an RFC connection. Then, assign this RFC connection to SXMB_ADM. a. Create RFC connection of type H : 2008 SAP AG 11

b. Use the IP address and port number of the PI system. The IP address and port will probably be different than the actual address, due to reverse-proxy configuration to hide the actual address and port number. c. Provide authentication information: 2008 SAP AG 12

d. Enter RFC destination in transaction SXMB_ADM. Click on Integration Engine Configuration : e. Navigate to menu: Edit Change Global Configuration Data f. Enter the RFC destination created above: This designates the PI system to receive the ABAP proxy message. 2008 SAP AG 13

4. ERP Proxy Configuration To send messages from the ERP ABAP system to the internet, it is possible that we will need to configure the proxy settings for the ERP system. This is very similar as to setting the proxy for internet browsers, e.g. Microsoft Internet Explorer. To configure proxy settings, use transaction SICF: a. In SICF, click Execute : b. Select menu: Client Proxy Settings: 2008 SAP AG 14

c. Select the appropriate options and enter values in the tab Global Setting : d. Enter the appropriate values in the tab HTTP Log or HTTPS Log : 2008 SAP AG 15

5. PI Integration Directory Configuration On the PI side, there is no change to the configuration. It is done just as though the integration is all in the same network environment. The Sender Communication Component of the ERP system name is configured in the SLD. This name must be the same on the ERP side as on the PI side. Below is an example. 6. Firewall Configuration on the PI Side This a simplified example where the Windows server is used. On the PI side, the firewall must be setup to allow the TCP port used by the PI system through. In our case, the port used is 50500. This configuration and setup may be completely different than the actual network configuration of the customer. 2008 SAP AG 16

Copyright 2012 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iseries, pseries, xseries, zseries, System i, System i5, System p, System p5, System x, System z, System z9, z/os, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/os, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. These materials are provided as is without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. Any software coding and/or code lines/strings ( Code ) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent. 2008 SAP AG 17