Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

Integration flows

10 min

Listen to this lesson

0:00 / 7:41

An integration flow is a model of how one kind of message travels: who sends it, what happens to it, and who receives it. You build it in the web-based flow editor in the Design area, configure each element in its property sheet, then deploy it to the tenant runtime. The model looks like a BPMN diagram, and it reads like one: pools for the participants, an integration process with steps, and channels that connect them through adapters.

Anatomy of a flow

  1. SenderThe system that starts the exchange, for example Contoso's S/4HANA system CMQ sending an ORDERS IDoc.
  2. Sender channel and adapterThe protocol endpoint the tenant exposes, such as the IDoc adapter over SOAP, with its authentication setting.
  3. Integration processSteps in order: convert, enrich, map, route, call out, log.
  4. Receiver channel and adapterThe outbound protocol, such as SFTP or AS2 toward the partner, with the credential alias to use.
  5. ReceiverThe partner system, here Lakeside Components' order intake.
The parts of one Cloud Integration flow, using Contoso's outbound order to Lakeside Components.
The Sign-Off Table · thesignofftable.com/academy/sap-int-203

The integration process is where the steps go. Typical steps are the Content Modifier (set headers, exchange properties and the body), converters (JSON to XML and back, CSV to XML), mappings, Router, Splitter, Request Reply (call an external system and use its answer), Content Enricher, and Script steps in Groovy or JavaScript for logic the standard steps cannot express. SAP's integration flow design guidelines on the SAP Business Accelerator Hub show reference flows for each Enterprise Integration Pattern.

Adapters

Adapters translate between the outside world and the message inside the flow. Pick them from the system and protocol at each end, not from habit. For an S/4HANA Private Edition system the common choices are the IDoc adapter, the SOAP adapter for web services, and the OData or HTTP adapter for APIs. When the tenant calls a system that is on-premise or in a private network, it goes through Cloud Connector; when S/4HANA sends an IDoc to Cloud Integration, it calls the tenant over HTTPS directly.

AdapterTypical Contoso useStyleWhat to configure carefully
IDocORDERS out of S/4HANA, ORDRSP back inAsynchronousEndpoint address, authentication, IDoc number handling
OData / HTTPReading a business partner from S/4HANA during the flowSynchronousProxy type on-premise, location ID, credential alias, timeout
SFTPDropping order files for a smaller supplierAsynchronous, file basedHost key in known hosts, directory, file name pattern
AS2EDI with larger trading partnersAsynchronous with receiptsPartner certificates, MDN handling, signing and encryption
JMSDecoupling receipt from processing inside the tenantAsynchronous, queuedQueue name, retry interval, maximum retries
ProcessDirectCalling another flow in the same tenantInternalMatching address on both flows
Adapters a Contoso integration specialist meets most. Exact adapter options depend on your tenant version.
The Sign-Off Table · thesignofftable.com/academy/sap-int-203

Building the Lakeside order flow

  1. Create the flow in package Contoso_P2P_Outbound and add the sender participant for S/4HANA with an IDoc sender channel.
  2. Add a Content Modifier that copies the IDoc's purchase order number into a header such as SAP_ApplicationID, so the monitor can be searched by business key.
  3. Add the message mapping from the ORDERS IDoc structure to Lakeside's order format (lesson 3 covers it).
  4. Add a receiver participant for Lakeside and an SFTP receiver channel that writes one file per order.
  5. Externalize the host, directory and credential alias so each tenant can set its own values without editing the flow.
  6. Save, deploy, and check in Monitor that the deployment status is Deployed and the runtime status is Started.
The Lakeside order flow as built: one sender, three steps that matter for support and testing, one receiver writing one file per order.
The Sign-Off Table · thesignofftable.com/academy/sap-int-203

Externalized parameters are the difference between a flow you can transport and a flow you have to edit in production. Anything that differs by tenant, such as hosts, directories, credential aliases and partner IDs, belongs in a parameter you set through Configure. The flow model itself then moves unchanged from the test tenant to the production tenant, which is also what auditors expect to see.

With externalized parameters, the same flow version runs in both tenants, and only the configured values differ.
The Sign-Off Table · thesignofftable.com/academy/sap-int-203
  1. DesignModel and saveFlow saved as a new version in the package in the test tenant.
  2. ConfigureSet parametersLakeside's test SFTP host and the test credential alias.
  3. DeployRuntime startedDeployment status Deployed, runtime status Started.
  4. TestOrder 4500002210 sentMessage completed and file found at Lakeside's test host.
  5. TransportProduction tenantSame flow version; only parameters set to production values.
The life of one flow version from design to the production tenant.
The Sign-Off Table · thesignofftable.com/academy/sap-int-203

What would you do?

Kenji hard-coded Lakeside's test SFTP host and directory into the receiver channel to save time. The flow is ready to move to production next week. What should Theo ask for before transport?

Key points
  • A flow has a sender, sender channel, integration process, receiver channel and receiver.
  • Choose adapters by the protocol at each end; the tenant reaches on-premise systems through Cloud Connector.
  • Set a business key header so the monitor can be searched by order number.
  • Externalize everything that differs by tenant, then transport the same flow version.

Check your understanding · not graded

Lesson check

  1. 1. Which step calls an external system and continues the flow with its response?

  2. 2. Why externalize parameters such as hosts and credential aliases?

  3. 3. Contoso's S/4HANA system is in a private network. How does the cloud tenant reach it?

  4. 4. What status pair confirms a flow deployed and is running?