This document provides guidance on integrating SAP systems using SAP Process Integration (PI). It discusses:
1) Standard IDoc integration which uses SAP's Application Link Enabling (ALE) functionality for integrating SAP systems that support IDoc format.
2) Using SAP PI when no standard configuration exists, as it allows various integration techniques for connecting two systems.
3) Leveraging SAP APIs or custom BAPIs via proxy calls when no standard IDoc is available.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
141 views11 pages
SAP PI 7.1 Tips and Tricks SAP - Middleware
This document provides guidance on integrating SAP systems using SAP Process Integration (PI). It discusses:
1) Standard IDoc integration which uses SAP's Application Link Enabling (ALE) functionality for integrating SAP systems that support IDoc format.
2) Using SAP PI when no standard configuration exists, as it allows various integration techniques for connecting two systems.
3) Leveraging SAP APIs or custom BAPIs via proxy calls when no standard IDoc is available.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11
SAP PI 7.
1 Tips and Tricks
SAP - Middleware : SAP Process Integration (PI) is SAPs Enterprise Application Integration (EAI) tool. It is used to facilitate the exchange of information among a companys internal software/systems and those of external parties. SAP PI proides seamless end to end integration !etween SAP and "on#SAP applications inside and outside the corporate !oundary.
SAP SAP Interface: $he approach to !e used for integrating two SAP systems would !e as shown in the !elow decision tree diagram.
SAP PI (Middleware) : In case if no standard con%guration is aaila!le to integrate two SAP systems& then SAP PI should !e used to create the interfaces !etween the two systems. 'arious integration techni(ues are aaila!le in SAP PI to integrate two systems.
Standard IDoc Interation: SAP has integrated systems and applications that support I)oc format& using SAPs Application *in+ Ena!ling (A*E) functionality. A*E is SAP proprietary technology that ena!les data communications !etween two or more SAP systems and/or !etween SAP systems with non#SAP systems. SAP has created a lot of di,erent I)ocs for transferring di,erent data !etween the systems. In case of interfaces& this will !e a preferred way of data transfer as it is a proen and sta!le technology and re(uires minimum deelopment e,ort.
SAP A!AP Pro"ies: In cases where there is no standard I)oc aaila!le to cater to the re(uirement& SAP Proxies should !e used as a preferred way of integration with the SAP system. $he adantages of SAP Proxies are- A.AP proxies proide high performance throughput. Exchanging high olume data generally is not an issue /ith this 0outside#in1 approach& A.AP proxies are easy to design and proide a way of decoupling data transfer and handling application logic Proxy framewor+ supports !oth PI communication as well as we! serices. $his proides an added adantage of interchangea!ility !etween we! serices or PI for point to point interfaces SAP A.AP Proxy supports !oth synchronous and asynchronous communication with out#of#the !ox logging and monitoring tools In case if there is any standard .API aaila!le which caters to the re(uirement of the interface& then that .API should !e ino+ed through a proxy call rather than directly calling it ia 234.
T#e followin tec#ni$%es can &e %sed: SAP in&o%nd interation tec#ni$%es: !D' (!atc# Data 'o((%nication): custom only !ac+ground process of on#line transaction ID)' (Inter(ediate Doc%(ent): standard or custom metadata structure for processing transactions !API*+,' (!%siness Application Prora((in Interface): standard or custom !usiness program for processing standard transactions A!AP pro"-: E44 function that connects with PI directly '%sto( A!AP prora(: custom !usiness program for processing %les and posting data to E44 transactions/functions/I)54s SAP o%t&o%nd interation tec#ni$%es: ID)': standard or custom metadata structure for processing standard transactions !API * +,': standard or custom !usiness program for processing standard transactions A!AP pro"-: E44 function that connects with PI directly '%sto( A!AP prora(: custom !usiness program for processing %les and posting data to E44 transactions/functions/I)54s Mappin and ro%tin perfor(ed in (iddleware PI: 3ew examples of *egacy/6iddleware integration techni(ues (in!ound and out!ound) ,lat ,ile %xed length and %le delimited .MS*/M0 76* with schema de%nition Data&ase S8* executed from 9).4 connection 1e&ser2ices :$$P/S5AP re(uests
'o(ponent 3ersions and 4a(espaces: )e%ne a separate software component for each component inoled )e%ne a separate software component for the mappings )o not enhance SAP deliered o!;ects in its original namespace Mappin T-pes : 6apping messages from one format/structure to another is a fundamental feature for any middleware application in A<A and .<. scenarios. SAP "et/eaer Process Integration o,ers a wide ariety of mapping program types- 6essage 6apping (=raphical 6apping $ool) 9aa 6apping 7S*$ 6apping (9aa Engine) A.AP 6apping 7S*$ 6apping (A.AP Engine) Data 0ook%p: 3al%e Mappin Integration )irectory >I- Allows for direct manual input using the user interface of the Integration )irectory 'alue 6apping 2eplication for 6ass )ata- If the alue mapping data is stored in external ta!les& this data can !e replicated to the runtime cache (on the Integration Serer) !y using special serice interfaces Integration )irectory API- we! serices containing all the necessary operations to create and edit con%guration o!;ects Mappin 0ookps .y using a mapping loo+up& mapping programs can call functions from other application systems while a mapping program on the Integration Serer is !eing executed e.g. $o read from application system data in the mapping program $he mapping runtime has a loo+up API for calls to application systems. It supports access using the 234& 9).4& and S5AP adapters T#e followin data criteria s#o%ld &e taken into acco%nt w#en de5nin t#e data look%p strate-: Amount of )ata- Is there a small or large amount of data to maintain? 3re(uency of 4hange- Is the data static or dynamic? *ocation of )ata- Is the data externally maintained? Input / 5utput 'alue 2atio- Is the input/output alue ratio @/@? Aaila!ility of 'alue 6apping 3unction- )oes the alue mapping function already exist in the !ac+end or can it !e easily implemented? .ac+end Application $ype- Is the !ac+end an SAP System& a ).& an Application that can proide /e! Serices? Data 0ook%p s#o%ld &e %sed in t#e followin cases: )ataset is large& dynamic and externally maintained Input / 5utput 'alue 2atio is n/n. A 'alue 6apping function is aaila!le in the !ac+ end or can easily !e implemented .ac+end is an SAP system (234)& data!ase system (9).4) or we! serice proider (S5AP) 'ollection of Messaes : $ry to aoid using cc.P6 to collect messages from one system for 6ass processing $ry to aoid cc.P6 4ollect Pattern for high olume interfaces
Split of Messaes : $ry to aoid cc.P6& !ut use IS pipeline A AE functions for mapping !ased message split A interface determination.
S-nc#rono%s 2ers%s As-nc#rono%s Scenarios : /ith asynchronous messages (E5 or E5I5) processing& the messages can !e sent to IS een if the receiing system is down and PI will ta+e care of the E5/E5I5 processing /ith asynchronous mode one message can !e sent to multiple receiers )ue to additional persistence layers more system resources are re(uiredthan compara!le synchronous interfaces /ith async messages you can control parallel processing Integration Engine ((ueues) 4ote: E5 stands for Exactly 5nce& while E5I5 stands for Exactly 5nce in 5rder
Seriali6ation:
$ry to aoid E5I5 for mass data interfaces.
Perfor(ance T%nin :
T#e t%nin of PI can lead to :
A decrease of the oerall message processing time or/and An increase of the message throughput& i.e. the num!er of messages processed within a speci%c time frame >se reasona!le message siBes to improe performance& to aoid memory oerCows and to increase oerall system sta!ility. At design time& consider that the message throughput is much higher for larger messages due to the necessary processing oerhead for a single message. 5n the other side& the memory consumption is higher for processing larger messages. $he !est practice is to +eep the aerage message siBe in the range of 1 M! to 7 M!.
Messae Packin :
!- processin (%ltiple (essaes in packaes instead of indi2id%all-8 t#e o2erall o2er#ead can &e red%ced leadin to less #ardware reso%rces cons%(ption and an increased (essae t#ro%#p%t:
$he respectie programs re(uired for message processing are only loaded once into main memory for each pac+age 6ultiple messages are processed in one dialog wor+ process 5nly one ). commit is carried out for the complete pac+age 5nly one logon is re(uired when switching from A.AP stac+ to 9aa stac+ or ice ersa 9se (essae Packain in t#e Interation Ser2er in t#e followin cases: Small asynchronous messages .est results when using proxies *eads to throughput improements Seriali6ation :
SerialiBation is a techni(ue that is used to ensure that the interface records are processed in the target system& in the same order that they were generated in the source system. Interface records can get processed in a di,erent order due to- networ+ or system delays parallel processing intermittent errors etc. !ased on %pdate (ade to t#e &%siness o&:ect and content8 t#e appropriate seriali6ation tec#ni$%e s#o%ld &e %sed: ;rror #andlin:
'ital error information should !e captured for e,ectie error reporting. E,ectie error reporting can help pro;ect management to focus on priorities and support team to resole the errors faster.
Errors should !e reported with all message data (class& num!er& text& parameters) and important record data li+e +ey& organiBation& amounts etc. Seeral reporting techni(ues can !e used- 6onitoring- interface log (across the technology landscape) proiding tracea!ility into the releant functional and technical details of each interface "oti%cation- noti%cations to speci%c resources are triggered !ased on de%ned attri!utes of interfaces proiding interface details o Interface errors should !e categoriBed !ased on point of !rea+ o $he right course of resolution should !e determined !y category