SAP Process Integration (PI) and the latest versions known as SAP Process Orchestration (PO) are the application integration middleware provided by SAP. SAP PI (PO) is the component (middleware) of SAP Netweaver group of products that facilitates system integration between SAP and other external systems.
The very first version of SAP integration application was called XI (Exchange Infrastructure). The next major change to the system was the introduction of SAP Process Integration (PI), and the latest version is Process Orchestration (PO).
In this article, we will discuss,
- The functionality of SAP PI/PO
- History and evolution of SAP XI, PI, and PO
- SAP PI in NetWeaver stack
- Advantages of SAP PI over other middleware
- The architecture of SAP Process Orchestration (PO)
- How to develop interfaces in SAP PI/PO
- Tools used for interface development (IDE)
- How to create message mapping programs
- SAP PI message processing steps at runtime
- Future of SAP PI
- How to learn SAP PI
The Functionalities of SAP PI (PO)
As the integration broker of SAP NetWeaver stack, SAP PI (PO) has capabilities to integrate SAP with other legacy systems and applications.
The system allows you to integrate SAP with other SAP or non-SAP systems, as well as build and execute A2A and B2B interfaces in both synchronous and asynchronous communication techniques.
Most importantly, it provides a central location for an organization to build, integrate and monitor interfaces between heterogeneous systems in the landscape. Besides, PI facilitates you to expose services to the outside world according to Service Oriented Architecture (SOA).
Main Functions of SAP PI Are,
- Connecting systems using communication protocols such as sFTP, AS2, SOAP, HTTP, etc.
- Route messages between systems. PI/PO can route messages from one sender system to one or more receiver systems based on business process rules or technical routing rules.
- Transform or map message formats between sender and target systems.
- Provide a run-time environment for exchanging messages between systems and interface monitoring capabilities.
- Execute integration workflows with a series of steps, such as Purchase Order process integration with approval actions.
History/Evolution of SAP XI, PI and PO Versions:
Exchange Infrastructure (XI)
SAP integration platform was first introduced to customers in 2003. The product was called SAP XI (Exchange Infrastructure). The very first version was SAP XI 2.0. Then XI 3.0 was introduced. XI 3.0 was the first version of SAP XI I worked with back in 2008.
At that time, around 2008, the first version of SAP Process Integration (SAP PI) was already available to general customers. SAP released it in 2006.
SAP XI was a dual-stack system with Java stack and SAP ABAP stack. In other words, some components of the systems were installed in ABAP stack while other components were included in the Java stack. For example, Integration Engine and Business Process Engine (BPM) were based in AS ABAP stack while and Adapter Engine resided in AS Java stack.
Process Integration (PI)
PI evolved from its first version of SAP PI 7.0 to PI 7.30. Similar to SAP XI, the first few versions of PI consisted of ABAP and Java dual stacks. The first Java-only single stack integration platform PI 7.30 was introduced in 2010. Moving from dual SAP XI/PI systems to Java-only single stack version was a major milestone for this NetWeaver product.
Process Orchestration (PO)
Finally, SAP Process Orchestration (PO) was introduced by SAP in the year 2012. In a few words, SAP PO was a combination of SAP PI single stack with Business Process Management (NW BPM) and Business Rule Management (BRM). But there are several other differences between SAP PI and PO.
Cloud Platform (CPI) and HANA Cloud Platform Integration (HCI)
The newest addition to the SAP integration platform is SAP Cloud Platform (CPI) which was formally known as SAP HANA Cloud Platform Integration Service (HCI).
Keep in mind, SAP CPI is not a replacement for SAP PI/PO. It is a completely new integration product of SAP Integration Suite that allows an organization to integrate SAP cloud applications with its on-premise systems. Newer versions of SAP PO are integrated with CPI so you can harmonize on-premise and cloud integrations.
You can read more about PO to CPI migration in the linked article.
Advantages of SAP PI (PO) over Other Non-SAP Middleware
Seamless Integration with SAP
One of the major advantages of SAP PI is seamless implementation of interfaces using SAP integration technologies such as Intermediate Document (ALE/iDoc) framework, Business Application Programming Interface (BAPI), Remote Function Calls (RFC), and ABAP Proxy framework.
Moreover, SAP has provided a set of tools to easily register SAP back-end systems in the System Landscape.
Comprehensive Set of Connectivity Options (Adapters)
SAP PI provides a comprehensive set of adapters to integrate heterogeneous systems across your landscape, for example, RFC, Hypertext Transfer Protocol (HTTP), Java Database Connectivity (JDBC), File/FTP, Mail, iDoc, Java Message Service (JMS), Simple Object Access Protocol (SOAP), RosettaNet Implementation Framework (RNIF) are some of the adapters delivered by SAP with the standard package.
Moreover, Applicability Statement 2 (AS2), Secure File Transfer Protocol (SFTP), Open Data Protocol (OData), Representational State Transfer (REST), Odette File Transfer Protocol (OFTP), EDI Separator, and X400 adapters can be installed as add-on components.
Simplicity of Building Interfaces
Interface developers can readily build end-to-end integration scenarios using Integrated Development Environments (IDE) such as Eclipse-based NetWeaver Development Studio (NWDS) or Jawa-Swing-based IDE provided by SAP.
End-to-end integrations or Integration Flows (iFlow) can be built with a user-friendly graphical interface of Eclipse NWDS. Additionally, iFlows employs standard NW BPM notation which makes the development effort more effective and the development interface even more user-friendly.
This capability of building interfaces with user-friendly graphical IDE and no coding (or minimum coding) is one of the main benefits of PI/PO compared to other tools.
Central Interface Monitoring Capabilities
Being able to monitor all interfaces centrally is one of the major advantages of SAP PI. Message Monitor of SAP PI allows you to monitor each step of interface run-time pipeline.
The state of the message (from the time it was transferred from sender system till it’s received by target system) can be monitored easily. Message monitor can be configured to log information/warning/error of interface run-time steps at sender adapter, routing determination, XML validation, message transformation, receiver adapter, etc.
Moreover, PI’s Component-Based Message Alert Framework (CBMA) can be used to send automatic alerts or emails to system admins when interface issues are detected.
The Architecture of SAP Process Orchestration (PO)
The architectures of SAP XI, PI, PO, HCI/CPI are vastly different. This is due to the constant evolution of the software from an ABAP and Java dual-stack solution to a Java-only single stack product to a Cloud-enabled product. Therefore, we need to examine the architecture of each product separately and discuss differences between SAP PI, PO, and XI.
What is SAP Process Orchestration (PO)?
SAP PO is a combination of several products bundled together.
PO includes,
- Business Process Management (BPM)
- Business Rule Management (BRM)
- Enterprise Service Repository (ESR)
- Process Integration (PI)
- B2B Collaboration
- Cloud Integration
SAP PI can be further divided into,
- Enterprise Service Repository (ESR)
- Integration Directory (ID)
- System Landscape Directory (SLD)
- Advance Adapter Engine (AAE)
The functionality of ESR, ID, and AAE are bundled together as Advance Adapter Engine (AAX) in SAP PI/PO single stack versions.
Architecture of Java-Only Single Stack PI or PO Versions
System Landscape Directory (SLD)
SLD is the central component used to register and hold information about the systems in the landscape. Metadata of systems in the landscape and their software components are stored in SLD.
Enterprise Service Repository (ESR) Content
ESR is the central repository that contains Data Types, Message Types, Service Interfaces, Message Mapping Programs, and, other object definitions of interfaces.
ES Builder
ES Builder is a tool used to define objects in ESR.
Configuration Content:
Configuration Content is the central repository that contains objects defined in the configuration time of interface development. Objects in configuration time define the technical parameters of interfaces such as Adapter configuration.
Integration Builder
Integration Builder is a set of tools that allows integration experts to configure end-to-end integrations using objects created in ESR and SLD.
Integration Experts
Integration experts are SAP PI developers and consultants who build and deploy interfaces.
Adapter Engine
Adapter Engine contains a set of adapters such as SOAP, HTTP, FTP, etc. that allow SAP PI to connect to heterogeneous systems.
Eclipse PI Tools
Also known as NetWeaver Developer Studio (NWDS), Eclipse PI tools allow integration developers to access and create ESR and ID objects.
Central Message Monitor
Central Message Monitor provides a set of tools for users to check run time of interfaces in SAP PI. The monitor allows system admins to inspect all message processing steps of an interface. Users can monitor adapter engine’s communication-related logs, incoming/outgoing message content, message mapping logs, message split logs, execution of routing rules, the status of content conversions, etc. using the central message monitor.
This truly is the one central component that can be used to monitor all the interfaces built in PI.
NetWeaver Administrator (NWA)
NWA is the administrator portal of SAP PI. User authorization, certificates, keys, performance-related parameters, ports, destinations, etc. are defined by SAP PI system administrators (BASIS consultants) and configured in NWA.
How to Develop Interfaces in SAP PI (PO)
If we take a simple A2A integration scenario, as an interface developer you need to configure 3 components to build the complete interface:
- Step 1 – System Landscape Directory (SLD)
- Step 2 – Enterprise Service Repository (ESR)
- Step 3 – Integration Directory (ID)
All three components can be accessed from SAP PI home page using URL
http://<host>:<port>/dir
Step 1 – System Landscape Directory (SLD)
Systems in the integration landscape are registered in SLD as a combination of Products, Software Component Versions (SWCV), Technical Systems and Business Systems.
Different types of systems are registered using particular methods in SLD. For example, registering an SAP back-end system is different from how you represent a third-party or a stand-alone system. But user-friendly wizards are available to guide you through the system registration process.
For example, the Software Component Version (SWCV) creation wizard in SLD looks like this:
Of course, there is one way to skip this step. If the integrated systems are out of the organizational landscape and the technical details are unknown, systems can be represented directly in the Integration Directory (Step 3) as Business Components or Parties.
Step 2 – Enterprise Service Repository (ESR)
ESR is where you develop/design objects such as Data types and Messages Types of the sender/target messages. Furthermore, the sender (outbound) and the target (inbound) Service Interfaces are defined in ESR. Last but not least, Message Mapping programs between sender message and target message are also created in ESR.
Step 3 – Integration Directory (ID)
ID is where you configure the end-to-end Integration Scenario using the objects you created in ESR and SLD.
Communication adapters, also known as Communication Channel of the sender system and target system, are configured in ID. For example, if the sender system is an sFTP server, sFTP server hostname (IP), directory, file name format, authentication methods, archiving method, etc. are configured in this step.
Message routing between the sender and target systems are also defined in the configuration time in ID.
Configuration time in ID answers all these questions of the end-to-end integration scenario,
- What is the message sender system?
- Are there multiple message receivers?
- Should the message receiver system be derived dynamically from the message content?
- What is the mapping program to transform the sender message to the target message format?
- How should the adapters be defined?
Integrated Development Environments (IDE) of SAP PI/PO
There are two IDEs that can be used for SAP PI interface development and configuration,
- Java Swing Clients
- Eclipse-based NetWeaver Development Studio (NWDS)
Java Swing Clients
Java Swing-based clients are certainly the oldest IDE of SAP PI. It was launched during SAP XI days. Both ESR and ID developments can be completed using Swing Clients.
ESR objects are built in Enterprise Service Builder (ESB) and ID configurations are done in Integration Builder (IB).
Java Runtime Environment (JRE) should be installed in the developers’ client machine to run Swing Clients.
Enterprise Service Builder
Graphical Message Mapping Program in ESB
Integration Builder
Eclipse NetWeaver Developer Studio (NWDS)
Fairly new IDE NetWeaver Development Studio is an Eclipse-based tool that can be used to fully develop end-to-end to integrations. Similar to Swing Clients, NWDS is capable to create ESR objects and ID configurations.
Java Developer Kit (JDK) and Java Runtime Environment (JRE) are required to use NWDS.
Advantages of using NWDS are,
- A more user-friendly system in comparison with swing-based tools.
- One IDE for all SAP Java-based development. For example, NWDS has capabilities to create Web Dynpro application and not only integration scenarios.
- Possibility to leverage Eclipse IDE capabilities to create Java Mappings.
- A vast number of plugins for development available in Eclipse.
- capability to build end-to-end integrations using iFlows in NW BPM notation.
SAP NetWeaver Developer Studio
Enterprise Services Browser of NWDS:
Message Mapping Program in NWDS:
iFlow in PI Explorer of NWDS:
The interface created in the iFlow above loads exchange rates to SAP from an sFTP XML file sender system.
How to Create Message Mapping Programs in SAP PI/PO:
The transformation of sender message format to target message format is one of the main functionalities of a middleware.
Using either Swing Clients or NWDS you can create interface Message Mapping programs.
There are three different Message Mapping techniques in SAP PI:
- Graphical Mapping
- Java Mapping
- XSLT Mapping
Each technique has its own advantages and disadvantages. Let’s look at each mapping technique in detail.
Graphical Mapping
This is the most commonly used mapping technique. With this method, mapping programs can be built using a graphical user interface of ES builder or NWDS.
The main advantage of this mapping technique for integration specialists is the capability to build mapping programs with a drag-and-drop option without coding. Additionally, developers can re-use standard mapping functions provided by SAP.
SAP has provided standard functions for String, Boolean, Arithmetic, Date, Node, Conversions, and Transformations. For example, Substring and Concatenate are some of the String functions. Logics, such as If, Else, Or, are available under boolean standard functions. Under Date transformations, we have date format conversion functions.
For example, if you want to transform the sender message date format of MM-DD-YYYY to receiver message date format YYYY-MM-DD, it can be done using DateTrans function without any coding. These functions can be applied to message mappings using a simple drag-and-drop feature.
Maintenance and modification of graphical mapping programs are easier than with other techniques. This is due to the fact that mappings can be built using graphical functions without any coding. Additionally, you can inject codes using User-Defined Functions (UDF) to build complex logic.
Java Mapping
Java mapping uses the Document Object Model (DOM ) or Simple API for XML (SAX) parser techniques. Java mappings can be used to build complex logic that cannot be handled by Graphical mapping option.
XSLT Mapping
This technique is mostly used when you need to change the namespaces of the message or sort/filter/group message content. XSLT mappings use more memory than other techniques and are not easy to maintain.
Message Processing Steps in SAP PI/PO
Ultimately, after your interfaces are built and deployed, PI runtime takes care of the actual processing of the message based on the design and configuration defined. Messages are processed in a specific sequence based on the objects built in SLD, ESR, and configuration in ID.
In single stack SAP PI/PO versions, message processing is done by Advance Adapter Extended (AAX) at run-time in the sequence below.
- Sender Adapter processing
- Inbound XML validation
- Receiver Determination
- Interface determination
- Message mapping
- Outbound XML validation
- Receiver Adapter processing
Overview of Message Processing Pipeline of AAX:
PI/PO Practical Examples and Scenarios
I have discussed a few practical integration scenarios that make use of the capabilities of SAP PI/PO and CPI capabilities. You can find them here.
- Point of Sales Integration with SAP S4 HANA and CAR
- EU business partner VIES VAT number validation
- Electrocnic Bank Statement (EBS) integration with SAP
- Portugal digital signature integratrion with SAP S4 HANA
Future of SAP PI/PO
As we discussed in the beginning, SAP PI keeps on evolving. SAP regularly adds new functionalities and capabilities to PI. Due to these improvements, the architecture of PI has changed drastically and some components have become obsolete.
Removal of ABAP Stack
Moving from dual-stack SAP XI/PI versions to Java-only single stack versions is already a reality. As of now, newer versions of SAP PO do not include the dual-stack installation option.
Starting from PO 7.31 onward, dual-stack installation is not available. Therefore, it’s important for organizations with dual-stack installations to migrate to a newer Java version of SAP PO.
Cloud Integration Runtime Included in On-Premise SAP PO
Following the recent trend on cloud-based applications, SAP introduced SAP HCI and CPI for cloud-based integration scenarios. HCI and CPI can be used to design and deploy only cloud-based integration scenarios. On-premise SAP PO was not able to handle cloud integrations.
But with recent changes to SAP PO, we are able to use SAP PO as a hybrid solution for both on-premise and cloud-based integrations.
You can launch SAP CPI content in on-premise SAP PO.
This functionality of SAP PO and hybrid architecture are still evolving. In the future, we will be able to have one single integrated solution with more capabilities to deploy both on-premise and cloud integrations.
B2B Add-On for B2B EDI Integration Instead of Seeburger Adapter:
With the introduction of B2B Integration Cockpit functionality of Seeburger Adapter has become obsolete. You can build B2B EDI integrations effectively using the B2B add-on.
B2B add-on is compatible with SAP PI or PO version 7.1 or higher. Add-on can be installed in SAP PO with a few easy steps.
You can configure the EDI cockpit to handle different EDI formats such as Edifact, ANSI X.12, Tradacoms, VDA, and EANCOM. B2B Cockpit also has capabilities to build custom modules to convert text file formats such as CSV or plain text to XML.
Additionally, B2B adapters AS2, OFTP, EDI Separator, and X400 are included in the package.
In conclusion, B2B Integration Cockpit is the tool of the furure, while Seeburger adapter is left in the past.
How to Learn SAP PI?
When it comes to the topic of learning SAP PI, one should understand that experience is as important as technical knowledge. Experience in integrations is a major factor in how the roles of SAP PI Consultant vs SAP PI Developer are defined.
With the right technical knowledge in creating mapping programs, building iFlows, configuring Adapters, etc. you can become a solid SAP PI developer.
But in order to become an SAP PI Consultant, you should be able to,
- build integration architecture concepts
- define development guidelines and naming conventions
- conduct integration-related workshops
- understand business processors
- define EDI techniques suitable for the organization
- have knowledge of best practices for adapter usage
- lead a team of technical consultants and developers
- manage customer expectations and escalations
- solve problems and communicate effectively with business users, IT technical team and third party system owners.
These skills come with experience!
Learn SAP PI Online
If you are a fresher or have no previous knowledge in SAP PI, my advice is to follow SAP PI technical courses online. Make sure to understand the profile of the tutor before you sign up for these courses. A good tutor should have in-depth knowledge about SAP PI with multiple years of SAP implementation experience.
Search Udemy, Teachable, or other reputed online learning platforms for SAP PI courses.
Join an SAP Consultancy Firm or Internal IT Team
In my opinion, the best way to learn SAP PI is by implementing real-life integration scenarios. You can join the SAP IT team of a company that has SAP PI implemented and learn PI while working on troubleshooting issues, monitoring the system, and building real-time integrations.
The main advantage of this method over following a technical course is gaining valuable experience while learning the subject.
Whichever method you choose to learn SAP PI, I wish you all the best!
If you have further questions on SAP PI, leave a comment below. Also, you can check my other articles on SAP PI and ABAP topics.
Very Knowledgeable article…One should get overall knowledge of PI/PO
Thank you very much, Lalit!
Welldone Isuru Welldone
Thank you, Gregory!!
Hi Isuru, we’re looking to get off of an old NW 7.3 EHP PI dual stack and keep getting mixed messages about the ABAP stack being required after split for UME meaning we’ll still have the complexity of the “dual usage stack” . Is the only way to move to a single Java stack PO only by setting up a fresh install or or there other ways? I’m thinking either using system copy then upgrade then split, or just fresh install and copy Integration Builder channels + other configuration. Any information on making the transition easier for Java only would be very helpful.
Looks good. Thank you!
Good input, i just wanted to understand the integration process of SAP PI/PO with SAP and MES system……any article on this we use Idocs and partner systems. The learning i need for our scenario is the message is shown delivered sucessfully in PO but there is no evidence of any update or logs showing evidence of target system updation through the interface. its strange when we see the same happening for other setup. any light on this.
very nice Isuru, a very good and easy to understand overview.
Hi Isuru,
Very useful document and easy to understand.
Thank you for your kind works Jeevitha!!
Dear Isuru,
I express my gratitude for your perfect explanation of this subject. Awesome.
You are a brilliant expert, honestly.
Thank you very much for your kind words, Yuriy! 🙂
Useful information! I agree with you all the information mentioned about SAP PI is very helpful for me. I will recommend these blogs to others.
Absolutely delighted to hear that Johan! Thank you!
Hello Isuru,
I am looking for SAP PO & CPI training, can you suggest some good online trainings(preferably instructor led)
Regards,
Atul
what is the difference blw single stack and dual stack . please explain briefly…please
will provide single stack po-7.50 version topics
Great share! Thanks for the information. Keep posting!