Skip to Content
Technical Articles
Author's profile photo Mayank Sood

Routing and External Calls in SAP Integration Suite

Dear Reader,

Introduction: In this blog post I will explain different types of options for routing as well as controlling messages (External Calls) provided by SAP in Cloud Integration Suite.

Routing Techniques:

  • These are useful when the Integration scenarios are quite complex in nature.
  • When multiple receivers are Involved.
  • Source payload may not contain sufficient information.
  • Different receivers may need different transformation logics.

Types%20of%20Routing%20Techniques

Types of Routing Techniques

Types of Routing Techniques Available:

  1. Router
  2. Multicast
  3. Join
  4. Splitter
  5. Gather
  6. Aggregator

 

  1. Router:

Routing means choosing a processing path at runtime based on a certain condition. Below points must be taken into consideration before using Router:

  • Condition can be XML-based or non XML-based.
  • A default route is always required.
  • Order of the conditions in the router is important.
  • Only one router branch gets processed.

See below figure

Router%201

 

Router 1

Router%202

Router 2

  1. Multicast

You can use the Multicast step to send copies of the same message to multiple routes. Unlike router, you can send copies to all routes at once using Parallel Multicast or in an order of your choice using Sequential Multicast. This allows you to perform multiple operations on the same message in a single integration process.

2.1 Sequential Multicast:

The execution is done in ordered manner. The second branch gets executed only if the first branch is processed successfully. If the first branch fails then the complete process gets terminated.

Sequential%20multicast

Sequential multicast

2.2 Parallel Multicast:

As the name suggest, the execution of the message takes place parallelly. There is no dependency on  any other branch, even if it fails the message processing continues.

See below figure

Parallel%20Multicast

Parallel Multicast

  1. Join

The Join element enables you to bring together messages from different routes before combining them into a single message. You use this step in combination with the Gather element. Join only brings together messages from different routes without affecting the content of messages.

It Merges the control of all multicast branches back into one branch

  • Without the Join step, all modeled flow steps will be executed by every branch
  • Message content after the Join is defined by the last modeled branch

Functionality of Join is depicted in below figure:

Join

Join

  1. Splitter

There are multiple types of Splitter’s provided by SAP such as: General Splitter, IDoc Splitter, Iterating Splitter, PKCS#7/CMS Splitter, Tar Splitter, Zip Splitter. In most of the scenarios we use General and Iterating Splitters.

4.1 General Splitter:

It can split both XML as well Non-XML files. The General Splitter splits a composite message comprising N messages into N individual messages, each containing 1 message with the enveloping elements of the composite message.

General%20Splitter

General Splitter

4.2 Iterating Splitter:

It is similar to General Splitter the only difference is that it just removes the enveloping elements.

Iterating%20splitter

Iterating splitter

  1. Gather:

It Merges the content of the individual multicast/splitter messages. Join is required additionally if we have used Multicast in our integration flow.

There are multiple strategies that are being used in Gather i.e., Combine and Combine at XPath

  • Combine: append XML payload into a multi-message payload
  • Combine at XPath: merge XML into a custom structure

Gather%201

Gather 1

Gather%203

Gather 2

  1. Aggregator

The aggregator is used to combine the incoming chunks of messages into one single message. The Aggregator will do multi-mapping while combining the messages. The message is retried every 5 minutes until it is successfully completed. To abort the retry processing you can handle the error in the Exception Subprocess ending in an End Event and the message correlation is based on an identifier in the payload. Aggregator also provides content based sequencing(See image below for more details)

Aggregator%201

Aggregator 1

Aggregator%202

Aggregator 2

External Calls

There are number of External calls provided by SAP in Integration Suite i.e., Content Enricher, Poll Enrich , Request Reply and Send

  • Enhance an integration flow with information from external sources
  • Send intermediate messages to external targets
  • Continue flow processing after the external call

External%20Calls

External Calls

Send

Send a message to a receiver and continue processing; no response

Request-Reply

Send a message to a receiver and continue processing the response

Content Enricher

Retrieve information from external sources and merge it into the current message

Poll Enrich

Retrieve an (S)FTP file and merge it into the current message

Note: When doing intermediate calls, all headers will be transferred to the external receivers and might be changed on return. Properties will not be transferred and therefore should always be preferred for controlling the flow logic.

 

Conclusion: In this blog post you have learned about different types of Routing techniques and External Call options provided by SAP in Integration Suite.

 

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.