SAP Process Integration, SAP Cloud Platform, SAP PI, SAP PO

SAP CPI Scenario on PI/PO on-premise runtime

This blog it’s just to show you the Hybrid Architecture perspective using SAP products for cloud and on-premises.

Perspective:

Architecture – Cloud / On-Premises and Hybrid:

SAP Cloud:
– CPI – Neo
– EM – Foundry
SAP On-Premises:
– PI – Process Integration
– Components: SLD,ID,ESR,Monitoring
– PO – Process Orchestration
– Components: SLD,ID,ESR,BPM,Monitoring

SAP Diagram Perspective:

1) Cockpit

As you see in the cockpit I already deploy one PACKAGE from SAP CPI.

When you click on the button DEPLOY, you will have three options to deploy:

  1. Cloud Tenant via Destination
  2. Cloud Tenent via URL
  3. File System

Click on next and SAP PI/PO will load all Packages on SAP CPI available.

Open the integration Package and you will have the view of the Artifacts from SAP CPI, choose and click each Artifact you want to deploy on SAP PI/PO.

After deploy you will be able to see the ENDPOINT’s available on SAP PO.

The integration Scenario SAP CPI:

You choose an on-premises solution and decide to deploy it on CPI, will works?

No, don’t mix up.

Choose the correct version of the on-premise solution that you have with the correct SP level.

Wow, this is a simple scenario but nice I see some objects like:

  • Content Modifier
  • General Splitter
  • Loop another process
  • Request-Replay
  • Gather XML
  • XSLT – CPI Native Compile Engine
  • Content Modifier
  • Grovvy Script for Logging – CPI Native Compile Engine

Comparisons of SAP CPI vs SAP PI/PO:

Sorry but some of this functions it’s not native on SAP PI/PO when you deploy the package of the Artifact from SAP CPI it will work without any extra development of java mapping (Groovy script on the cloud) and BPM to loop another process.

The answer is: YES

Wait, even groovy script will be deployed on SAP PI/PO will works? Yes, it will keep as groovy, not java mapping or UDF, check the code and image below of the logging:

The groovy script it’s setting up the attachment:

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;

def Message processData(Message message) {
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);

if(messageLog != null){
messageLog.setStringProperty(“Logging after Mapping”, “Persist Message as Attachment to Log”)
messageLog.addAttachmentAsString(“01_PersistPayload”, body, “text/xml”);
}
return message;

}

In this blog, I will also not cross in detail each function of SAP CPI but I will explain to you the integration itself.

CPI Scenario:

1 ) Basically, I will make SOAP call with many material numbers on the SOAP BODY

2 ) The function of the general splitter will split the calls based on the //MATERIAL.

3 ) In this case, I will have 6 materials so the LOOP Process Call will invoke the S4HANA 4 times in sequence and until the last response, he will collect all results.

4 ) Gather will receive from the loop 6 XML’s and will generate only one with a merge of 4 XML.

5 ) XSLT for remove the start tags from JAVA Mapping from Gather Function.

6 ) Content Modifier.

7 ) Grovvy script

OK, I understand until now but how you define the ENDPOINT on CPI and deploy on SAP PI/PO how I will know the real ENDPOINT of On-premises?

Easy, no worries: https://{hostname:door}/igwcxf/services/{endpoint of CPI}

CPI SOAP Adapter:

Cloud Cockpit:

So let’s make all together sample:

SAP PI/PO – hostname

Port:50001

Endpoint from deployment: /igwcxf/services

Endpoint configured on CPI – Soap Adapter: /CPIRuntime

Correct endpoint: https://hostname:50001/igwcxf/services/CPIRuntime

Now it’s real, let’s start to play?

Open your SOAP call tool, in my case SOAPUI.

Request Message:

Response:

Cloud Integration Content:

For now, in deployment perspective we have this:

Bonus information: When you deploy the integration scenario on SAP PI/PO any new changes in objects, functions or communication channel detail, you must deploy again, you can’t change or see the integration scenario on SAP PI/PO.

Cloud Integration Content Management Cockpit – SAP PI/PO for JMS:

The Deploy of JMS Integration Scenario from CPI to PI/PO – perspective:

Leave a Reply

Your email address will not be published. Required fields are marked *