← Blog

Getting started with SAP’s pipeline concept for Integration Suite

A step by step guide to try SAP’s pipeline concept for Cloud Integration with Figaf’s demo package and a Bruno collection for the Partner Directory.

March 26, 2024 · 3 min read

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.

Figaf monitor listing messages from one split message passing through the demo endpoint, pipeline generic steps and receiver iflows with the same correlation ID

You can watch the video below to see the concept, and then follow the guide.

Watch on YouTube SAP Pipeline for Cloud Integration

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 the script collection and iflows 2-6. No configuration is needed for them.

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

It contains:

  • HTTP endpoint to test with.
  • Dummy Endpoint: a Process Direct flow that mocks an endpoint. You can configure 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 moved to the Receiver or Interface determination.

They should all be deployed.

4) Get 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 Messaging (run). The key for Messaging must have run enabled, otherwise you need to change the setup.

Enter them on the environments page.

Bruno environment settings with API and run service key values, client IDs, secrets and the pid SAPERP~Invoice01

7) Run the PD (Partner Directory) login.

Bruno collection runner for 01_PDLogin with the Get token and fetch XSRF token requests passing

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

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

Hopefully, you should now see all the messages being processed on the monitor. If not, you can go through the different steps and learn where the processing fails.

Note: You can use 03_PDClean to remove the objects 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 no 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>

This post covers these products

Capabilities covered

More from the blog

All posts →

See this working in your landscape

No credit card required.

Integration cost calculator →

Start your free trial

No credit card required

Try Figaf DevOps Suite free for 30 days. It takes less than an hour to get started, and we send everything you need by email.

Join our newsletter

Get the latest about Figaf, SAP and anything relevant to SAP integration, every week in Figaf Weekly.