Getting with SAPs Pipelines for Integration Suite

UPDATE: We have a vision for Pipelines. Read about it here.

Last week, I saw the pipeline concept for SAP Integration Suite.

It did look fairly complicated to get started with as I saw it but I had to dig in to learn and understand. Hopefully this guide will help you.

There are a lot of positives with the setup and the ability to control systems in such a way. It allows a simpler setup for handling the processing of messages and restarts. Separating mapping logic from retry processing.

It adds some complexity to the process and challenges monitoring and handling changes in the setup. You can do it via API calls, which is not ideal. I’m sure it can be automated in some way.

Once you have processed a message that is being split, you will see the following messages being processed.

You can follow the guide below to see the vide of the concept.

 How to get started

It is a bit difficult to get started with the platform. You need some flows that can work and handle your scenario. So, hopefully, this guide will simplify the setup so that you can run it on your own system.

1) In your Integration Suite, go to Discovery and search for Process Integration Pipeline – Generic Integration Flows & Templates.

Copy and add it to your tenant.

2) Deploy Script collection and iflow 2-6 no configuration is needed for it

3) Download the sample package from Figaf here upload and deploy it

It contains a

  • HTTP endpoint to test with.
  • Dummy Endpoint a process Direct flow that mocks as an endpoint. You can configure how often it should create errors. You can change how often it should fail.
  • Two iflows have been migrated via the Figaf tool. Usually Figaf would migrate it with a receiver split but we have instead generated it as two separate iflows and added Process Direct to it. There is still routing in it, which should have been moving to the Receiver or Interface determination.

They should all be deployed.

4) Get the Bruno to use for HTTP testing

5) Get our collection here.

Unzip it, and import it into Bruno

6) Configure the environment with service keys for both API and for Messaging(run) the key for Message Run must have run enabled otherwise you need to change the setup.

Enter them in the environments page

7) Run the PD(partner directory) login

8) Run the PDInit to initialize the directory with some content

9) Send messages with the Send Message to see how the flow works

Hopefully, you should now see all the messages being processed on the monitor. If not then you have some time to process the different steps and learn where the processing fails.

Note: You can use the 03_PDClean to remove the object created in the process. Check if something is missing.

XSLT

We have just created some fixed XSLT for the mapping to the receiver and interface. For now there are now queries in it but it should be simple to add such conditions.

Receiver XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <ns0:Receivers xmlns:ns0="http://sap.com/xi/XI/System">
     <ReceiverNotDetermined>
       <Type>Default</Type>
       <DefaultReceiver>
         <Service>RL_Receiver_1</Service>
       </DefaultReceiver>
    </ReceiverNotDetermined>
    <Receiver>
        <Service>AsyncPartner</Service>
      </Receiver>
      <Receiver>
        <Service>ERP</Service>
      </Receiver>
    </ns0:Receivers>
  </xsl:template>
</xsl:stylesheet>

Interface XSLT


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <ns0:Interfaces xmlns:ns0="http://sap.com/xi/XI/System">
      <Interface>
        <Index>1</Index>
        <Service>/pip/Asyncpartner_line</Service>
      </Interface>
    </ns0:Interfaces>
  </xsl:template>
</xsl:stylesheet>

Simplify your SAP Integration in under 10 minutes with Figaf DevOps Suite on Cloud.

 
No credit card is required. 30 days free trial.

Latest Articles