https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Integration-Suite-blog-posts.xmlSAP Community - SAP Integration Suite2026-02-22T21:01:12.093092+00:00python-feedgenSAP Integration Suite blog posts in SAP Communityhttps://community.sap.com/t5/technology-blog-posts-by-members/sap-po-to-sap-ci-migration-simplifying-file-based-scenarios-with-smb/ba-p/14324162SAP PO to SAP CI Migration - Simplifying File-Based Scenarios with SMB Adapter in SAP CI2026-02-09T11:20:57.235000+01:00Punith_Oswalhttps://community.sap.com/t5/user/viewprofilepage/user-id/148179<P>Every enterprise today is actively working on SAP PO to SAP Cloud Integration (CI) migration as part of their move towards modern, cloud-based integration platforms. While many interface types can be migrated smoothly, one of the most common challenges during SAP PO to SAP Cloud Integration (CI) migration is handling file-based interfaces that rely on internal on-premise file systems. In many landscapes, business applications exchange data by placing files on shared network folders, and SAP PO integrations are tightly built around these locations.</P><P>In SAP PO, this was quite straightforward. The File/NFS Adapter allowed direct access to internal network paths without the need for FTP servers or external exposure. As a result, many legacy integrations continue to depend on this simple and secure approach.</P><P>But when moving to SAP Integration Suite, teams quickly realize an uncomfortable truth: <STRONG>SAP CI does not provide a native NFS adapter.</STRONG> Since SAP CI runs in the cloud, it cannot directly access internal file systems, making a direct “like-for-like” migration of such scenarios difficult.</P><P>This creates a big question:</P><PRE><EM>How do we migrate scenarios where files are stored inside the customer’s internal network?</EM></PRE><H3 id="toc-hId-1918663674"><STRONG>Solution :</STRONG></H3><P><STRONG>Option 1 – FTP/SFTP</STRONG></P><P>A common workaround suggested in projects is to introduce an FTP/SFTP server and move files there first.</P><P>But highlight why this is not ideal:</P><UL><LI>FTP is <STRONG>not recommended</STRONG> for security reasons</LI><LI>SFTP might require extra infrastructure and additional costs</LI></UL><P>So we need something better.</P><P><STRONG>Option 2 – SMB Adapter (Best fit)</STRONG></P><P>SAP has released the <STRONG>SMB Adapter</STRONG> in SAP Integration Suite specifically designed to address this exact problem.</P><P>The SMB adapter facilitates file-based operations and accelerates implementation time to connect to a server using SMB (Server Message Block) protocol. The adapter is available only for Standard service plans and above of the SAP Integration Suite.</P><P><STRONG>Feature highlights:</STRONG></P><UL><LI>Secure authentication with Server Message Block (SMB) shares.</LI><LI>Offers compatibility with various SMB dialects.</LI><LI>On-Premise Connectivity via Cloud Connector.</LI><LI>Supports connections to SMB using Encryption, DFS, and Signing.</LI><LI>Provides different file handling options such as override, append, fail, and ignore.</LI></UL><H3 id="toc-hId-1722150169"> </H3><H3 id="toc-hId-1525636664"><STRONG>High-Level File Based Architecture Explanation:</STRONG></H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_0-1770620179428.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370126iAA142793A127CB2A/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="Punith_Oswal_0-1770620179428.png" alt="Punith_Oswal_0-1770620179428.png" /></span></P><P>The above diagram illustrates the architectural shift when migrating file-based integrations from SAP PO to SAP Cloud Integration.</P><P>In SAP PO landscapes (Diagram 1), accessing files stored inside the customer’s internal network was relatively simple. The SAP PO File Adapter could directly read and write files from network locations using the NFS protocol.</P><P>Application servers typically mounted shared drives, and SAP PO accessed them seamlessly as local folders.</P><P>However, in SAP Cloud Integration ((Diagram 2) this approach is no longer possible. Since SAP CI runs in the cloud, it cannot directly mount or access internal network file systems. Moreover, SAP Integration Suite does not provide an NFS adapter like SAP PO.</P><P>This creates a major migration challenge for scenarios where:</P><UL><LI>Business applications drop files on internal network folders</LI><LI>SAP PO polls those folders using the File/NFS adapter</LI><LI>No FTP/SFTP servers are involved</LI></UL><P>To address this gap, SAP introduced the <STRONG>SMB Adapter</STRONG> in SAP Integration Suite.</P><P>The lower part of the diagram shows the modern CI-based approach:</P><UL><LI>Internal folders are exposed as <STRONG>SMB Shares</STRONG> on the customer network</LI><LI>SAP Cloud Connector establishes a secure tunnel between SAP CI and the on-premise network</LI><LI>The SMB Adapter in SAP CI connects through Cloud Connector</LI><LI>Communication happens over <STRONG>TCP using the SMB protocol</STRONG></LI><LI>Files can be securely read from or written to internal locations without exposing them to the internet</LI></UL><P>This architecture provides a clean and secure replacement for NFS-based integrations in SAP PO, enabling a smooth migration path for file-based scenarios without introducing FTP servers or additional middleware.</P><P><STRONG>Additional Scenario – When an SMB Server Already Exists</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_0-1770621358381.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370164iC777001919D60077/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_0-1770621358381.png" alt="Punith_Oswal_0-1770621358381.png" /></span></P><P>In many customer landscapes, an SMB file server is already available in the internal network (diagram 1), and applications directly place files on SMB shared folders. In SAP PO setups, even in such cases, the File/NFS adapter cannot consume these files directly. The SMB share first needs to be <STRONG>mounted</STRONG> on the SAP PO server and exposed as a local file path. Only after this mounting, SAP PO can access the location using the NFS/File adapter. This adds additional administrative effort and dependency on server configurations.</P><P>With SAP Cloud Integration, this limitation no longer exists. The SMB Adapter in SAP CI can connect <STRONG>directly to an existing SMB server</STRONG> through SAP Cloud Connector without any need for drive mounting. As long as the folder is available as an SMB share and properly exposed via Cloud Connector, SAP CI can immediately read from or write to it. This significantly simplifies the architecture, reduces infrastructure dependencies, and makes the migration of such scenarios from SAP PO to SAP CI much more straightforward.</P><P><STRONG>In the Next Sections, We Will See:</STRONG></P><OL><LI>How to : Create or update an SMB Share on the network</LI><LI>Configure: Cloud Connector for SMB access</LI><LI>Build: Configure SMB Adapter in SAP CI</LI><LI>Demo Scenario:</LI><UL><LI>Pick a file from on-prem location</LI><LI>Process it in SAP CI</LI><LI>Delete the file as a part of post processing</LI></UL></OL><H3 id="toc-hId-1329123159"><STRONG>Section A – Preparing the SMB Share</STRONG></H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_1-1770629308857.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370230i071C3FE2C0A0DB03/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="Punith_Oswal_1-1770629308857.png" alt="Punith_Oswal_1-1770629308857.png" /></span></P><P>In our scenario, the internal file server is Linux-based. The following steps need to be executed by the Infrastructure team to create and expose a folder as an SMB share. These commands can be run on the Ubuntu server via SSH using tools like PuTTY or the command prompt.</P><pre class="lia-code-sample language-bash"><code># Update packages - before installing new components, ensure that the system packages are up to date
sudo apt update
# Install Samba and client tools required for SMB communication
sudo apt install samba smbclient -y
# Create the folder that will be exposed as an SMB share
sudo mkdir -p /srv/smb/smb_share
# Create SMB user
sudo adduser smbuser
# Set directory ownership and permissions
sudo chown -R smbuser:smbuser /srv/smb/smb_share
sudo chmod -R 775 /srv/smb/smb_share
# Backup Samba config
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# Configure the SMB Share - Add the new share definition to the Samba configuration
sudo bash -c 'cat >> /etc/samba/smb.conf <<EOF
[smb_share]
path = /srv/smb/smb_share
browseable = yes
read only = no
valid users = smbuser
force user = smbuser
create mask = 0660
directory mask = 0770
EOF'</code></pre><DIV>This configuration defines:</DIV><UL><LI><DIV>The physical path of the share</DIV></LI><LI><DIV>Read/write access</DIV></LI><LI><DIV>Authorized user</DIV></LI><LI><DIV>File and folder permission masks</DIV></LI></UL><pre class="lia-code-sample language-bash"><code># Create and enable the Samba-specific password for the SMB user:
sudo smbpasswd -a smbuser
sudo smbpasswd -e smbuser
# Restart Samba services
sudo systemctl restart smbd nmbd
# Allow Samba through firewall (if UFW is enabled)
sudo ufw allow samba
# Verify Samba configuration
testparm -s
# Verify share listing
smbclient -L localhost -U%
# Test share access
smbclient //localhost/smb_share -U smbuser
#Accessing the Share from Windows access: Once the SMB share is created, it can be accessed from any authorized Windows machine using the network path format using the credentials created above:
\\<server-name-or-ip>\smb_share</code></pre><P>Deploy the credentials (smbuser) as basic credentials in SAP CI Security Artifact, these credentials will be configured in the SMB Adapter for authentication.</P><H3 id="toc-hId-1132609654"><STRONG>Section B – Cloud Connector Configuration</STRONG></H3><P>As we are connecting to On Premise Server, Cloud Connector comes into picture for the connectivity.</P><P>Configurations:</P><DIV>Internal Host: The IP address or the host name of the Internal Server on which SMB share is avaiable</DIV><DIV>Port: 445 (Used for TCP protocol)</DIV><P>Check out this article to setup TCP connection in Cloud Connector: <A href="https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/configure-access-control-tcp" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/configure-access-control-tcp</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_2-1770620313695.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370130i22CD29E0F1EB6241/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_2-1770620313695.png" alt="Punith_Oswal_2-1770620313695.png" /></span></P><H3 id="toc-hId-936096149"> </H3><H3 id="toc-hId-739582644"><STRONG>Section C – Setup SMB Adapter in SAP CI Iflow</STRONG></H3><P><STRONG>SAP CI IFlow:</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_3-1770620332699.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370131i4DB27036132C9E5D/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_3-1770620332699.png" alt="Punith_Oswal_3-1770620332699.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_0-1770641488944.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370373i7B4303D835AC391B/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_0-1770641488944.png" alt="Punith_Oswal_0-1770641488944.png" /></span></P><P> </P><P><STRONG>Configuration of SMB Sender Adapter</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_5-1770620367491.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370134i09FE3059320DECCA/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_5-1770620367491.png" alt="Punith_Oswal_5-1770620367491.png" /></span></P><P><STRONG> </STRONG></P><TABLE width="602px"><TBODY><TR><TD width="300.462px"><P><STRONG>Field</STRONG></P></TD><TD width="300.737px"><P><STRONG>Description </STRONG></P></TD></TR><TR><TD width="300.462px"><P>Address</P></TD><TD width="300.737px"><P>Specify the hostname or IP address of the SMB Server.</P><P>Specify Virtual Hostname if Cloud Connector is used</P></TD></TR><TR><TD width="300.462px"><P>Domain</P></TD><TD width="300.737px"><P>Specify the domain used for authentication.</P></TD></TR><TR><TD width="300.462px"><P>Proxy Type</P></TD><TD width="300.737px"><P>Specify the proxy type:</P><P> • Internet • On-Premise</P></TD></TR><TR><TD width="300.462px"><P>Location ID</P></TD><TD width="300.737px"><P>Location ID of Cloud Connector (proxy type = On-Premise)</P></TD></TR><TR><TD width="300.462px"><P>SMB Dialect</P></TD><TD width="300.737px"><P>Select the SMB dialect or version to be used for communication.</P><P>Recommendation is to use the latest one available in the adapter, 3.1.1 for now</P><P>An SMB dialect is a specific version of the SMB protocol that defines the supported features, capabilities, and communication formats between a client and a server</P></TD></TR><TR><TD width="300.462px"><P>Share</P></TD><TD width="300.737px"><P>Specify the SMB share folder which represents the network resource</P><P>Example: Assuming the mount path is \\ServerName\ShareName, you must specify Share as ShareName.</P></TD></TR><TR><TD width="300.462px"><P>Authentication</P></TD><TD width="300.737px"><P>Select the authentication type for connecting to the SMB server. Currently only Basic Authentication is supported</P></TD></TR><TR><TD width="300.462px"><P>Credential Name</P></TD><TD width="300.737px"><P>User Credentials security artifact</P></TD></TR><TR><TD width="300.462px"><P>Timeout (in secs)</P></TD><TD width="300.737px"><P>Specify the maximum waiting time (in seconds) for a response message from the SMB Server.</P></TD></TR><TR><TD width="300.462px"><P>Enable Encryption</P></TD><TD width="300.737px"><P>Enable to turn on encrypted communication between client & server.</P><P>Recommendation is to Enable Encryption for better security.</P><P>This option is applicable only if the server supports it. This adds encryption to the data in transit, supported only for SMB 3.x dialect</P></TD></TR><TR><TD width="300.462px"><P>Enable DFS</P></TD><TD width="300.737px"><P>Enable Distributed File System</P><P>DFS in SMB is a feature that provides a unified virtual file system namespace, allowing multiple SMB file shares across different servers to be accessed through a single logical path.</P></TD></TR><TR><TD width="300.462px"><P>Enable Signing</P></TD><TD width="300.737px"><P>Enable SMB Signing.</P><P>Recommendation is to Enable Signing for better security.</P><P>This option is applicable only if the server supports it. This adds signing to the data in transit. supported only for SMB 3.x dialect</P></TD></TR><TR><TD width="300.462px"><P>Maximum Reconnect Attempts</P></TD><TD width="300.737px"><P>Specify the maximum number of retries permissible for reconnection to the SMB server before message processing starts.</P></TD></TR></TBODY></TABLE><P><U><EM>Recommendation : Use the latest 3.1.1 SMB Dialect with Encryption and Signing for better security </EM></U></P><P><STRONG>The processing tab contains the following fields:</STRONG></P><P>This tab has parameters similar to what we see in SFTP Adapter Processing.</P><P>Please check this document for detailed information: <A href="https://api.sap.com/odata/1.0/catalog.svc/Files('2ee08d2557d84acfab3331448c2784b1')/$value" target="_blank" rel="noopener noreferrer"><STRONG>https://api.sap.com/odata/1.0/catalog.svc/Files('2ee08d2557d84acfab3331448c2784b1')/$value</STRONG></A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_6-1770620448103.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370136i1AB5277AE331802E/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_6-1770620448103.png" alt="Punith_Oswal_6-1770620448103.png" /></span></P><H3 id="toc-hId-543069139"> </H3><H3 id="toc-hId-346555634"><STRONG>Section D - Demo:</STRONG></H3><P>In the Demo, the idea is to read a file from the SMB Share using SMB Sender Adapter.</P><P>SMB Share:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_7-1770620491066.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370137iF15A9B36F4CC9126/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_7-1770620491066.png" alt="Punith_Oswal_7-1770620491066.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_8-1770620491067.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370138i50C7E41CC65B7F79/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_8-1770620491067.png" alt="Punith_Oswal_8-1770620491067.png" /></span></P><P> </P><P><STRONG> </STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_9-1770620491068.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370139i4DCEE2E29D0A8635/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_9-1770620491068.png" alt="Punith_Oswal_9-1770620491068.png" /></span></P><P> </P><P>Content in the File:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_10-1770620491069.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370140i4654170D3A3BEF4C/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_10-1770620491069.png" alt="Punith_Oswal_10-1770620491069.png" /></span></P><P>The Sender Adapter Configuration is shown as above, Lets deploy the IFlow now.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_11-1770620491069.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370141iCF45B094BE462C84/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_11-1770620491069.png" alt="Punith_Oswal_11-1770620491069.png" /></span></P><P>Message run in TRACE mode:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_12-1770620491071.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370142i76C81342A8B08518/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_12-1770620491071.png" alt="Punith_Oswal_12-1770620491071.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_13-1770620491071.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370143i9755FA36BBB6A549/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_13-1770620491071.png" alt="Punith_Oswal_13-1770620491071.png" /></span></P><P>File is received in SAP CI and deleted from the SMB Share.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Punith_Oswal_14-1770620491072.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370144i74DF6712A09FB19B/image-size/large?v=v2&px=999" role="button" title="Punith_Oswal_14-1770620491072.png" alt="Punith_Oswal_14-1770620491072.png" /></span></P><P>In this similar manner, you can also use SMB receiver adapter to write a file on the folder, the connection tab configuration remains same as Sender Adapter, Operation Type in the Processing tab will be changed to “Create File”</P><H3 id="toc-hId-150042129"><STRONG>Conclusion:</STRONG></H3><P>Migrating file-based scenarios from SAP PO to SAP CI no longer needs to be a roadblock.</P><P>The SMB Adapter provides a clean, secure, and SAP-recommended approach to connect SAP Integration Suite with internal network file systems making it the closest and most reliable replacement for the NFS adapter of SAP PO.</P><P>With minimal changes to existing infrastructure and no need for FTP servers, the SMB adapter truly simplifies one of the trickiest parts of PO to CI migration.</P><P> </P><P>Hope this help,</P><P>Cheers!</P><P>Punith</P>2026-02-09T11:20:57.235000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/kick-off-2026-with-impact-collaborate-on-56-fresh-sap-customer-engagement/ba-p/14324679Kick Off 2026 With Impact: Collaborate on 56 Fresh SAP Customer Engagement Initiative Projects2026-02-09T18:32:10.774000+01:00nadine_phttps://community.sap.com/t5/user/viewprofilepage/user-id/762608<P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="All Projects 1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370549i9133B3AF76D634EA/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="All Projects 1.png" alt="All Projects 1.png" /></span></P><P>We’re excited to announce that <STRONG>Cycle 1 of the SAP Customer Engagement Initiative for 2026 is now live!</STRONG><BR />This cycle features <STRONG>56 new projects</STRONG>, offering SAP customers and partners the opportunity to gain early insights into upcoming product developments and collaborate directly with SAP teams to shape the next generation of SAP solutions.</P><P><span class="lia-unicode-emoji" title=":spiral_calendar:">🗓</span><STRONG>Registration is open until March 13, 2026.</STRONG></P><P>In a rapidly evolving business environment, early involvement can make a meaningful difference. Through the SAP Customer Engagement Initiative, you can work directly with SAP product managers and developers, sharing your feedback on concepts, prototypes, and plans while they are still in the early stages.</P><P>To help you explore all available opportunities, we’ve prepared a complete overview of the projects.<BR /><STRONG>View the full list <A href="https://influence.sap.com/sap/ino/#/campaign/880" target="_blank" rel="noopener noreferrer">here</A></STRONG>, or browse the links below to discover the topics most relevant to you.</P><P><STRONG>SAP Ariba</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4146" target="_blank" rel="noopener noreferrer">Reporting and Analytics in SAP Ariba Invoicing</A></U></LI></UL><P><STRONG>SAP Business Technology Platform</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4170" target="_blank" rel="noopener noreferrer">AI-powered Code Upgrade Automation</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4126" target="_blank" rel="noopener noreferrer">BPTX Early Insights</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4163" target="_blank" rel="noopener noreferrer">Customize SAPUI5 apps for business users - provide feedback on new and planned features</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4120" target="_blank" rel="noopener noreferrer">SAP BTP Developer's Guide</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4123" target="_blank" rel="noopener noreferrer">SAP BTP: Improving the Admin's and Solution Architect's Experience</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4124" target="_blank" rel="noopener noreferrer">SAP Integration Suite</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4162" target="_blank" rel="noopener noreferrer">Validate MCP Hub</A></U></LI></UL><P><STRONG>SAP Concur</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4152" target="_blank" rel="noopener noreferrer">Intelligent Audit Evolution: Accelerating Audits with Automation and AI</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4175" target="_blank" rel="noopener noreferrer">New User Onboarding Experience in SAP Concur</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4160" target="_blank" rel="noopener noreferrer">Reimagining Travel & Expense with SAP Concur-embedded virtual cards experience</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4173" target="_blank" rel="noopener noreferrer">SAP Concur - User Profile Management</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4164" target="_blank" rel="noopener noreferrer">SAP Concur Expense: Streamlining Corporate Card Administration</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4147" target="_blank" rel="noopener noreferrer">SAP Concur: Travel and Expense Intelligence (Reporting) - Data Platform</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4143" target="_blank" rel="noopener noreferrer">SAP Concur: Travel and Expense Intelligence (Reporting) - Recommendations</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4155" target="_blank" rel="noopener noreferrer">Trip Extras - Connecting suppliers to business travelers when it matters most.</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4153" target="_blank" rel="noopener noreferrer">Verify: Shaping the Future of Auditing and Compliance</A></U></LI></UL><P><STRONG>Data & Analytics</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4167" target="_blank" rel="noopener noreferrer">Exploring BDC Web & Mobile Experiences to drive user relevancy and adoption</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4172" target="_blank" rel="noopener noreferrer">Product Insights / Product 360</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4134" target="_blank" rel="noopener noreferrer">SAP HANA Database Migration to SAP HANA Cloud (XSC,XSA,CAP)</A></U></LI></UL><P><STRONG>SAP S/4HANA Cloud</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4148" target="_blank" rel="noopener noreferrer">A modern Output Management experience in ERP Suite </A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4145" target="_blank" rel="noopener noreferrer">Agentic AI - Analytical Business Insights </A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4136" target="_blank" rel="noopener noreferrer">Agentic AI Smart Billing Assistant</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4150" target="_blank" rel="noopener noreferrer">AI Agent with Financial Correspondences</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4166" target="_blank" rel="noopener noreferrer">AI Assisted SAP Workflow Management</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4169" target="_blank" rel="noopener noreferrer">AI assisted use cases for Embedded Analytics</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4159" target="_blank" rel="noopener noreferrer">AI-assisted task automation</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4121" target="_blank" rel="noopener noreferrer">AI in Core Logistics (HUM, SN, BM, MM-IM, Kanban)</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4141" target="_blank" rel="noopener noreferrer">Business Partner and Product Master in SAP S/4HANA Cloud Public Edition</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4118" target="_blank" rel="noopener noreferrer">Concept for Harmonized Period Control</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4135" target="_blank" rel="noopener noreferrer">Configuration experience of Situation Handling in SAP S/4HANA Cloud Public Edition</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4119" target="_blank" rel="noopener noreferrer">Customer returns user experience</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4138" target="_blank" rel="noopener noreferrer">E-mails in business context with integrated business communications for SAP S/4HANA Cloud Private Edition</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4133" target="_blank" rel="noopener noreferrer">Embedded AI and Joule for S/4HANA Cloud Private Edition</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4151" target="_blank" rel="noopener noreferrer">Enhanced Payment Order Management in Automatic Payment Run Process</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4139" target="_blank" rel="noopener noreferrer">Farmer Collaboration and Engagement</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4132" target="_blank" rel="noopener noreferrer">Generate Settlement Rules</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4125" target="_blank" rel="noopener noreferrer">Identity and Access Management: Upgrade and Change Handling</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4144" target="_blank" rel="noopener noreferrer">IFRS 9- Credit-Risk Based Impairment for Trade Receivables using Advanced Valuation</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4128" target="_blank" rel="noopener noreferrer">Improving Sanction Party List screening with AI</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4157" target="_blank" rel="noopener noreferrer">Improving the Usability of Task and Application Logs in Group Reporting</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4122" target="_blank" rel="noopener noreferrer">Limit Management Modernization (Credit Risk Analyzer)</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4168" target="_blank" rel="noopener noreferrer">Material Long Texts – Automated Content Generation for Product Master </A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4129" target="_blank" rel="noopener noreferrer">Parallel Unit of Measure</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4127" target="_blank" rel="noopener noreferrer">Project staffing, consider dependencies & provide smart staffing across different roles of projects</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4149" target="_blank" rel="noopener noreferrer">SAP S/4HANA Business Partner Master Data Analytics Dashboard</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4131" target="_blank" rel="noopener noreferrer">Simplify and Improve the Intrastat Declaration Process with AI</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4165" target="_blank" rel="noopener noreferrer">Task Center (One Inbox) experience evaluation in SAP Business Suite</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4156" target="_blank" rel="noopener noreferrer">Understanding Payment Reconciliation Processes and Automation Barriers in Bank Statements</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4130" target="_blank" rel="noopener noreferrer">Unlock more flexible Margin Analysis in SAP Cloud ERP</A></U></LI></UL><P><STRONG>SAP Globalization</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4171" target="_blank" rel="noopener noreferrer">AI Agents for SAP Translation Hub</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4154" target="_blank" rel="noopener noreferrer">AI Assisted E-Document Error Handling : Continuous Adaptation</A></U></LI></UL><P><STRONG>Others</STRONG></P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4161" target="_blank" rel="noopener noreferrer">Agentic AI Operations with SAP Automation Pilot</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4174" target="_blank" rel="noopener noreferrer">How Designers and Developers Use SAP Design System Resources</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4140" target="_blank" rel="noopener noreferrer">Integrated Planning in Dairy</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4158" target="_blank" rel="noopener noreferrer">Research into an Intelligent Spare Parts Request Processing Agent</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4137" target="_blank" rel="noopener noreferrer">SAP Reference Architecture</A></U></LI></UL><P>Let’s shape the future together!</P><P>Innovation happens through collaboration. By participating in the SAP Customer Engagement Initiative projects, you help SAP create better, more relevant solutions for businesses like yours. This is your chance to influence what comes next.</P><P>Don’t miss out – sign up today at influence.sap.com and be a part of the SAP Customer Engagement Initiative Cycle 1 in 2026!</P><P>Warm regards, <BR />Your SAP Customer Engagement Initiative Team </P><P><EM>Follow-up after registration: When you register for a project, you will be invited to an introductory call</EM><EM> </EM><EM>with the SAP project lead. At this point further participation is optional. Typically, all activities are governed by the</EM><EM> </EM><A href="https://d.dam.sap.com/a/MvteHxp/Public%20Info%20on%20FBA_09_2024.pdf?rc=10&inline=true" target="_blank" rel="noopener noreferrer"><EM>Feedback Agreement with SAP</EM></A><EM>.</EM> </P>2026-02-09T18:32:10.774000+01:00https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267How to Get Started with Pipeline for Cloud Integration2026-02-10T16:02:09.566000+01:00LorenaHanserhttps://community.sap.com/t5/user/viewprofilepage/user-id/1471152<P>This blog is a beginner’s blog for getting started with Pipeline for Cloud Integration, for integration developers having experience in Cloud Integration in general. The Pipeline was introduced beginning of 2024, when it was a concept (referred to as Pipeline Concept) as part of the migration guide for migrating from SAP Process Orchestration / SAP Process Integration to SAP Integration Suite. In the last months and years, the Pipeline has been evolved from a concept to a solution, being regularly enhanced with new features and customer requirements. That’s why there is a lot of Pipeline-related content available. As a central starting point, this blog aims to shed light on what the Pipeline is about and how to initially set it up in Cloud Integration.</P><H1 id="toc-hId-1660528993"> </H1><P><ul =""><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-1464015488">Motivation</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-1267501983">Use Cases</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-1070988478">Architecture</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-874474973">Initial Setup of the Pipeline</a></li><li style="list-style-type:disc; margin-left:30px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-807044187">Point-to-point scenario (sample 5)</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-739613401">Copy standard packages from SAP Business Accelerator Hub</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-543099896">Deploy generic Integration Flows</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-346586391">Create and deploy scenario-specific Integration Flows</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId-150072886">Setup Partner Directory entries</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--121671988">Run your first scenario</a></li><li style="list-style-type:disc; margin-left:30px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--24782486">Scenario with XSLT for content-based routing (sample 1A)</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--711212503">Copy standard packages from SAP Business Accelerator Hub</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1104239513">Deploy generic Integration Flows</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1497266523">Create and deploy scenario-specific Integration Flows</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1693780028">Setup Partner Directory entries</a></li><li style="list-style-type:disc; margin-left:60px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1890293533">Run your second scenario</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1331817333">Accelerator Tool</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/integration-blog-posts/how-to-get-started-with-pipeline-for-cloud-integration/ba-p/14325267#toc-hId--1528330838">Link Collection</a></li></ul></P><P> </P><H1 id="toc-hId-1464015488">Motivation</H1><P>The Pipeline is a framework designed to ease setting up integration scenarios. Instead of starting from scratch each time, it uses a <STRONG>standard design</STRONG> provided by SAP. This <STRONG>saves time</STRONG> and <STRONG>reduces complexity</STRONG> because you can reuse the same building blocks for different scenarios. It works by handling tasks asynchronously, which helps keep systems running smoothly. The Pipeline offers strong <STRONG>error-handling</STRONG> and <STRONG>retry options</STRONG>, both automatic and manual, to keep messages flowing. Plus, it allows <STRONG>content-based routing</STRONG> based on the message content during processing. It ensures that messages are processed <STRONG>Exactly Once</STRONG> and supports <STRONG>idempotency</STRONG>, keeping data accurate and consistent.</P><P>The Pipeline <STRONG>simplifies complex integration setups</STRONG>, like content-based routing and recipient lists, and helps in cases of <STRONG>receivers and interfaces splits</STRONG>. Generic integration flows can be <STRONG>reused</STRONG> across scenarios, cutting down on effort and complexity. It works well for the <STRONG>migration of SAP PI/PO to Cloud Integration</STRONG>, with support from the migration tool, while keeping necessary processing features intact. You can also use the Pipeline to create new scenarios, whether they are <STRONG>asynchronous or synchronous</STRONG>. It efficiently uses <STRONG>limited resources</STRONG> in Cloud Integration, like JMS queues, by sharing them across several scenarios. By using the standard, this framework is <STRONG>flexible</STRONG>, allowing for <STRONG>customization and extension </STRONG>to fit specific use cases.</P><P> </P><H1 id="toc-hId-1267501983">Use Cases</H1><P>The Pipeline for Cloud Integration is suited for but not primarily restricted to companies <STRONG>transitioning from SAP PI/PO</STRONG> to Cloud Integration. It provides a smooth migration process leveraging the migration tool. Beyond migrations, the Pipeline is a solution for designing new integration scenarios in a <STRONG>uniform structure</STRONG>, making it easier for <STRONG>maintenance and monitoring</STRONG>. It can use generic inbound integration flows as single entry points for both <STRONG>XI proxy and IDoc scenarios</STRONG>, streamlining message processing, and has an option for generic XI or IDoc outbound flows. Additionally, the Pipeline supports <STRONG>extended receiver determination</STRONG>, enabling more precise routing than usual XSLT mappings.</P><P>For simpler uses, <STRONG>point-to-point scenarios</STRONG> are supported, where you can bypass receiver and interface determination steps for faster runtime and simpler configuration, relying on string parameters from the Partner Directory instead of XSLT mappings. For special situations, the Pipeline supports the use of <STRONG>receiver-specific JMS queues</STRONG>, although the default is a generic outbound queue to keep operations straightforward. It also accommodates combined receiver and interface determinations in a single XSLT, as well as <STRONG>sender wildcard</STRONG> scenarios. Altogether, the Pipeline allows to stay in standard while supporting a variety of use cases.</P><P> </P><H1 id="toc-hId-1070988478">Architecture</H1><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_1-1770713250310.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370786iDBD66C4B3349D878/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_1-1770713250310.png" alt="LorenaHanser_1-1770713250310.png" /></span></P><P>The Pipeline works with multiple Integration Flows using a limited number of JMS queues for asynchronous scenarios. There are generic and scenario-specific Integration Flows: generic Integration Flows are developed and enhanced by SAP, being published in SAP Business Accelerator Hub (see next chapter “Initial Setup of Pipeline”). The scenario-specific Integration Flows do not contain lots of complexity and are either generated by the migration tool, or you can create them manually. For different scenarios, messages share the generic Integration Flows as well as the JMS queues – the latter one is important as it targets the reuse of limited resources in Cloud Integration.</P><P>For content-based routing and dynamic message processing behavior, the Pipeline relies on the Partner Directory, from which it reads the required information at runtime. Based on the sender system and the sender interface, the Pipeline looks up the Partner ID (Pid) in the Partner Directory. The Pid is the name of your integration scenario, which holds together the scenario, containing string parameters for dynamic message processing behavior as well as receiver and interface determination, either as binary parameters for content-based routing using XSLT mappings, or as string parameters for point-to-point scenarios (which have exactly one receiver system and one receiver interface).</P><P>The architectural diagram almost shows the bare minimum required for Cloud Integration: 4 Integration Flows (2 generic Integration Flows, 2 scenario-specific Integration Flows), 2 JMS queues, and the Partner Directory (with minimum 2 entries per scenario being 1 alternative partner and 1 binary parameter for content-based routing with combined receiver determination). From this architecture, the Pipeline can be highly extended with more Integration Flows, JMS queues, and Partner Directory entries, to implement a variety of different scenarios and use cases by using the standard framework.</P><P> </P><H1 id="toc-hId-874474973">Initial Setup of the Pipeline</H1><P>To set up the Pipeline for the first time, you can follow the steps below to run your first working scenarios. In this blog post, two scenarios are described with a step-by-step guide which you can follow along to set up the Pipeline in your tenant. You can use a development tenant or even setup a <A href="https://developers.sap.com/tutorials/cp-starter-isuite-onboard-subscribe..html" target="_blank" rel="noopener noreferrer">trial tenant</A> to follow along.</P><P> </P><H2 id="toc-hId-807044187">Point-to-point scenario (<A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/tree/main/scenarios/scenario5" target="_blank" rel="noopener nofollow noreferrer">sample 5</A>)</H2><P>From our experience, most of the integration scenarios are point-to-point, meaning that, for a combination of sender system and sender interface, these scenarios have exactly one receiver system with one receiver interface. These scenarios bypass the content-based routing and therefore are easier to setup by using string parameters in the Partner Directory for receiver and interface determination.</P><P>The following example is <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/tree/main/scenarios/scenario5" target="_blank" rel="noopener nofollow noreferrer">sample scenario 5</A> (PID: PIP_Samples_Scenario_5) of the <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios" target="_blank" rel="noopener nofollow noreferrer">sample scenarios</A> by <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/45178">@alex_bundschuh</a>. As explained above, you need 4 Integration Flows for that, as well as 2 (automatically created) JMS queues and some Partner Directory entries. The following table shows how this fits together (in order of occurrence at runtime):</P><TABLE border="1" width="100%"><TBODY><TR><TD width="12.473572938689218%" height="77px"><P><STRONG>Type</STRONG></P></TD><TD width="39.74630021141649%" height="77px"><P><STRONG>Technical name in standard</STRONG></P></TD><TD width="19.556025369978858%" height="77px"><P><STRONG>Name in picture of architecture</STRONG></P></TD><TD width="28.118393234672308%" height="77px"><P><STRONG>Purpose</STRONG></P></TD></TR><TR><TD width="12.473572938689218%" height="105px"><P>Integration Flow scenario-specific</P></TD><TD width="39.74630021141649%" height="105px"><P>PIPSamplesScenario5_Step01<BR />(custom name)</P></TD><TD width="19.556025369978858%" height="105px"><P>Inbound (scenario-specific)</P></TD><TD width="28.118393234672308%" height="105px"><P>This Integration Flow receives the incoming message and puts it to the generic JMS queue for decoupling.</P></TD></TR><TR><TD width="12.473572938689218%" height="132px"><P>JMS queue</P></TD><TD width="39.74630021141649%" height="132px"><P>PIPX01</P></TD><TD width="19.556025369978858%" height="132px"><P>Inbound X queue</P></TD><TD width="28.118393234672308%" height="132px"><P>The JMS queue holds the message until it is taken by the next Integration Flow and eventually handles retries.</P></TD></TR><TR><TD width="12.473572938689218%" height="187px"><P>Integration Flow generic</P></TD><TD width="39.74630021141649%" height="187px"><P>Pipeline v2 Generic Step02 – Integrated Messaging Runtime Async</P></TD><TD width="19.556025369978858%" height="187px"><P>Integrated Messaging Async (generic)</P></TD><TD width="28.118393234672308%" height="187px"><P>After looking up the Pid from the Partner Directory, this Integration Flow covers both receiver and interface determination, covering special cases such as point-to-point scenarios.</P></TD></TR><TR><TD width="12.473572938689218%" height="132px"><P>Partner Directory entry – alternative partner</P></TD><TD width="39.74630021141649%" height="132px"><P>PIP_Samples_Scenario_5</P></TD><TD width="19.556025369978858%" height="132px"><P>Partner Directory</P></TD><TD width="28.118393234672308%" height="132px"><P>By looking up the combination of sender system and sender interface, the PID is determined as name of the scenario.</P></TD></TR><TR><TD width="12.473572938689218%" height="132px"><P>Partner Directory entry – string parameter</P></TD><TD width="39.74630021141649%" height="132px"><P>PIP_Samples_Scenario_5</P></TD><TD width="19.556025369978858%" height="132px"><P>Partner Directory</P></TD><TD width="28.118393234672308%" height="132px"><P>For the PID, this entry holds the string parameters needed for point-to-point receiver and interface determination.</P></TD></TR><TR><TD width="12.473572938689218%" height="132px"><P>JMS queue</P></TD><TD width="39.74630021141649%" height="132px"><P>PIPQ04</P></TD><TD width="19.556025369978858%" height="132px"><P>Outbound queue</P></TD><TD width="28.118393234672308%" height="132px"><P>The JMS queue holds the message until it is taken by the next Integration Flow and eventually handles retries.</P></TD></TR><TR><TD width="12.473572938689218%" height="132px"><P>Integration Flow generic</P></TD><TD width="39.74630021141649%" height="132px"><P>Pipeline v2 Generic Step06 – Outbound Processing</P></TD><TD width="19.556025369978858%" height="132px"><P>Outbound (generic)</P></TD><TD width="28.118393234672308%" height="132px"><P>This Integration Flow prepares the message to be sent out and calls the scenario-specific ProcessDirect address.</P></TD></TR><TR><TD width="12.473572938689218%" height="187px"><P>Integration Flow scenario-specific</P></TD><TD width="39.74630021141649%" height="187px"><P>PIPSamplesScenario5_Step07_RCV1_IF1<BR />(custom name)</P></TD><TD width="19.556025369978858%" height="187px"><P>Outbound (scenario-specific)</P></TD><TD width="28.118393234672308%" height="187px"><P>This Integration Flow is called via ProcessDirect adapter. If necessary, scenario-specific conversion can be done here for the receiver system, before the message is sent out of Cloud Integration.</P></TD></TR></TBODY></TABLE><P> </P><P>You might be wondering why the Integration Flows cover step01, step02, step06, and step07. This is due to historical reasons, steps 02, 04, and 05 are now all covered by Integration Flow “Pipeline v2 Generic Step02 – Integrated Messaging Runtime Async” and step03 is an optional scenario-specific Integration Flow if inbound conversion like JSON to XML or CSV to XML is needed (the latter one is shown in the picture of architecture with the name “Inbound Conversion (scenario-specific)”). With that, let’s start step by step with setting up the Pipeline in your tenant.</P><P> </P><H3 id="toc-hId-739613401">Copy standard packages from SAP Business Accelerator Hub</H3><P>In total, there are <A href="https://hub.sap.com/search?searchterm=pipeline%20for%20cloud%20integration&tab=All&refinedBy=true" target="_blank" rel="noopener noreferrer">four active packages related to the Pipeline</A>. For the initial setup, however, you only need to copy two of these packages to your Cloud Integration tenant:</P><UL><LI><A href="https://hub.sap.com/package/CloudIntegrationPipelineGenericPipelines/integrationflow" target="_blank" rel="noopener noreferrer">Cloud Integration Pipeline – Generic Pipelines</A></LI><LI><A href="https://hub.sap.com/package/CloudIntegrationPipelineGenericOutbound/integrationflow" target="_blank" rel="noopener noreferrer">Cloud Integration Pipeline – Generic Outbound</A></LI></UL><P>For that, find the packages in the “Discover > Integrations” area of your tenant and simply copy both packages to the tenant.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_0-1770713888657.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370790i879C3DF9DB51A7F2/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_0-1770713888657.png" alt="LorenaHanser_0-1770713888657.png" /></span></P><H3 id="toc-hId-543099896">Deploy generic Integration Flows</H3><P>From these packages, only two Integration Flows need to be deployed to get started.</P><UL><LI><A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step02.integrated.messaging.async" target="_blank" rel="noopener noreferrer">Pipeline v2 Generic Step02 – Integrated Messaging Runtime Async</A> from package “Cloud Integration Pipeline – Generic Pipelines”</LI><LI><A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step06.outbound.processing" target="_blank" rel="noopener noreferrer">Pipeline v2 Generic Step06 – Outbound Processing</A> from package “Cloud Integration Pipeline – Generic Outbound”</LI></UL><P>This can be done in the “Design > Integrations and APIs” area of the same tenant. The default configuration of the Integration Flows is sufficient; you can just deploy them both without any changes.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_0-1770730606297.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370986i05C2926D509C8BDF/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_0-1770730606297.png" alt="LorenaHanser_0-1770730606297.png" /></span></P><P>Once these Integration Flows are deployed, you can check which JMS queues have been created in the background. For that, go to “Monitor > Integrations and APIs > Message Queues”. The default queues are “PIPX01” and “PIPQ04”, both come with a dead letter queue “PIPX01_DLQ” and “PIPQ04_DLQ” in which the message ends up if the number of retries have been exceeded. (Additionally, you might see “PIP<STRONG>Q</STRONG>01”, which used to be the old default queue. When using Integration Flow “Pipeline v2 Generic Step02 – Integrated Messaging Runtime Async”, the default queue is “PIP<STRONG>X</STRONG>01”.)</P><P> </P><H3 id="toc-hId-346586391">Create and deploy scenario-specific Integration Flows</H3><P>Generally, these scenario-specific Integration Flows would either be generated by the migration tool, or you would copy them from the <A href="https://hub.sap.com/package/CloudIntegrationPipelineTemplates/integrationflow" target="_blank" rel="noopener noreferrer">templates package</A>, or you would create them manually, as they usually don’t contain too much logic.</P><P>For this sample, you can import the <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/raw/refs/heads/main/download/PIP%20Samples%20-%20Scenario%205.zip" target="_blank" rel="noopener nofollow noreferrer">sample package for scenario 5</A> to your tenant. In “Design > Integrations and APIs”, import the package from your local device. Without any modification needed, deploy the following artifacts:</P><UL><LI>PIPSamplesScenario5_Step01</LI><LI>PIPSamplesScenario5_Step07_RCV1_IF1</LI></UL><P>Additionally, there is a <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/raw/refs/heads/main/download/PIP%20Samples%20-%20Little%20Helpers.zip" target="_blank" rel="noopener nofollow noreferrer">little helpers package</A> which you can import to your tenant to deploy this Integration Flow simulating a receiver system:</P><UL><LI>PIP_Mocked_Receiver</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_2-1770714026532.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370792i2F051CB86A83AE3E/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_2-1770714026532.png" alt="LorenaHanser_2-1770714026532.png" /></span></P><P> </P><H3 id="toc-hId-150072886">Setup Partner Directory entries</H3><P>To setup the Partner Directory entries required for your first scenario, you can use the <A href="https://help.sap.com/docs/cloud-integration/sap-cloud-integration/managing-partner-directory-entries" target="_blank" rel="noopener noreferrer">Partner Directory UI</A>. To access it, select “Monitor > Integrations and APIs > Partner Directory” in your tenant. In addition, there is a Pipeline-specific accelerator tool which helps you to set up your Partner Directory entries. You can learn more about this tool in the upcoming chapter.</P><P>You’ll see that all Partner Directory entries (no matter if it’s alternative partners, string parameters, or binary parameters) have the same partner ID, which holds together the scenario. For a point-to-point scenario, we need two string parameters for receiver and interface determination, all others (like MaxJMSRetries in that case) are optional and can be used to influence the message processing behavior at runtime.</P><P><STRONG>Alternative partner:</STRONG></P><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_5",
"Agency": "Sender_51",
"Scheme": "SenderInterface",
"Id": "SalesOrder.Create"
}</code></pre><P><STRONG>String parameters:</STRONG></P><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_5",
"Id": "MaxJMSRetries",
"Value": "2"
}</code></pre><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_5",
"Id": "receiverDetermination",
"Value": "Receiver_51"
}</code></pre><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_5",
"Id": "interfaceDetermination_Receiver_51",
"Value": "/PIP/Step07/Samples/Scenario_5/Receiver_51/IfIdx1"
}</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_3-1770714764272.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370800i1EBF23F24572716B/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_3-1770714764272.png" alt="LorenaHanser_3-1770714764272.png" /></span></P><P> </P><H3 id="toc-hId--121671988">Run your first scenario</H3><P>With this setup, you’re able to run your first scenario through Pipeline for Cloud Integration. For that, prepare an HTTP message in the HTTP client of your choice, e.g. Postman or Bruno.</P><pre class="lia-code-sample language-markup"><code>### trigger sample scenario 5
POST https://{{host}}/http/PIP/Step01/Samples/Scenario_5
Authorization: usual authentication to call an Integration Flow, e.g. basic authentication or OAuth using a service key from SAP BTP
Content-Type: application/xml
SAP_Sender: Sender_51
SAP_SenderInterface: SalesOrder.Create
xPipeline: true
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pi="http://pi-elevation.bootcamp.com">
<soapenv:Header/>
<soapenv:Body>
<pi:MT_SalesOrder_0001>
<salesOrder>
<orderNumber>50001</orderNumber>
<orderDate>10/01/2023</orderDate>
<customer>
<firstName>Amruta</firstName>
<lastName>Kamble</lastName>
<street>Hauptstrasse</street>
<number>89</number>
</customer>
<items>
<itemNumber>Test</itemNumber>
<material>Test_material</material>
<quantity>5</quantity>
<price>550</price>
</items>
</salesOrder>
</pi:MT_SalesOrder_0001>
</soapenv:Body>
</soapenv:Envelope></code></pre><P>Under “Monitor > Integrations and APIs > Monitor Message Processing”, you can check how your message was processed at runtime. There, you should see 5 new messages with status “Completed”. They all have the same correlation ID; you can filter by this correlation ID to only display the messages corresponding to the last run of your scenario. With that, you can see that the steps 01, 02, 06, and 07 of the Pipeline were called. At runtime, your Partner Directory entries have been accessed by step02. For each entry, there are details on the right-hand side such as sender and receiver as well as custom headers set by the Pipeline.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_4-1770717723697.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370831i1B7DCC4583F461C4/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_4-1770717723697.png" alt="LorenaHanser_4-1770717723697.png" /></span></P><P>Congratulation, your first scenario is running! This is almost the simplest option of running the Pipeline, yet it is heavily used in practice. To build on that, you can take a look at the next scenario using content-based routing. Since you have now initially set up the pipeline, new scenarios will be set up with even fewer steps.</P><P> </P><H2 id="toc-hId--24782486">Scenario with XSLT for content-based routing (<A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/tree/main/scenarios/scenario1A" target="_blank" rel="noopener nofollow noreferrer">sample 1A</A>)</H2><P>The following example is <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/tree/main/scenarios/scenario1A" target="_blank" rel="noopener nofollow noreferrer">sample scenario 1A</A> (PID: PIP_Samples_Scenario_1A) of the <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios" target="_blank" rel="noopener nofollow noreferrer">sample scenarios</A> by <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/45178">@alex_bundschuh</a>. As explained above, you need 4 Integration Flows for that, as well as 2 (automatically created) JMS queues and some Partner Directory entries. The following table shows how this fits together (in order of occurrence at runtime):</P><TABLE border="1" width="100%"><TBODY><TR><TD width="12.579281183932348%"><P><STRONG>Type</STRONG></P></TD><TD width="39.53488372093023%"><P><STRONG>Technical name in standard</STRONG></P></TD><TD width="19.556025369978858%"><P><STRONG>Name in picture of architecture</STRONG></P></TD><TD width="28.224101479915433%"><P><STRONG>Purpose</STRONG></P></TD></TR><TR><TD width="12.579281183932348%"><P>Integration Flow scenario-specific</P></TD><TD width="39.53488372093023%"><P>PIPSamplesScenario1_Step01<BR />(custom name)</P></TD><TD width="19.556025369978858%"><P>Inbound (scenario-specific)</P></TD><TD width="28.224101479915433%"><P>This Integration Flow receives the incoming message and puts it to the generic JMS queue for decoupling.</P></TD></TR><TR><TD width="12.579281183932348%"><P>JMS queue</P></TD><TD width="39.53488372093023%"><P>PIPX01</P></TD><TD width="19.556025369978858%"><P>Inbound X queue</P></TD><TD width="28.224101479915433%"><P>The JMS queue holds the message until it is taken by the next Integration Flow and eventually handles retries.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Integration Flow generic</P></TD><TD width="39.53488372093023%"><P>Pipeline v2 Generic Step02 – Integrated Messaging Runtime Async</P></TD><TD width="19.556025369978858%"><P>Integrated Messaging Async (generic)</P></TD><TD width="28.224101479915433%"><P>After looking up the Pid from the Partner Directory, this Integration Flow covers both receiver and interface determination, covering special cases such as point-to-point scenarios.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Partner Directory entry – alternative partner</P></TD><TD width="39.53488372093023%"><P>PIP_Samples_Scenario_1A</P></TD><TD width="19.556025369978858%"><P>Partner Directory</P></TD><TD width="28.224101479915433%"><P>By looking up the combination of sender system and sender interface, the PID is determined as name of the scenario.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Partner Directory entry – string parameter</P></TD><TD width="39.53488372093023%"><P>PIP_Samples_Scenario_1A</P></TD><TD width="19.556025369978858%"><P>Partner Directory</P></TD><TD width="28.224101479915433%"><P>Based on the Pid, the Pipeline checks if a strung parameter with Id InboundConversionEndpoint is set in the Partner Directory, which is done for this scenario.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Integration Flow scenario-specific</P></TD><TD width="39.53488372093023%"><P>PIPSamplesScenario1_Step03 (custom name)</P></TD><TD width="19.556025369978858%"><P>Inbound conversion (scenario-specific)</P></TD><TD width="28.224101479915433%"><P>Based on the ProcessDirect address set in the Partner Directory, a custom Integration Flow is called for inbound conversion. In this scenario, this is done by a JSON to XML converter.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Partner Directory entry – binary parameter</P></TD><TD width="39.53488372093023%"><P>PIP_Samples_Scenario_1A</P></TD><TD width="19.556025369978858%"><P>Partner Directory</P></TD><TD width="28.224101479915433%"><P>For the PID, this entry holds the corresponding XSLT mapping for content-based routing.</P></TD></TR><TR><TD width="12.579281183932348%"><P>JMS queue</P></TD><TD width="39.53488372093023%"><P>PIPQ04</P></TD><TD width="19.556025369978858%"><P>Outbound queue</P></TD><TD width="28.224101479915433%"><P>The JMS queue holds the message until it is taken by the next Integration Flow and eventually handles retries.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Integration Flow generic</P></TD><TD width="39.53488372093023%"><P>Pipeline v2 Generic Step06 – Outbound Processing</P></TD><TD width="19.556025369978858%"><P>Outbound (generic)</P></TD><TD width="28.224101479915433%"><P>This Integration Flow prepares the message to be sent out and calls the scenario-specific ProcessDirect address.</P></TD></TR><TR><TD width="12.579281183932348%"><P>Integration Flow scenario-specific</P></TD><TD width="39.53488372093023%"><P>PIPSamplesScenario1_Step07_RCVx_IFx<BR />(custom name)</P></TD><TD width="19.556025369978858%"><P>Outbound (scenario-specific)</P></TD><TD width="28.224101479915433%"><P>This Integration Flow is called via ProcessDirect adapter. If necessary, scenario-specific conversion can be done here for the receiver system, before the message is sent out of Cloud Integration.</P></TD></TR></TBODY></TABLE><H3 id="toc-hId--514698998"> </H3><H3 id="toc-hId--711212503">Copy standard packages from SAP Business Accelerator Hub</H3><P>As these packages are reused and we have already done this for our first scenario, we don’t need to do anything in this step.</P><H3 id="toc-hId--907726008"> </H3><H3 id="toc-hId--1104239513">Deploy generic Integration Flows</H3><P>These are the same Integration Flows which we have deployed earlier for the first scenario, so no action required for now.</P><H3 id="toc-hId--1300753018"> </H3><H3 id="toc-hId--1497266523">Create and deploy scenario-specific Integration Flows</H3><P>For this sample, you can import the <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/raw/refs/heads/main/download/PIP%20Samples%20-%20Scenario%201.zip" target="_blank" rel="noopener nofollow noreferrer">sample package for scenario 1A</A> to your tenant. In “Design > Integrations and APIs”, import the package from your local device. Without any modification needed, deploy the following artifacts (in this scenario, step07 relies on a message mapping, which also needs to be deployed):</P><UL><LI>PIPSamplesScenario1_Step01</LI><LI>PIPSamplesScenario1_Step03</LI><LI>PIPSamplesScenario1_Step07_RCV2_IF1</LI><LI>mm_item_to_order</LI></UL><P> </P><H3 id="toc-hId--1693780028">Setup Partner Directory entries</H3><P>This time, for content-based routing, we need an XSLT as binary parameter for receiver and interface determination in addition to alternative partners and string parameters. These entries can again be created in the Partner Directory UI or with the accelerator tool.</P><P><STRONG>Alternative partner:</STRONG></P><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_1A",
"Agency": "Sender_1A",
"Scheme": "SenderInterface",
"Id": "PurchaseOrderItem.Create"
}</code></pre><P><STRONG>String parameters:</STRONG></P><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_1A",
"Id": "MaxJMSRetries",
"Value": "1"
}</code></pre><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_1A",
"Id": "InboundConversionEndpoint",
"Value": "/PIP/Step03/Samples/Scenario_1"
}</code></pre><P><STRONG>Binary parameters:</STRONG></P><P>You can save the following XSLT as .xsl file on your local device and then upload it in the Partner Directory UI. Especially when dealing with Binary parameters, the recommendation is to use the accelerator tool, as this aims to simplify your interaction with the Partner Directory for the Pipeline. Using this tool as described in the chapter below, you don’t have to create the XSLT from scratch on your own, but the tool can generate it for you based on a tabular input – make sure to check the tool out!</P><pre class="lia-code-sample language-json"><code>{
"Pid": "PIP_Samples_Scenario_1A",
"Id": "receiverDetermination"
"ContentType": "xsl",
"Value": upload the following XSLT from your local device
}</code></pre><pre class="lia-code-sample language-markup"><code><?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:param name="dc_country" />
<xsl:template match="/">
<ns0:Receivers xmlns:ns0="http://sap.com/xi/XI/System">
<ReceiverNotDetermined>
<Type>Error</Type>
<DefaultReceiver />
</ReceiverNotDetermined>
<xsl:if test="/*:Item/Category = 'Keyboards'">
<Receiver>
<Service>Receiver_11</Service>
<Interfaces>
<xsl:if test="/*:Item/Quantity = '10'">
<Interface>
<Index>1</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_11/IfIdx1</Service>
</Interface>
</xsl:if>
<xsl:if test="/*:Item/CurrencyCode = 'EUR'">
<Interface>
<Index>2</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_11/IfIdx2</Service>
</Interface>
</xsl:if>
<xsl:if test="/*:Item/Quantity != '10'">
<Interface>
<Index>3</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_11/IfIdx3</Service>
</Interface>
</xsl:if>
</Interfaces>
</Receiver>
</xsl:if>
<xsl:if test="(/*:Item/Category = 'Keyboards') or (/*:Item/Category = 'Software')">
<Receiver>
<Service>Receiver_12</Service>
<Interfaces>
<xsl:if test="$dc_country = 'DE'">
<Interface>
<Index>1</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_12/IfIdx1</Service>
</Interface>
</xsl:if>
<xsl:if test="$dc_country != 'DE'">
<Interface>
<Index>2</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_12/IfIdx2</Service>
</Interface>
</xsl:if>
</Interfaces>
</Receiver>
</xsl:if>
<xsl:if test="(/*:Item/Category = 'Keyboards') and (/*:Item/ProductName != 'XXXX')">
<Receiver>
<Service>Receiver_13</Service>
<Interfaces>
<xsl:if test="/*:Item/Quantity = '10'">
<Interface>
<Index>1</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_13/IfIdx1</Service>
</Interface>
</xsl:if>
<xsl:if test="/*:Item/CurrencyCode = 'EUR'">
<Interface>
<Index>2</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_13/IfIdx2</Service>
</Interface>
</xsl:if>
<xsl:if test="/*:Item/Quantity != '10'">
<Interface>
<Index>3</Index>
<Service>/PIP/Step07/Samples/Scenario_1/Receiver_13/IfIdx3</Service>
</Interface>
</xsl:if>
</Interfaces>
</Receiver>
</xsl:if>
</ns0:Receivers>
</xsl:template>
</xsl:stylesheet></code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_0-1770719720959.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370851iB1AEAEE0FAE43794/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_0-1770719720959.png" alt="LorenaHanser_0-1770719720959.png" /></span></P><P>Alternatively, in the accelerator tool, your scenario would look like below. Without the need to deal with the syntax of the XSLT, you can focus on entering the XPath conditions and receiver system / receiver interface, to generate the XSLT from your input. For more details on this accelerator tool, please find the next chapter.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_1-1770719756615.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370852iB369395DE639B6BF/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_1-1770719756615.png" alt="LorenaHanser_1-1770719756615.png" /></span></P><P> </P><H3 id="toc-hId--1890293533">Run your second scenario</H3><pre class="lia-code-sample language-json"><code>### trigger sample scenario 1A
POST https://{{host}}/http/PIP/Step01/Samples/Scenario_1?country=DE
Authorization: usual authentication to call an Integration Flow, e.g. basic authentication or OAuth using a service key from SAP BTP
Content-Type: application/json
SAP_Sender: Sender_1A
SAP_SenderInterface: PurchaseOrderItem.Create
xPipeline: true
{
"ns0:Item":{
"@PurchaseOrderNumber":"1A9201",
"@OrderDate":"2019-05-06",
"@ItemNumber":"10",
"ProductId":"HT-XXXX",
"ProductName":"XXXX",
"Category":"Software",
"Quantity":"10",
"CurrencyCode":"EUR",
"Price":"799.00"
}
}</code></pre><P>Under “Monitor > Integrations and APIs > Monitor Message Processing”, you can again check how your message was processed at runtime, ideally filtered by the correlation ID. This time, step03 has also be called for scenario-specific inbound conversion, as this is set as a string parameter in the Partner Directory.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LorenaHanser_2-1770719949130.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370854i56E3607AEDC12667/image-size/large?v=v2&px=999" role="button" title="LorenaHanser_2-1770719949130.png" alt="LorenaHanser_2-1770719949130.png" /></span></P><P>With that, also your second scenario is running! This is just the beginning – there are lots of more options and <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios" target="_blank" rel="noopener nofollow noreferrer">sample scenarios</A> available. You can easily set them up with a <A href="https://github.com/peasantsboot/ProcessIntegrationPipelineSampleScenarios/tree/main/download" target="_blank" rel="noopener nofollow noreferrer">Postman collection</A> provided – there are different messages you can test for each scenario, e.g., for scenario 1A, there is a message prepared where you can observe receivers and interfaces splits.</P><P>When further discovering the Pipeline, our strong recommendation is to not edit the generic Integration Flows but stay in the standard to easily get updates. Most of the use cases can be implemented with the standard, as the Pipeline keeps evolving covering more and more different scenarios.</P><P> </P><H1 id="toc-hId--1331817333">Accelerator Tool</H1><P>As you saw during the initial setup, we deal with XSLT mappings for content-based routing. To make maintenance of XSLT, replication of Partner Directory content, and other topics related to Partner Directory easier, there is an <A href="https://github.com/SAP-samples/integration-suite-partner-directory-accelerator-for-pipeline-concept" target="_blank" rel="noopener nofollow noreferrer">accelerator tool</A> specifically developed for Pipeline for Cloud Integration. The idea is to use this SAP open source tool in combination with our standard UI. Feel free to give it a try, there is also a session available from <A href="https://www.youtube.com/watch?v=m51z53fc1c4" target="_blank" rel="noopener nofollow noreferrer">Devtoberfest 2025</A> which shows the setup step by step.</P><P> </P><H1 id="toc-hId--1528330838">Link Collection</H1><P><STRONG>SAP Help</STRONG></P><P>Standard documentation as part of migration guide from SAP PO: <A href="https://help.sap.com/docs/migration-guide-po/migration-guide-for-sap-process-orchestration/pipeline-concept" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/migration-guide-po/migration-guide-for-sap-process-orchestration/pipeline-concept</A></P><P>Partner Directory entries for the Pipeline: <A href="https://help.sap.com/docs/migration-guide-po/migration-guide-for-sap-process-orchestration/using-partner-directory-in-pipeline-concept" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/migration-guide-po/migration-guide-for-sap-process-orchestration/using-partner-directory-in-pipeline-concept</A></P><P>Partner Directory UI: <A href="https://help.sap.com/docs/cloud-integration/sap-cloud-integration/managing-partner-directory-entries" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/cloud-integration/sap-cloud-integration/managing-partner-directory-entries</A></P><P> </P><P><STRONG>Introduction of the Pipeline at Devtoberfest</STRONG>: <A href="https://www.youtube.com/watch?v=LFfW8rnm4fU" target="_blank" rel="noopener nofollow noreferrer">https://www.youtube.com/watch?v=LFfW8rnm4fU</A></P><P> </P><P><STRONG>SAP Community (recent blogs after package split)</STRONG></P><P>Version 1.0.0: <A href="https://community.sap.com/t5/integration-blog-posts/new-integration-packages-for-the-pipeline-for-cloud-integration/ba-p/14175339" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-integration-packages-for-the-pipeline-for-cloud-integration/ba-p/14175339</A></P><UL><LI>Package split</LI><LI>Custom preprocessing exit: <A href="https://community.sap.com/t5/integration-blog-posts/new-feature-for-the-pipeline-for-cloud-integration-custom-preprocessing/ba-p/14199571" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-feature-for-the-pipeline-for-cloud-integration-custom-preprocessing/ba-p/14199571</A></LI><LI>New templates for enhancing the custom receiver determination: <A href="https://community.sap.com/t5/integration-blog-posts/new-templates-for-the-pipeline-for-cloud-integration-enhancing-the-custom/ba-p/14199651" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-templates-for-the-pipeline-for-cloud-integration-enhancing-the-custom/ba-p/14199651</A></LI></UL><P>Version 1.0.1: <A href="https://community.sap.com/t5/integration-blog-posts/introducing-a-new-version-1-0-1-of-the-pipeline-for-cloud-integration/ba-p/14257263" target="_blank">https://community.sap.com/t5/integration-blog-posts/introducing-a-new-version-1-0-1-of-the-pipeline-for-cloud-integration/ba-p/14257263</A></P><UL><LI>We now support a generic IDoc outbound flow to standardize and ease the configuration of IDoc outbound scenarios: <A href="https://community.sap.com/t5/integration-blog-posts/generic-idoc-outbound-flow-in-cloud-integration-pipeline/ba-p/14269062" target="_blank">https://community.sap.com/t5/integration-blog-posts/generic-idoc-outbound-flow-in-cloud-integration-pipeline/ba-p/14269062</A></LI><LI>We now support a generic XI outbound flow to standardize and ease the configuration of XI outbound scenarios: <A href="https://community.sap.com/t5/integration-blog-posts/generic-xi-outbound-flow-in-cloud-integration-pipeline/ba-p/14269061" target="_blank">https://community.sap.com/t5/integration-blog-posts/generic-xi-outbound-flow-in-cloud-integration-pipeline/ba-p/14269061</A></LI><LI>We have improved the support for sender and receiver parties.</LI><LI>We have improved the support for receiver-specific queues and the definition of the queue for receiver-specific outbound processing.</LI><LI>In a sender wildcard scenario, we now support inbound conversion per sender.</LI><LI>Non-XML payloads are encoded before storing in an exchange property to avoid that the payload gets corrupted when reading from the exchange property again.</LI><LI>For some scenarios, you have the option to run scenarios in the pipeline without the need of the Partner Directory: <A href="https://community.sap.com/t5/integration-blog-posts/run-pipeline-for-cloud-integration-without-the-partner-directory/ba-p/14257311" target="_blank">https://community.sap.com/t5/integration-blog-posts/run-pipeline-for-cloud-integration-without-the-partner-directory/ba-p/14257311</A></LI></UL><P>December 2025 shipment: <A href="https://community.sap.com/t5/integration-blog-posts/new-fixes-and-features-in-the-pipeline-for-cloud-integration-package-with/ba-p/14294379" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-fixes-and-features-in-the-pipeline-for-cloud-integration-package-with/ba-p/14294379</A></P><UL><LI>We have changed the duplicate handling for the generic XI and IDoc inbound processing flows as follows: In case of duplicates, the message processing logs end with <EM>Completed</EM> instead of <EM>Escalated</EM> to avoid that an http error code 500 is returned to the sending system.</LI><LI>For testing purposes, you can now switch off the duplicate check for the generic IDoc inbound processing flow. By default, the duplicate handling is enabled.</LI><LI>The XI inbound processing flow now supports dynamic adapter-specific headers. A feature which has just recently be shipped with an enhancement of the XI adapter. See <A href="https://help.sap.com/docs/cloud-integration/sap-cloud-integration/configure-xi-receiver-adapter#dynamic-headers" target="_blank" rel="noopener noreferrer">Dynamic Headers</A>.</LI><LI>An Exactly Once In Order (EOIO) check has been added to the IDoc inbound processing flow. Since we do not support EOIO in the Pipeline yet, the message goes into an error.</LI><LI>The definition of alternative partners has been extended to be able to determine partner ID based on sender component name, sender interface name, and sender interface namespace. This was supported before for XI and IDoc inbound scenarios, now you can do this for any scenario if required. If not, you can stick to the option to determine partner ID based on sender component name and sender interface name only.</LI><LI>We fixed an issue with a wrong reference to a script in the <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step02.integrated.messaging.sync" target="_blank" rel="noopener noreferrer">Pipeline v2 Generic Step02 - Integrated Messaging Runtime Sync</A> flow.</LI><LI>The allowed headers list of the template flow <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.template.custom.exit" target="_blank" rel="noopener noreferrer">Pipeline v2 Template - Custom Exit</A> has been extended to support the header <EM>SapQualityOfService</EM>. This way, you have the option to use or change the <EM>SapQualityOfService</EM> header in a custom pre-processing flow. For instance, you do not like to change the EOIO setup of an XI interface in the sender system but still like to process the messages in the Pipeline accepting EO delivery as long as the Pipeline doesn't support EOIO. So you can call the custom exit flow right at the beginning of the generic XI inbound flow and switch from <EM>ExactlyOnceInOrder</EM> to <EM>ExactlyOnce</EM>.</LI><LI>A new template <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.template.step07.outbound.processing.p2p.to.xi" target="_blank" rel="noopener noreferrer">Pipeline v2 Template Step07 - Outbound Processing Point-to-Point to Generic XI Outbound</A> has been added that allows you to create a scenario-specific outbound processing flow that calls the generic XI outbound processing flow. The template can be used for both synchronous and asynchronous communication.</LI><LI>A new template <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.template.step07.outbound.processing.p2p.to.idoc" target="_blank" rel="noopener noreferrer">Pipeline v2 Template Step07 - Outbound Processing Point-to-Point to Generic IDoc Outbound</A> has been added that allows you to create a scenario-specific outbound processing flow that calls the generic IDoc outbound processing flow.</LI></UL><P> </P><P><STRONG>SAP Business Accelerator Hub</STRONG></P><P>Package “Cloud Integration Pipeline - Generic Pipelines”: <A href="https://hub.sap.com/package/CloudIntegrationPipelineGenericPipelines/integrationflow" target="_blank" rel="noopener noreferrer">https://hub.sap.com/package/CloudIntegrationPipelineGenericPipelines/integrationflow</A></P><UL><LI>Package for step02 (including integration messaging runtime async and sync), as well as old step02, step04, and step05</LI><LI>Integration flow “Pipeline v2 Generic Step02 - Integrated Messaging Runtime Async”: <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step02.integrated.messaging.async" target="_blank" rel="noopener noreferrer">https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step02.integrated.messaging.async</A></LI></UL><P>Package “Cloud Integration Pipeline - Generic Outbound”. <A href="https://hub.sap.com/package/CloudIntegrationPipelineGenericOutbound/integrationflow" target="_blank" rel="noopener noreferrer">https://hub.sap.com/package/CloudIntegrationPipelineGenericOutbound/integrationflow</A></P><UL><LI>Package for step06 and step08 (latter ones are optional for generic XI or IDoc outbound)</LI><LI>Integration flow “Pipeline v2 Generic Step06 - Outbound Processing”: <A href="https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step06.outbound.processing" target="_blank" rel="noopener noreferrer">https://hub.sap.com/integrationflow/com.sap.integration.cloud.pipeline.v2.generic.step06.outbound.processing</A></LI></UL><P>Package “Cloud Integration Pipeline - Generic Inbound”: <A href="https://hub.sap.com/package/CloudIntegrationPipelineGenericInbound/integrationflow" target="_blank" rel="noopener noreferrer">https://hub.sap.com/package/CloudIntegrationPipelineGenericInbound/integrationflow</A></P><UL><LI>Package for generic XI or IDoc entry point (optional)</LI></UL><P>Package “Cloud Integration Pipeline – Templates”: <A href="https://hub.sap.com/package/CloudIntegrationPipelineTemplates/integrationflow" target="_blank" rel="noopener noreferrer">https://hub.sap.com/package/CloudIntegrationPipelineTemplates/integrationflow</A></P><UL><LI>Package with different Integration Flows for different steps and scenarios which can be customized based on your needs</LI></UL><P> </P><P><STRONG>Data Store Extension</STRONG></P><P>Version 1.0.0: <A href="https://community.sap.com/t5/integration-blog-posts/process-integration-pipeline-extension-restart-via-data-store/ba-p/14153116" target="_blank">https://community.sap.com/t5/integration-blog-posts/process-integration-pipeline-extension-restart-via-data-store/ba-p/14153116</A></P><P>Version 1.0.1: <A href="https://community.sap.com/t5/integration-blog-posts/new-ci-pipeline-restart-extension-features-supporting-new-pipeline-package/ba-p/14230547" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-ci-pipeline-restart-extension-features-supporting-new-pipeline-package/ba-p/14230547</A></P><UL><LI>Supports <A href="https://community.sap.com/t5/integration-blog-posts/new-integration-packages-for-the-pipeline-for-cloud-integration/ba-p/14175339" target="_blank">new integration packages for the Pipeline for Cloud Integration</A> and allows flexible linkage of Generic Pipeline copies to the Pipeline Stages.</LI><LI>Enhanced Restart Job Integration Flow:</LI><LI>Generic Job Profile to restart all integration scenarios defined in the Partner Directory through the Pipeline Framework.</LI><LI>New configuration options to persist the Job Log.</LI><LI>New Integration Flow "Pipeline API - Restart Job Log" to retrieve both the Restart Job run list and detailed log data (if log persistence is enabled).</LI><LI>Improved configuration and monitoring: New parameters (such as "NotOlderThanHours" for Restart Job), several bug fixes, enriched monitoring headers, and better exception handling.</LI></UL><P> </P><P><STRONG>Accelerator Tool</STRONG></P><P>GitHub: <A href="https://github.com/SAP-samples/integration-suite-partner-directory-accelerator-for-pipeline-concept" target="_blank" rel="noopener nofollow noreferrer">https://github.com/SAP-samples/integration-suite-partner-directory-accelerator-for-pipeline-concept</A></P><P>Blog: <A href="https://community.sap.com/t5/integration-blog-posts/partner-directory-accelerator-tool-for-pipeline-concept/ba-p/14095019" target="_blank">https://community.sap.com/t5/integration-blog-posts/partner-directory-accelerator-tool-for-pipeline-concept/ba-p/14095019</A></P><P>Devtoberfest: <A href="https://www.youtube.com/watch?v=m51z53fc1c4" target="_blank" rel="noopener nofollow noreferrer">https://www.youtube.com/watch?v=m51z53fc1c4</A></P><P> </P><P><STRONG>History – older SAP Community blog posts before package split</STRONG></P><P>Version 1.0.0 – initial release in March 2024: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-new-pipeline-concept-in-cloud-integration/ba-p/13639651" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-new-pipeline-concept-in-cloud-integration/ba-p/13639651</A></P><UL><LI>Applying the pipeline concept for an integration scenario in general: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-integration-scenario-in-general/ba-p/13640018" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-integration-scenario-in-general/ba-p/13640018</A></LI><LI>Applying the pipeline concept for a multicast integration scenario: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-a-multicast-integration-scenario/ba-p/13641417" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-a-multicast-integration-scenario/ba-p/13641417</A></LI><LI>Applying the pipeline concept for a point-to-point integration scenario: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-a-point-to-point-integration-scenario/ba-p/13641474" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-a-point-to-point-integration-scenario/ba-p/13641474</A></LI><LI>Applying the pipeline concept for an interface split scenario with one receiver message type: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-interface-split-scenario-with-one/ba-p/13641560" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-interface-split-scenario-with-one/ba-p/13641560</A></LI><LI>Applying the pipeline concept for an interface split scenario with multiple receiver message types: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-interface-split-scenario-with-multiple/ba-p/13641662" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-interface-split-scenario-with-multiple/ba-p/13641662</A></LI><LI>Applying the pipeline concept for an interface split scenario with order at runtime flag set: <A href="https://community.sap.com/t5/integration-blog-posts/applying-the-pipeline-concept-for-an-interface-split-scenario-with-order-at/ba-p/13641691" target="_blank">https://community.sap.com/t5/integration-blog-posts/applying-the-pipeline-concept-for-an-interface-split-scenario-with-order-at/ba-p/13641691</A></LI></UL><P>Version 1.0.5: <A href="https://community.sap.com/t5/integration-blog-posts/latest-pipeline-concept-enhancements-custom-error-handling-and-others/ba-p/13757664" target="_blank">https://community.sap.com/t5/integration-blog-posts/latest-pipeline-concept-enhancements-custom-error-handling-and-others/ba-p/13757664</A></P><UL><LI>Extension for custom error handling</LI><LI>In generic IDoc inbound processing flow, display list of IDoc numbers in case of IDoc bulk messages</LI><LI>For IDoc inbound, sender interface is calculated as a combination of MESTYP, IDOCTYP and CIMTYP</LI><LI>Supporting test mode via testMode header in the allowed headers configuration</LI><LI>In standard error handling, copied messages from the dead letter queue are switched to DEBUG log level</LI></UL><P>Version 1.0.6: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-new-partner-id-definition-alternative-partner/ba-p/13787400" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-new-partner-id-definition-alternative-partner/ba-p/13787400</A></P><UL><LI>Revised partner id approach due to lengths restrictions of the partner id</LI><LI>Option to use alternative partner in case of sender wildcard scenarios and to overcome partner id restrictions</LI><LI>Changed default max retry to 5 instead of unlimited retry</LI><LI>For messages in test mode, failed messages are not put into retry</LI><LI>For generic integration flows, adapter parameters were externalized</LI><LI>Option to configure message end event type in case of message stored in dead letter queue, default is Escalated</LI><LI>Option to bypass receiver determination and interface determination steps in case of Point-to-Point pattern</LI><LI>Option to configure a pipeline JMS queue prefix which makes configuration of queue names easier if you create another set of generic integration flow</LI></UL><P>Version 1.0.7: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-supporting-custom-header-properties-and/ba-p/13894048" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-supporting-custom-header-properties-and/ba-p/13894048</A></P><UL><LI>Support for custom header properties</LI><LI>Support for dynamic configuration parameters</LI></UL><P>Version 1.0.8: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-more-bypass-options-and-custom-extensions/ba-p/13955138" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-more-bypass-options-and-custom-extensions/ba-p/13955138</A></P><UL><LI>Option to combine receiver and interface determination in one single XSLT mapping for an improved runtime behavior</LI><LI>Option to bypass interface determination pipeline step in case of Recipient List pattern without interface split</LI><LI>Option to bypass receiver determination pipeline step in case of interface split scenarios with one single receiver only</LI><LI>Supporting header-based XSLT routing conditions if message body is non-XML</LI><LI>Extension for custom receiver determination instead of XSLT from Partner Directory</LI><LI>Extension for custom interface determination instead of XSLT from Partner Directory</LI><LI>New pipeline processing log providing more details if message is stored to the dead letter queue</LI><LI>Fixed standard retry handling for generic integration flows with splitter to avoid message duplicates</LI></UL><P>Version 1.0.9: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-integrated-runtimes-and-supporting-landscape/ba-p/14000234" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-integrated-runtimes-and-supporting-landscape/ba-p/14000234</A></P><UL><LI>Supporting different tenant stages, e.g., DEV, QA, PRD</LI><LI>New integrated messaging runtime "Pipeline Generic Step02 - Integrated Messaging Runtime Async" combining inbound conversion and receiver/interface determination in one pipeline step</LI><LI>New integrated messaging runtime "Pipeline Generic Step02 - Integrated Messaging Runtime Sync" for handling synchronous Content-Based-Routing scenarios</LI><LI>New template "Pipeline Template Step01 - Inbound Processing Synchronous" for scenario-specific synchronous inbound processing</LI><LI>New template "Pipeline Template Step07 - Outbound Processing Synchronous" for scenario-specific synchronous outbound processing</LI><LI>Generic inbound processing for XI supports both asynchronous and synchronous messaging</LI><LI>Failed test messages end with escalation instead of completed</LI><LI>Added custom error handling for generic XI and IDoc inbound flows</LI></UL><P>Version 1.0.10: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-supporting-service-interface-operations-and/ba-p/14049909" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-supporting-service-interface-operations-and/ba-p/14049909</A></P><UL><LI>Supporting service interface operations</LI><LI>Updated the allowed header list</LI><LI>Have done script optimizations</LI><LI>Converted the XI message ID to upper case</LI></UL><P>Version 1.0.11: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-for-cloud-integration-features-with-version-1-0-11/ba-p/14093335" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-for-cloud-integration-features-with-version-1-0-11/ba-p/14093335</A></P><UL><LI>The search based on IDoc number in the message monitor has been improved by removing the leading zeros from IDoc number in ApplicationID and custom header properties.</LI><LI>For the XI inbound flow, the partner ID is determined also based on service interface namespace in addition to system name and service interface name.</LI><LI>We fixed an error with wrong inbound queue in case of custom error handling for the integrated messaging runtime.</LI><LI>We introduced a configuration option to switch off the option to determine the partner ID using the so called "tilde option". The default is that this option is switched off.</LI><LI>We changed the default inbound processing queue of the XI inbound and the IDoc inbound flows from PIPQ01 to PIPX01 so that by default the integrated messaging runtime is used.</LI></UL><P>Version 1.0.12: <A href="https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-with-version-1-0-12-improved-handling-of/ba-p/14112869" target="_blank">https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-with-version-1-0-12-improved-handling-of/ba-p/14112869</A></P><UL><LI>Improved handling of custom header properties</LI><LI>New processing option: Using exchange properties</LI><LI>Previous Approach Still Supported: Manually Setting customHeaderProperties</LI></UL><P>Support by migration tool: <A href="https://community.sap.com/t5/integration-blog-posts/migration-tooling-now-supporting-migration-via-the-pipeline-approach/ba-p/14073721" target="_blank">https://community.sap.com/t5/integration-blog-posts/migration-tooling-now-supporting-migration-via-the-pipeline-approach/ba-p/14073721</A></P><P> </P>2026-02-10T16:02:09.566000+01:00https://community.sap.com/t5/technology-blog-posts-by-members/sap-cpi-wsdl-headers-not-visible-after-upload-here-s-the-fix/ba-p/14321522SAP CPI: WSDL Headers Not Visible After Upload? Here’s the Fix2026-02-12T08:17:18.687000+01:00srivallivasamsettihttps://community.sap.com/t5/user/viewprofilepage/user-id/1845719<P><STRONG>Introduction</STRONG> : When working with shared WSDLs in SAP CPI, SOAP headers are sometimes not fetched correctly after the WSDL upload. Even though the same WSDL works for both source and target systems, CPI may fail to display the headers. This blog explain a simple one-line fix to resolve the issue.</P><P><STRONG>Body </STRONG>:</P><P>When performing message mapping in SAP CPI, it only considers elements defined inside the <CODE><schema></CODE> section of the WSDL. Any SOAP headers that exist outside this scope—like custom or extended headers won’t be recognized by CPI. This can be confusing, because the WSDL may work perfectly in both your source and target systems, yet <STRONG>CPI doesn’t display the headers</STRONG>, making them impossible to map.</P><P>CPI parses only the <STRONG>schema-defined elements</STRONG>. Headers defined outside the schema or not explicitly referenced are <STRONG>ignored</STRONG>,</P><P>We need to add <xs:element ref="emf:EMFHeader" /> element to the source and target schema as shown in the shared screenshot. </P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="srivallivasamsetti_1-1770360148588.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369419iCC162F8AB40D0679/image-size/medium?v=v2&px=400" role="button" title="srivallivasamsetti_1-1770360148588.png" alt="srivallivasamsetti_1-1770360148588.png" /></span></P><H4 id="toc-hId-2047660740"><STRONG>Step-by-Step Implementation</STRONG></H4><OL><LI><P>Open the <STRONG>source schema</STRONG> in CPI.</P></LI><LI><P>Locate the <CODE><xs:schema></CODE> section.</P></LI><LI><P>Add <CODE><xs:element ref="emf:EMFHeader" /></CODE> at the appropriate position.</P></LI><LI><P>Repeat the same process in the <STRONG>target schema</STRONG>.</P></LI><LI><P>Save and reopen your mapping</P></LI></OL><P>After these steps, all previously hidden headers should be <STRONG>fully visible</STRONG>, ready for mapping.</P><P><STRONG>Summary</STRONG> : In SAP CPI, SOAP headers may not appear in message mapping when using shared WSDLs because CPI only reads the elements defined in the schema. And adding <CODE><xs:element ref="emf:EMFHeader" /></CODE> to both source and target schemas makes the headers visible for mapping.</P>2026-02-12T08:17:18.687000+01:00https://community.sap.com/t5/sap-for-oil-gas-and-energy-blog-posts/beyond-the-workhorse-what-i-ve-learned-modernizing-u-s-utilities/ba-p/14309315Beyond the Workhorse: What I’ve Learned Modernizing U.S. Utilities2026-02-12T12:08:47.681000+01:00Atul_Joshi85https://community.sap.com/t5/user/viewprofilepage/user-id/2274193<H1 id="toc-hId-1658801919"> </H1><H1 id="toc-hId-1462288414">Introduction</H1><P>In my decade-plus of architecting for major U.S. utilities—from the high-pressure power corridors of the Northeast to the expanding grids in the South—I’ve seen a shift in what "success" looks like. For a long time, the goal was simple: <STRONG>Keep the lights on.</STRONG> But as we hit 2026, that benchmark is failing. Aggressive decarbonization and the wave of decentralized energy (DERs) like rooftop solar and EV charging are putting a massive strain on our trusted workhorse, SAP IS-U.</P><H2 id="toc-hId-1394857628">1. The Reality Check: When the "Standard" Hits the Ceiling</H2><P>IS-U is a dependable system for meter-to-cash, but it was designed for a world of predictable, one-way power flow. In my recent field work, I've kept hitting three "Legacy Burdens":</P><UL><LI><STRONG>The Batch Job Bottleneck:</STRONG> Waiting for overnight runs to understand grid load is a non-starter in a smart-grid world.</LI><LI><STRONG>The "Spaghetti" Problem:</STRONG> Years of custom ABAP "Z-code" have made some environments so brittle that a simple integration takes months of testing.</LI><LI><STRONG>The 2027 Clock:</STRONG> S/4HANA migration isn't just an upgrade; it’s a race to preserve business logic buried in 20 years of customizations.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Atul_Joshi85_0-1770746122751.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/371161i0B386CED69BC3771/image-size/medium?v=v2&px=400" role="button" title="Atul_Joshi85_0-1770746122751.png" alt="Atul_Joshi85_0-1770746122751.png" /></span></P><P> </P><H2 id="toc-hId-1198344123">2. My Architecture Philosophy: The "Clean Core" Mindset</H2><P>The biggest shift I’ve driven in recent programs is moving away from the instinct to "customize inside the ERP." By adopting a <STRONG>Clean Core</STRONG> strategy, we treat SAP BTP as our innovative layer.</P><P>This keeps the S/4HANA core stable. While the core handles the heavy transactions, the "brain" (SAP BTP) manages the fast-changing logic. This gives us speed without risking the stability of the billing engine.</P><H2 id="toc-hId-1001830618">3. Practical Field Notes: Real Impact with BTP</H2><P>This isn't theoretical. I’ve seen this move the needle in North American programs, including work with one of the largest utility companies in north America:</P><UL><LI><STRONG>Integration Suite:</STRONG> This is the "glue" connecting AMI, weather data, and regulatory feeds without brittle, point-to-point interfaces.</LI><LI><STRONG>Hindsight to Foresight:</STRONG> We are now using SAP Datasphere to identify transformer stress before it leads to failure.</LI><LI><STRONG>The Human Element:</STRONG> Customer Satisfaction (CSAT) rises when we use BTP to send proactive usage alerts mid-month.</LI></UL><H2 id="toc-hId-805317113">4. A Deep Dive: The Automated Reconnection Case</H2><P>I’m particularly proud of rebuilding the customer reconnection process. Traditionally, this was a multi-day headache. We turned it into a real-time event.</P><P><STRONG>How we built it:</STRONG></P><OL><LI><STRONG>Payment Trigger:</STRONG> Customer pays via an app (SAP Build).</LI><LI><STRONG>Instant Clearing:</STRONG> SAP Integration Suite pushes the update to FI-CA.</LI><LI><STRONG>Decision & Execution:</STRONG> We applied a 3-layered governance protocol to ensure only "Safe-to-Reconnect" signals hit the AMI smart meters.</LI></OL><H2 id="toc-hId-608803608">4. Lessons from the Trenches: What Leaders Need to Know</H2><P>This isn't just about clicking buttons in the BTP cockpit; it's a cultural shift. If you are leading a team, remember:</P><UL><LI><STRONG>Close the Skill Gap:</STRONG> Veteran ABAP teams have the domain knowledge—help them translate that into Node.js and CAP.</LI><LI><STRONG>Avoid "App Sprawl":</STRONG> Without governance, you’ll end up with a hundred disconnected micro-apps.</LI><LI><STRONG>Data Residency:</STRONG> For U.S. utilities, compliance for billing data must be built into the architecture from Day 1.</LI></UL><H2 id="toc-hId-412290103">Conclusion: The Future is Composed</H2><P>Across the programs I’ve led, the winning pattern is clear: <STRONG>S/4HANA is the Heart, BTP is the Brain, and IoT/Integration is the Senses.</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Atul_Joshi85_1-1770746122761.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/371160i26BF17D69AF148DA/image-size/medium?v=v2&px=400" role="button" title="Atul_Joshi85_1-1770746122761.jpeg" alt="Atul_Joshi85_1-1770746122761.jpeg" /></span></P><P>SAP IS-U has served us well, but the energy transition demands more agility. The question isn't <EM>if</EM> we should move to BTP—it's how quickly we can use it to stop being reactive and start being proactive.</P><P><STRONG>I'd love to hear from other architects: What's the messiest "Z-code" logic you're currently trying to move out of your core? Let's discuss in the comments.</STRONG></P><P> </P>2026-02-12T12:08:47.681000+01:00https://community.sap.com/t5/integration-blog-posts/migrating-content-based-routing-scenarios-using-the-migration-tool-in-sap/ba-p/14327459Migrating Content-Based Routing Scenarios Using the Migration Tool in SAP Integration Suite2026-02-12T23:29:04.379000+01:00Amruta_Kamblehttps://community.sap.com/t5/user/viewprofilepage/user-id/122485<P class="lia-align-justify" style="text-align : justify;"><FONT size="4">This blog post is part of the series <SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/master-blog-sap-process-orchestration-to-sap-integration-suite-migration/ba-p/14256400" target="_blank">Master Blog: SAP Process Orchestration to SAP Integration Suite Migration – Tool and Guidance</A></SPAN> exploring how to migrate various integration patterns from SAP Process Orchestration to SAP Integration Suite using the Migration Tool. In this blog, we will focus on the Content-Based Routing (CBR) Asynchronous pattern</FONT></P><P><FONT size="5"><STRONG>Objective of this Blog</STRONG></FONT></P><P><FONT size="4">The goal of this blog is to explain how the Migration Tool supports Content-Based Routing (CBR) asynchronous integration scenarios. The blog will cover the following key areas:</FONT></P><UL><LI><EM><FONT size="4">What is Content-Based Routing (CBR) in SAP Process Orchestration</FONT></EM></LI><LI><EM><FONT size="4">Standard Receiver Determinations – Understanding Rules</FONT></EM></LI><LI><EM><FONT size="4">No Receiver Is Found – options such as Error Message, Ignore, or Select a Default Receiver</FONT></EM></LI><LI><EM><FONT size="4">How the Migration Tool migrates CBR scenarios from SAP Process Orchestration to SAP Cloud Integration</FONT></EM></LI></UL><P><FONT size="5"><STRONG>What is Content-Based Routing (CBR) in SAP Process Orchestration</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">Content-Based Routing (CBR) in SAP Process Orchestration is a mechanism that routes messages to the correct receiver based on the content of the message. Instead of sending a message to a fixed receiver, CBR uses Receiver Determination with Rules to evaluate message payloads (XML fields, attributes, or headers) at runtime and forward the message to only one receiver whose condition is satisfied. This enables intelligent routing without requiring any changes to the sender system.</FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">At configuration time in SAP PO, you can define conditions that depend on the content of the message. These conditions can be applied both to receiver communication component determination and inbound interface determination. However, in this blog, we will focus specifically on receiver communication component determination, where multiple potential receivers can be configured but only one receiver is selected at runtime based on the defined routing rules.</FONT></P><P><FONT size="5"><STRONG>Standard Receiver Determinations</STRONG></FONT></P><P><FONT size="4">Here you manually specify the receiver as well as conditions for forwarding the message to the specific receiver.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 1.png" style="width: 988px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372002i531CA84E968F17D6/image-size/large?v=v2&px=999" role="button" title="Picture 1.png" alt="Picture 1.png" /></span></P><P><FONT size="4">You can also define rules for forwarding the message to the receivers.</FONT></P><P><FONT size="4">The following options are available:</FONT></P><UL><LI><FONT size="4"><STRONG>Specify “Local” Rules:</STRONG> </FONT>You define the rules specially for a specific receiver determination. This then also applies for messages where the address field in the header matches the key of the receiver determination.</LI></UL><UL><LI><FONT size="4"><STRONG>Insert (Reusable) Rules:</STRONG> </FONT>You use separately defined rules that can be reused in multiple receiver determinations. A rule such as this is defined as a standalone object in the Integration Directory and identified as a receiver rule.</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 2.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372001iE9DF20AD1FC69B1B/image-size/large?v=v2&px=999" role="button" title="Picture 2.png" alt="Picture 2.png" /></span></P><P class="lia-align-justify" style="text-align : justify;"><FONT face="times new roman,times" size="4"><STRONG><EM><U>Note</U>:</EM><EM> A receiver rule applies to all messages whose address header matches the object keys of the receiver determinations in which the receiver rule is used. SAP recommends using receiver rules if you want to use the same rule in different scenarios</EM>.</STRONG></FONT></P><P><FONT size="4">For more details, see <SPAN><A href="https://help.sap.com/saphelp_em92/helpdata/en/48/ce53b1a0d7154ee10000000a421937/content.htm?no_cache=true" target="_blank" rel="noopener noreferrer">Defining Standard Receiver Determinations</A></SPAN></FONT></P><P><FONT size="4">Receiver interfaces and Communication Channels are assigned to specific receivers: In the following example, Receiver interfaces and mappings are bound to their corresponding receivers.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372003i7732F9FB2406911F/image-size/large?v=v2&px=999" role="button" title="Picture 3.png" alt="Picture 3.png" /></span></P><P><FONT size="5"><STRONG>NoReceiverBehavior</STRONG></FONT></P><P><FONT size="4">Specifies what happens if no receiver can be determined at runtime.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 4.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372004i71E381D0CE3A57B0/image-size/large?v=v2&px=999" role="button" title="Picture 4.png" alt="Picture 4.png" /></span></P><P><FONT size="4"><STRONG>Possible values:</STRONG></FONT></P><UL><LI><FONT size="4"><STRONG>Error Message</STRONG>: Message processing is terminated with an error.</FONT></LI><LI><FONT size="4"><STRONG>Ignore</STRONG>: Message processing is ended as defined by your configuration settings.</FONT></LI><LI><FONT size="4"><STRONG>Specified Receiver</STRONG>: The message is sent to a fixed predefined receiver.</FONT></LI></UL><P><FONT size="5"><STRONG>How the Migration Tool migrates CBR scenarios from SAP Process Orchestration to SAP Cloud Integration</STRONG></FONT></P><P><FONT size="5"><STRONG>Migration Wizard:</STRONG></FONT></P><P><FONT size="4">In the Migration Wizard, after completing <STRONG>Step 1 – Select Process Orchestration System</STRONG> and <STRONG>Step 2 – Select Process Orchestration Artifacts</STRONG></FONT></P><P><FONT size="4">the next page is <STRONG>Step 3 – Choose Pattern and Approach</STRONG>. In this step, you need to select the appropriate migration pattern and the corresponding approach based on your integration scenario.</FONT></P><P><FONT face="times new roman,times" size="4"><STRONG><EM><U>Note</U>:</EM><EM> Content-based scenarios can be migrated using both the CBR (Content-Based Routing) and RL (Recipient List) patterns. However, it is recommended to choose the CBR pattern when the message is ultimately routed to only a single receiver</EM></STRONG></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 5.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372005i996D3E2816B01E7C/image-size/large?v=v2&px=999" role="button" title="Picture 5.png" alt="Picture 5.png" /></span></P><UL class="lia-list-style-type-circle"><LI><FONT size="4"><STRONG>Content-Based Routing (CBR) Pattern:</STRONG> Multiple receivers can be configured, but at runtime the system evaluates message content and conditions and forwards the message to only one final receiver.</FONT></LI><LI><FONT size="4"><STRONG>Recipient List (RL) Pattern:</STRONG> In the Recipient List pattern, the message can be sent to multiple receivers, with or without conditions. It is used for one-to-many routing where several receivers are eligible to receive the same message.</FONT></LI></UL><P><FONT face="times new roman,times" size="4"><STRONG><EM><U>Note</U>: In SAP PO (Process Orchestration), there is no strict technical distinction between CBR and RL. Both are configured through Receiver Determination rules, and the behavior depends on how the conditions and receivers are defined.</EM></STRONG></FONT></P><P><FONT size="4"><STRONG>Step 4 and Step 5</STRONG> are used to import the required mapping objects from your SAP Process Orchestration system.</FONT></P><P><FONT size="4"><STRONG>Step 6</STRONG> is where you provide the name of the Integration Flow, and</FONT></P><P><FONT size="4"><STRONG>Step 7</STRONG> allows you to review the objects that will be migrated to SAP Cloud Integration.</FONT></P><P><FONT size="4">After a successful migration, a <STRONG>Summary Page</STRONG> is displayed, providing key insights and direct navigation links to the migrated artifacts in Cloud Integration.</FONT></P><P><FONT size="3"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 6.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372006i092E230CC6FF3F31/image-size/large?v=v2&px=999" role="button" title="Picture 6.png" alt="Picture 6.png" /></span></FONT></P><P><FONT size="4">Now let us understand how the Migration Tool generates the Content-Based Routing pattern based on the existing integration configuration and its key flow steps.</FONT></P><P><FONT size="4"><STRONG><FONT face="times new roman,times"><EM><U>Note</U>: This blog primarily focuses on understanding and applying the standard approach.</EM></FONT></STRONG></FONT></P><P><FONT size="6"><STRONG>Standard Approach</STRONG></FONT></P><P><FONT size="4">After a successful migration, the Integration Flow is typically split into two integration processes - the first acting as the Inbound Integration Process and the second as the Outbound Integration Process.</FONT></P><P><STRONG><FONT face="times new roman,times" size="4"><EM><U>Note</U>:</EM><EM> Both processes are internally connected using the ProcessDirect adapter, enabling seamless message transfer between the inbound and outbound integration Processes</EM>.</FONT></STRONG></P><P><FONT size="5"><STRONG>Inbound Integration Process:</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">This process receives the message from the sender, sets the sender system and message type, and performs receiver determination where the defined receiver rules and routing conditions are evaluated. The content-based routing logic is executed here to identify the appropriate receiver based on the message content.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 7.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372007iD22DD090ADB388AB/image-size/large?v=v2&px=999" role="button" title="Picture 7.png" alt="Picture 7.png" /></span></P><P><FONT size="4"><STRONG>Content Modifier – Receiver Conditions & Interface Conditions:</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">The Content Modifier stores the predefined conditions derived from Receiver Determination and Interface Determination. The local rules, receiver rules, and inbound interface conditions configured in SAP PO are migrated and maintained here, where they are listed and used during runtime evaluation for routing decisions</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 8.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372008i27E729B43F523E38/image-size/large?v=v2&px=999" role="button" title="Picture 8.png" alt="Picture 8.png" /></span></P><P><FONT size="4">Let us understand the migrated content from SAP PO that appears in above <STRONG>Content Modifier – Exchange Properties</STRONG> section.</FONT></P><UL><LI><FONT size="3"><STRONG>SAP-DYNREC-<Receiver Communication Component>:</STRONG><SPAN><BR /><EM>SAP-DYNREC</EM><SPAN> is a prefix added to each </SPAN><STRONG>Receiver Communication Component</STRONG><SPAN> present in the migrated ICO. </SPAN></SPAN></FONT></LI></UL><P class="lia-indent-padding-left-60px" style="padding-left : 60px;"><FONT size="3">The <EM>value</EM> of this property represents the <STRONG>receiver condition</STRONG><SPAN> migrated from Configured Receivers - Rules. If a condition is defined in SAP PO, it is carried over here; otherwise, the value is set to </SPAN><FONT face="symbol"><STRONG><EM>true()</EM></STRONG></FONT><SPAN>, indicating unconditional routing eligibility for that receiver.</SPAN></FONT></P><UL><LI><FONT size="3"><STRONG>SAP-IFDET-<Receiver Communication Component>~IFx:</STRONG><SPAN><BR /><EM>SAP-IFDET</EM><SPAN> is the prefix used for </SPAN><STRONG>Interface Determination</STRONG><SPAN> and is also added to the Receiver Communication Component name. </SPAN></SPAN>The suffix <EM>~IFx</EM><SPAN> acts as an </SPAN><STRONG>interface index indicator</STRONG><SPAN>, which increments based on the number of receiver interfaces maintained for that receiver.</SPAN></FONT></LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><EM>For example, if Receiver_1 has three receiver interfaces, the generated properties would be:</EM></P><UL class="lia-list-style-type-circle"><LI><FONT face="courier new,courier">SAP-IFDET-Receiver_1~IF1</FONT></LI><LI><FONT face="courier new,courier">SAP-IFDET-Receiver_1~IF2</FONT></LI><LI><FONT face="courier new,courier">SAP-IFDET-Receiver_1~IF3</FONT></LI></UL><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">The <EM>value</EM> of each property reflects the <STRONG>interface condition</STRONG> migrated from the on-premises system. If interface-level conditions exist, they are preserved; if not, the value defaults to <FONT face="symbol"><STRONG>true()</STRONG></FONT>.</P><P><FONT size="4">These exchange properties collectively store the migrated receiver and interface rules, enabling the integration flow to evaluate routing logic dynamically at runtime.</FONT></P><P><FONT size="3"><STRONG>Receiver Determination:</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">Receiver Determination is implemented as a Process Call that invokes a local integration process. This local process contains a static receiver-determination Groovy script which evaluates the predefined conditions migrated in the previous step (Receiver Conditions and Interface Conditions). Based on these conditions, the script identifies and returns the appropriate receiver for the message.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 9.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372009i4D38570EC10F54E6/image-size/large?v=v2&px=999" role="button" title="Picture 9.png" alt="Picture 9.png" /></span></P><P><FONT size="4"><STRONG>Router and No-Receiver Behavior:</STRONG></FONT></P><P><FONT size="4">The Router is used to forward the message to the specific receiver that was determined based on the evaluated conditions.</FONT></P><P><FONT size="4">In addition to routing, it also manages the No-Receiver Behavior. If no receiver is found, the Migration Tool dynamically generates the configured fallback option.<EM> </EM></FONT></P><P><FONT face="arial,helvetica,sans-serif"><EM>For example, it can automatically route the message to a default receiver (in this example, RL_Receiver_4).</EM></FONT></P><P><FONT size="4">Alternatively, if the configuration is set to Error = an Exception Event is generated, and if set to Ignore = an End Event step is created to terminate the flow without further processing.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 10.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372010iAE93DFD040EAC663/image-size/large?v=v2&px=999" role="button" title="Picture 10.png" alt="Picture 10.png" /></span></P><P><FONT size="5"><STRONG>Outbound Integration Process:</STRONG></FONT></P><P><FONT size="4">The Outbound Integration Process contains the mappings, receiver communication channels, and the configured receivers, and is responsible for delivering the processed message to the final target system.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 11.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372011i6249841C66AD5260/image-size/large?v=v2&px=999" role="button" title="Picture 11.png" alt="Picture 11.png" /></span></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4"><STRONG>Router:</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">In the Outbound Integration Process, the Router uses the receiver determined in the Inbound Integration Process to bind the corresponding receiver interface/mappings to the specific receiver via its associated communication channel. The message is then forwarded along the appropriate route based on the evaluated conditions, ensuring it reaches the correct receiver.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 12.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372012iF5CAC645C2ADEDE3/image-size/large?v=v2&px=999" role="button" title="Picture 12.png" alt="Picture 12.png" /></span></P><P><FONT size="6"><STRONG>Pipeline Approach</STRONG></FONT></P><P><FONT size="4">In this section, we will migrate the same example using the Pipeline Approach.</FONT></P><P><FONT size="5"><STRONG>Key Highlights in the Migration Wizard:</STRONG></FONT></P><P><FONT size="4">After selecting the Pipeline Approach for your migration use case, the Migration Tool allows you to modify alternative partner information, as well as review and update the migrated receiver/interface conditions and endpoints, as illustrated in the screenshot below.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 13.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372013i3A55C9E6DB2D3B02/image-size/large?v=v2&px=999" role="button" title="Picture 13.png" alt="Picture 13.png" /></span></P><P><FONT size="4">After a successful migration, you can view the generated artifacts and navigate to them directly.</FONT></P><P><FONT size="4">In the Pipeline Approach, <STRONG>scenario-specific Inbound and Outbound Integration Flows</STRONG> are created. The Outbound Integration Flow is generated for each receiver configured in the respective ICO, ensuring that messages are routed correctly based on the original configuration.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture01.png" style="width: 850px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372020iD03D8EC9B561F599/image-size/large?v=v2&px=999" role="button" title="Picture01.png" alt="Picture01.png" /></span></P><P><FONT size="4">The Partner Directory tab provides an overview of the created Partner ID along with their associated parameters.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 15.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372017iFEB90FC566CDBBB0/image-size/large?v=v2&px=999" role="button" title="Picture 15.png" alt="Picture 15.png" /></span></P><P><FONT size="4">On the Binary Parameters tab of the Partner Directory, you can see that a binary parameter with the ID <EM>receiverDetermination</EM> has been created. This parameter contains the <STRONG>XSLT</STRONG> used to determine the appropriate receivers during message processing.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 16.png" style="width: 854px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372018i4888E39416612D46/image-size/large?v=v2&px=999" role="button" title="Picture 16.png" alt="Picture 16.png" /></span></P><P><FONT size="4">For more information, See <SPAN><A href="https://help.sap.com/docs/migration-guide-po/migration-guide-for-sap-process-orchestration/using-partner-directory-in-pipeline-concept?locale=en-US" target="_blank" rel="noopener noreferrer">Using the Partner Directory in the Pipeline Concept</A></SPAN></FONT></P><P><FONT size="4">For a deeper understanding of the <SPAN><A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/pipeline-approach?locale=en-US" target="_blank" rel="noopener noreferrer"><STRONG>Pipeline Approach</STRONG></A></SPAN><STRONG>,</STRONG> please refer to the following references:</FONT></P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;"><FONT size="4"><SPAN><A href="https://community.sap.com/t5/integration-blog-posts/migration-tooling-now-supporting-migration-via-the-pipeline-approach/ba-p/14073721" target="_blank">Migration Tooling now supporting migration via the pipeline approach</A></SPAN></FONT></P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;"><FONT size="4"><SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/applying-the-pipeline-concept-for-an-integration-scenario-in-general/ba-p/13640018" target="_blank">Applying the pipeline concept for an integration scenario in general</A></SPAN></FONT></P><P><FONT size="4">Learn here the differences and characteristics of each approach to choose the one that aligns best with your migration needs <SPAN><A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/pipleine-approach-vs-standard-approach?locale=en-US" target="_blank" rel="noopener noreferrer"><STRONG>Standard vs Pipeline Approach</STRONG></A></SPAN></FONT></P><P><FONT size="5"><STRONG>Post-Migration Activities – Key Points to Keep in Mind:</STRONG></FONT></P><P><FONT size="4"><STRONG> </STRONG>After successfully migrating CBR Integration Flow, the following activities should be verified and completed:</FONT></P><OL><LI><STRONG>Verify Migrated Artifacts:</STRONG> Ensure that mappings (local and global), Function Libraries, imported archives, and Local UDFs are migrated correctly and functioning as expected.</LI><LI><STRONG>Adapter Configuration:</STRONG> Adapter parameters are <STRONG>externalized</STRONG>. Verify the configurations and update them as needed to match the target environment.</LI><LI><STRONG>Adapter Conversions:</STRONG> Adapter conversions such as <STRONG>JSON-to-XML</STRONG> or <STRONG>CSV-to-XML</STRONG> are migrated automatically. Check the configuration in the conversion flow steps and adjust if necessary.</LI><LI><STRONG>Security Artifacts:</STRONG> The Migration Tool does <STRONG>not create or import security artifacts</STRONG> in Cloud Integration. Manual creation of security materials (certificates, keystores, etc.) is a <STRONG>prerequisite</STRONG> before deploying the Integration Flow.</LI><LI><STRONG>Reusable Mapping Options:</STRONG> If the <STRONG>“Enable Reusable Mapping”</STRONG> option was selected during migration, ensure that the <STRONG>standalone artifacts</STRONG> are deployed first before deploying the main Integration Flow.</LI></OL><P><FONT size="4">For other manual activities for specific senarios, please refer to the section “<SPAN><A href="https://community.sap.com/t5/integration-blog-posts/migrating-point-to-point-asynchronous-scenarios-using-the-migration-tool-in/ba-p/14264265" target="_blank">Manual Activities Depending on Integration Scenario</A></SPAN>” in the P2P Blog from <SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/master-blog-sap-process-orchestration-to-sap-integration-suite-migration/ba-p/14256400" target="_blank">series</A></SPAN></FONT></P><P><FONT size="5"><STRONG>Conclusion:</STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="4">Content-Based Routing (CBR) scenarios can be successfully migrated to Cloud Integration using the Migration Tool, preserving receiver determination, routing conditions, mappings, and adapter configurations. While most artifacts are migrated automatically, post-migration verification and manual activities - such as security setup and reusable mapping deployment - are essential. Following the recommended steps ensures that your integration flows continue to run reliably and efficiently in the Cloud Integration environment.</FONT></P><P><FONT size="5"><STRONG>What Will Be Covered in the Next Parts of </STRONG><SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/master-blog-sap-process-orchestration-to-sap-integration-suite-migration/ba-p/14256400" target="_blank"><STRONG>Master Blog Series</STRONG></A></SPAN><STRONG>:</STRONG></FONT></P><P><FONT size="4">In the next parts of this blog series, we will explore the following topics in depth with a detailed and comprehensive walkthrough:</FONT></P><UL><LI><FONT size="3">Extended Receiver Determination using the Pipeline Approach</FONT></LI><LI><FONT size="3">Operation-Specific Receiver Determination and Multi-Operation Scenarios</FONT></LI><LI><FONT size="3">Content-Based Routing (CBR) – Synchronous Use Cases</FONT></LI></UL>2026-02-12T23:29:04.379000+01:00https://community.sap.com/t5/integration-blog-posts/publish-events-from-cap-node-js-applications-to-event-mesh-of-integration/ba-p/14322210Publish events from CAP Node.js applications to Event Mesh of Integration Suite2026-02-13T05:19:07.232000+01:00qiangwan87https://community.sap.com/t5/user/viewprofilepage/user-id/152967<P><SPAN>In this blog I’ll show how to publish events from a CAP application to SAP Integration Suite’s Event Mesh. Both the CAP application and Event Mesh are located in the same BTP subaccount. I’ll skip the setup steps for Event Mesh and focus specifically on publishing events from the CAP application.</SPAN></P><P><SPAN><STRONG>Step 1</STRONG>: start by creating a new CAP Node.js application in Business Application Studio:</SPAN></P><pre class="lia-code-sample language-bash"><code>cds init emis-samebtp
touch srv/service.cds
touch srv/service.js</code></pre><P><STRONG>Step 2</STRONG>: in <STRONG>service.cds</STRONG>, define a simple service with a function that triggers an event:</P><pre class="lia-code-sample language-javascript"><code>service GreetingService {
function helloEvent(to: String) returns String;
}</code></pre><P>In <STRONG>service.js</STRONG>, implement the function to emit an event to Event Mesh:</P><pre class="lia-code-sample language-abap"><code>const eventTopic = 'cap/demo/v1/sample/hello-event';
module.exports = async (srv) => {
const messaging = await cds.connect.to('messaging');
srv.on('helloEvent', async (req) => {
const target = req.data.to;
const data = { To: target, Message: 'Hello world events!' };
await messaging.emit(eventTopic, data);
req.notify(`Event sent > ${eventTopic}`);
return `Hello event: ${target}`;
});
};</code></pre><P><SPAN><STRONG>Step 3</STRONG>: add the necessary services for authentication and messaging:</SPAN></P><pre class="lia-code-sample language-bash"><code>cds add xsuaa --for-production
cds add enterprise-messaging-shared --for-production</code></pre><P>Then update your <STRONG>package.json</STRONG> to configure the messaging service:</P><pre class="lia-code-sample language-javascript"><code>"cds": {
"server": { "index": true },
"requires": {
"[production]": {
"auth": "xsuaa",
"messaging": {
"kind": "enterprise-messaging-shared",
"publishPrefix": "stc/emis/",
"format": "cloudevents",
"vcap": {
"label": "event-mesh-message-client",
"plan": "message-client",
"name": "emis-samebtp-messaging"
}
}
}
}
}</code></pre><P><SPAN><STRONG>Step 4</STRONG>: generate the MTA deployment descriptor:</SPAN></P><pre class="lia-code-sample language-bash"><code>npm install
cds build --production
cds add mta</code></pre><P>Edit the generated <STRONG>mta.yaml</STRONG> to ensure the resource definitions match your <STRONG>package.json</STRONG> configuration.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mtayaml_packagejson.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369174i922131230F12A9D9/image-size/large?v=v2&px=999" role="button" title="mtayaml_packagejson.png" alt="mtayaml_packagejson.png" /></span></P><P><SPAN><STRONG>Step 5</STRONG>: run the build and deploy commands to push your application to BTP. </SPAN></P><pre class="lia-code-sample language-bash"><code>cds build
cf deploy mta_archives/your-archive.mtar</code></pre><P><STRONG>Step 6</STRONG>: Testing the Integration</P><P>Navigate to the Event Mesh section in SAP Integration Suite. Select a queue and subscribe to the topic "stc/emis/cap/demo/v1/sample/hello-event". </P><P>Then u<SPAN>se the OAuth client credentials from XSUAA to call your CAP service "<A target="_blank" rel="noopener">https://<your-hostname>:443/odata/v4/greeting/helloEvent?to=Mark"</A>.</SPAN></P><P><SPAN> If everything is configured correctly, you’ll receive a response and see the event appear in your Event Mesh queue.</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="event-mesh_result.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369177iF36D926C551A2917/image-size/large?v=v2&px=999" role="button" title="event-mesh_result.png" alt="event-mesh_result.png" /></span></SPAN></P><P><SPAN>This setup is ideal for scenarios where you need real-time eventing between BTP applications and other SAP or non-SAP systems. Give it a try and let me know how it goes in the comments!</SPAN></P>2026-02-13T05:19:07.232000+01:00https://community.sap.com/t5/integration-blog-posts/receive-events-from-event-mesh-of-integration-suite-to-cap-node-js/ba-p/14322766Receive Events from Event Mesh of Integration Suite to CAP Node.js Applications2026-02-13T13:02:39.358000+01:00qiangwan87https://community.sap.com/t5/user/viewprofilepage/user-id/152967<P><SPAN>In a previous blog, we covered how to </SPAN><A href="https://community.sap.com/t5/integration-blog-posts/publish-events-from-cap-node-js-applications-to-event-mesh-of-integration/ba-p/14322210" target="_blank">publish events from a CAP application to Event Mesh of Integration Suite</A><SPAN>. This blog post is the natural counterpart. Here, we'll walk through the steps to configure a CAP Node.js application to </SPAN><STRONG><SPAN>consume and process events</SPAN></STRONG><SPAN> from the Event Mesh of SAP Integration Suite (often referred to as EMIS). Both the CAP application and Event Mesh are in the same BTP subaccount, but it also works if they are provisioned in different BTP subaccounts.</SPAN></P><P><SPAN>This guide skips the initial Event Mesh provisioning and focuses on the application development, configuration, and deployment steps for event consumption.</SPAN></P><P><SPAN><STRONG>Step 1</STRONG>: start by creating a new CAP Node.js application in Business Application Studio</SPAN></P><pre class="lia-code-sample language-bash"><code>cds init emis-consume
cd emis-consume
touch srv/consume-event.cds
touch srv/consume-event.js</code></pre><P> <STRONG>Step 2</STRONG>: Define the Service Handler in <STRONG>srv/consume-event.cds</STRONG></P><pre class="lia-code-sample language-javascript"><code>service ConsumeEvent @(path: '/consume-event') {
// Entity definitions are optional for a pure event consumer service
}</code></pre><P>Step 3: Define the event handling logic in <STRONG>srv/consume-event.js</STRONG></P><pre class="lia-code-sample language-javascript"><code>const cds = require('@sap/cds');
module.exports = cds.service.impl(async function () {
const messaging = await cds.connect.to('messaging');
// Handle events in "$namespace/hello-world" topic
await messaging.on('hello-world', (msg) => {
console.log('> hello-world event received: ', msg.data);
});
// Handle events in "$namespace/greeting" topic
await messaging.on('greeting', (msg) => {
console.log('> greeting event received: ', msg.data);
});
});</code></pre><P><STRONG>Step 4</STRONG>: add the necessary services for authentication and messaging:</P><pre class="lia-code-sample language-bash"><code>cds add xsuaa --for production
cds add enterprise-messaging-shared --for production</code></pre><P><SPAN>Then update your </SPAN><STRONG>package.json</STRONG><SPAN> to configure the messaging service:</SPAN></P><pre class="lia-code-sample language-json"><code>"cds": {
"requires": {
"production": {
"auth": "xsuaa",
"messaging": {
"kind": "enterprise-messaging-shared",
"publishPrefix": "$namespace/",
"subscribePrefix": "$namespace/",
"format": "cloudevents",
"vcap": {
"label": "user-provided",
"name": "emis-consume-messaging-ups"
},
"queue": {
"name": "$namespace/incoming"
}
}
}
}
}</code></pre><P><STRONG>Step 5</STRONG>: Prepare the MTA Deployment Descriptor</P><pre class="lia-code-sample language-bash"><code>npm install
cds build --production
cds add mta</code></pre><P>You must then edit the generated <STRONG>mta.yaml</STRONG> file to ensure the resource definitions match the configuration in <STRONG>package.json</STRONG>. Specifically, verify that the <STRONG>emis-consume-messaging</STRONG> resource points to the correct <STRONG>user-provided service</STRONG>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mtayaml_packagejson2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369444i090075BEB74E22CE/image-size/large?v=v2&px=999" role="button" title="mtayaml_packagejson2.png" alt="mtayaml_packagejson2.png" /></span></P><P><STRONG>Step 6</STRONG>.<STRONG> Crucial Workaround: Mocking the Management Endpoint</STRONG></P><P>During deployment, cloud foundry runtime attempts to create the queue defined in package.json via a management URI provided by Event Mesh. Currently, this can fail with the error: "Requested route does not match any of the defined routes."</P><P><STRONG><SPAN>Workaround: </SPAN></STRONG></P><P>1). <SPAN>create event mesh service instance & key</SPAN></P><UL><LI><SPAN>service name: SAP Integration Suite, Event Mesh </SPAN></LI><LI><SPAN>service plan: message-client </SPAN></LI><LI><SPAN>name: emis-consume-messaging</SPAN></LI></UL><P><SPAN>With below parameters:</SPAN></P><pre class="lia-code-sample language-json"><code>{
"namespace": "stc/emis/consume",
"options": {
"management": false,
"messaging": false,
"messagingrest": false
},
"resources": {"units": 10},
"rules": {
"queueRules": {
"publishFilter": ["${namespace}/*"],
"subscribeFilter": ["${namespace}/*"]
},
"topicRules": {
"publishFilter": ["${namespace}/*"],
"subscribeFilter": ["${namespace}/*"]
}
}
}</code></pre><P><SPAN>Then create a service key and copy its value.</SPAN></P><P>2). Modify the service-key by replacing its management uri with a mock endpoint. The mockend endpoint should always return 201 when receiving PUT request, for example,</P><pre class="lia-code-sample language-bash"><code>PUT https://stc-mock.free.beeceptor.com/hub/rest/api/v1/management/messaging/queues/testqueue</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="srkey1.png" style="width: 812px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369449i9D546E3C4BE09136/image-size/large?v=v2&px=999" role="button" title="srkey1.png" alt="srkey1.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="srkey2.png" style="width: 809px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369450iBDC6AE684172AB29/image-size/large?v=v2&px=999" role="button" title="srkey2.png" alt="srkey2.png" /></span></P><P>3). Create a User-Provided Service in your Cloud Foundry space using this modified service key (emis-consume-messaging-ups). This is the service your CAP application will bind to.</P><P> <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ups.png" style="width: 813px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369451iAD285CC9FD66B0AE/image-size/large?v=v2&px=999" role="button" title="ups.png" alt="ups.png" /></span></P><P>4). Login to Event Mesh of Integration Suite >> Configure, create the queue <STRONG>stc/emis/consume/incoming</STRONG></P><P><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="queue.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369452i1FCA6B4C7688D477/image-size/large?v=v2&px=999" role="button" title="queue.png" alt="queue.png" /></span></STRONG></P><P>5). add below topic subscription to the queue</P><UL><LI>stc/emis/consume/hello-world</LI><LI>stc/emis/consume/greeting</LI></UL><P><SPAN>This configuration ensures any event published to these topics is delivered to your application's queue.</SPAN></P><P><SPAN><STRONG>Step 7</STRONG>: Build and Deploy</SPAN></P><pre class="lia-code-sample language-bash"><code>mbt build
cf deploy mta_archives/emis-consume_1.0.0.mtar</code></pre><P><STRONG>Step 8</STRONG>: Testing</P><P>Go to the Test section of your Event Mesh in the Integration Suite. Send test events to the topics hello-world and greeting. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="testing.png" style="width: 887px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369453i45EE44666E03FAAB/image-size/large?v=v2&px=999" role="button" title="testing.png" alt="testing.png" /></span></P><P>In the BTP cloud foundry cockpit, navigate to your deployed application and check its logs.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="test_result.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369454i7A3226F5D9583D74/image-size/large?v=v2&px=999" role="button" title="test_result.png" alt="test_result.png" /></span></P><P><SPAN>You have successfully configured a CAP Node.js application to act as an event consumer from Event Mesh of SAP Integration Suite. </SPAN><SPAN>Although we had to implement a workaround due to a current compatibility issue between CAP's queue management and Event Mesh's Management API, the overall pattern remains sound and functional. Hopefully, SAP will address this compatibility issue soon, making the developer journey even smoother.</SPAN></P>2026-02-13T13:02:39.358000+01:00https://community.sap.com/t5/technology-blog-posts-by-members/migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced/ba-p/14327711Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh2026-02-13T13:26:20.613000+01:00Benedikt_Sprunghttps://community.sap.com/t5/user/viewprofilepage/user-id/661488<H2 id="toc-hId-1789675938">Introduction</H2><P>Event-driven architectures are increasingly shaping modern SAP landscapes. Many customers started their journey using the NetWeaver add-on for event enablement (component <STRONG>ASANWEE</STRONG>) to publish business events from their SAP systems to <SPAN class="">SAP Event Mesh</SPAN>.</P><P>While this setup works well for basic SAP BTP scenarios, growing enterprise requirements — such as hybrid integration, advanced routing, and high availability — often require a more powerful event broker.</P><P>This is where the Event Add-On for ERP (<STRONG>ASAAEMEE</STRONG>) in combination with <SPAN class="">SAP Advanced Event Mesh</SPAN> becomes highly relevant.</P><P>This article applies to:</P><UL><LI><P>SAP ERP (ECC 6.0 and higher)</P></LI><LI>SAP S/4HANA (on-premise, private cloud, all versions)</LI></UL><P>and explains the <STRONG>technical migration steps</STRONG> from component <STRONG>ASANWEE</STRONG> to <STRONG>ASAAEMEE</STRONG>.</P><P> </P><P><STRONG>Prerequisits:</STRONG></P><UL><LI><A href="https://help.sap.com/docs/SAP%20NetWeaver%20Add-On%20for%20Event%20enablement%201.0/e966e6c0e61443ebaa0270a4bae4b363/3eba827c531344eb879d8e35022d90ba.html?locale=enUS" target="_blank" rel="noopener noreferrer">NetWeaver Add-On for Event Enablement</A><SPAN> </SPAN>is installed (component <STRONG>ASANWEE</STRONG>).</LI><LI><A href="https://help.sap.com/docs/sap-integration-suite/event-add-on-for-erp-advanced-event-mesh/connect-advanced-event-mesh" target="_self" rel="noopener noreferrer">Event Add-on for ERP</A> is installed (component <STRONG>ASAAEMEE</STRONG>, installed on top of ASANWEE).</LI><LI>SAP Advanced Event Mesh service instance is provisioned.</LI><LI>Service Key from the BTP is available.</LI><LI>Ensure that the<SPAN> </SPAN><CODE>erp_event_add_on</CODE><SPAN> </SPAN>entitlement is added to your subaccount in the SAP BTP cockpit.</LI><LI>The SAP Integration Suite, Advanced Event Mesh instance must be of type<SPAN> </SPAN><STRONG>standard plan</STRONG>, not<SPAN> </SPAN><EM>default plan. </EM>For details on migrating to the standard service plan, refer to the<SPAN> </SPAN><A href="https://help.sap.com/docs/sap-integration-suite/advanced-event-mesh/migrating-to-standard-service-plan" target="_new" rel="noopener noreferrer">SAP Advanced Event Mesh migration guide</A>.</LI></UL><P> </P><P><STRONG>Migration Steps</STRONG></P><P><STRONG>Step 1: Create RFC-Destinations.</STRONG></P><P>To establish the connection to the SAP Advanced Event Mesh, we will create three RFC-Destinations in transaction SM59.</P><P>1. Create RFC-Destination pointing to the REST endpoint of the Advanced Event Mesh (Available inside the AEM broker).</P><UL><LI><P>Type: G (HTTP Connection to External Server).</P></LI><LI>Target Host: AEM REST endpoint host.</LI><LI>Basic Authentication: Add credentials, listed in the AEM broker for the REST endpoint.</LI><LI>SSL: Active.</LI><LI>Connection test should return in a 405 Method Not Allowed.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_4-1770972832198.png" style="width: 386px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372172i8B1986C869FBA4D2/image-dimensions/386x399?v=v2" width="386" height="399" role="button" title="Benedikt_Sprung_4-1770972832198.png" alt="Benedikt_Sprung_4-1770972832198.png" /></span> <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_2-1770972771389.png" style="width: 389px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372170i53269A1ADF86E538/image-dimensions/389x399?v=v2" width="389" height="399" role="button" title="Benedikt_Sprung_2-1770972771389.png" alt="Benedikt_Sprung_2-1770972771389.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_3-1770972804286.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372171i075535153E8AED8B/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_3-1770972804286.png" alt="Benedikt_Sprung_3-1770972804286.png" /></span> <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_5-1770972931446.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372173iF61CBE19782D97F5/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_5-1770972931446.png" alt="Benedikt_Sprung_5-1770972931446.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_1-1770973714514.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372183i087D7012F8FC6EB1/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_1-1770973714514.png" alt="Benedikt_Sprung_1-1770973714514.png" /></span></P><P>2. Create RFC-Destination for the Handshake (Available inside the SAP BTP Service Key).</P><UL><LI><P>Type: G</P></LI><LI>Target Host: Handshake URL from the SAP BTP Service Key</LI><LI>Path Prefix: /handshake</LI><LI>SSL: Active.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_6-1770973159410.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372175iBB862E68690B90B7/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_6-1770973159410.png" alt="Benedikt_Sprung_6-1770973159410.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_7-1770973206966.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372176i27DAFBF03EDBFA2B/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_7-1770973206966.png" alt="Benedikt_Sprung_7-1770973206966.png" /></span></P><P>3. Create RFC-Destination for the Token (Available inside the SAP BTP Service Key).</P><UL><LI><P>Type: G</P></LI><LI>Target Host: Token endpoint from Service Key</LI><LI>Path Prefix: /oauth/token</LI><LI>SSL: Active.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_8-1770973450412.png" style="width: 355px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372178i8DAD5B688D6AEAC9/image-dimensions/355x366?v=v2" width="355" height="366" role="button" title="Benedikt_Sprung_8-1770973450412.png" alt="Benedikt_Sprung_8-1770973450412.png" /></span> <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_9-1770973505589.png" style="width: 354px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372180iD90114D094A80E6B/image-dimensions/354x365?v=v2" width="354" height="365" role="button" title="Benedikt_Sprung_9-1770973505589.png" alt="Benedikt_Sprung_9-1770973505589.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_0-1770973660682.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372181iD245C00C582383D4/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_0-1770973660682.png" alt="Benedikt_Sprung_0-1770973660682.png" /></span></P><P> </P><P><STRONG>Step 2: Add Certificates to the Trust Store.</STRONG></P><P>To enable secure communication with <SPAN class=""><SPAN class="">SAP Advanced Event Mesh</SPAN></SPAN>, the server certificate must be trusted in your SAP system.</P><UL><LI>Open transaction <STRONG>STRUST.</STRONG></LI><LI>Select the SSL Client PSE that is used in the RFC destination created in SM59 (usually SSL Client (Anonymous) unless a specific PSE was assigned).</LI><LI>Click Import Certificate.</LI><LI>Upload the certificate file (.cer / .crt).</LI><LI>Click Add to Certificate List and save.</LI></UL><P> </P><P><STRONG>Step 3: Enable the Event Add-On for ERP.</STRONG></P><P>Inside your SAP Advanced Event Mesh, navigate to<SPAN> </SPAN><EM>Event Add-On for ERP.</EM></P><P>After enabling the service, the component can be installed on your SAP system.</P><DIV class=""> </DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_4-1770974115671.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372188i185719916BA69C86/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_4-1770974115671.png" alt="Benedikt_Sprung_4-1770974115671.png" /></span></P><P> </P><P><STRONG>Step 4: Activate BC-Set.</STRONG></P><P>Business Configuration Sets contain customizing and configuration-related table entries required for proper communication with <SPAN class=""><SPAN class="">SAP Advanced Event Mesh</SPAN></SPAN>.</P><P>Transaction: <STRONG>SCPR20</STRONG></P><UL><LI>Enter BC-Set name:<CODE><SPAN class="">/ASADEV/</SPAN><SPAN class="">ACI_BCSET_FRAMEWORK_AEM</SPAN></CODE></LI><LI>Choose <STRONG>Activate.</STRONG></LI></UL><P> </P><P><STRONG>Step 5: Copy Instance for SAP Event Mesh to new Instance for SAP Advanced Event Mesh.</STRONG></P><UL><LI>Go to SPRO -> IMG -> Integration with Other SAP Components -> SAP NetWeaver AddOn for Event enablement -> Connection and Replication Object Customizing </LI><LI>Or go directly to transaction <STRONG>/ASADEV/ACI_SETTINGS</STRONG>.</LI><LI>Copy the existing <STRONG>SAP Event Mesh</STRONG> instance to create a new <STRONG>SAP Advanced Event Mesh</STRONG> instance:</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_0-1770975731267.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372197iB71D48FFD145907B/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_0-1770975731267.png" alt="Benedikt_Sprung_0-1770975731267.png" /></span></P><UL><LI>Replace RFC destinations with the ones created for AEM</LI><LI>Change Cloud Type from <STRONG>SAP_EM</STRONG> to <STRONG>SAP_AEM</STRONG>.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_1-1770975878626.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372198i5721945BECDA13D7/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_1-1770975878626.png" alt="Benedikt_Sprung_1-1770975878626.png" /></span></P><UL><LI>Hit Enter and <STRONG>copy all</STRONG>.</LI><LI>Skip errors for duplicate Event Linkages</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_2-1770975995395.png" style="width: 545px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372199i1E52DF3C00978337/image-dimensions/545x403?v=v2" width="545" height="403" role="button" title="Benedikt_Sprung_2-1770975995395.png" alt="Benedikt_Sprung_2-1770975995395.png" /></span></P><UL><LI>Delete all <STRONG>Default Values </STRONG>(not required for SAP AEM):</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_3-1770976239386.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372203i8A87B23F4E70C07A/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_3-1770976239386.png" alt="Benedikt_Sprung_3-1770976239386.png" /></span></P><UL><LI>Delete Error Type Mapping (not required for SAP AEM):</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_4-1770976301395.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372204i0FF87CDE1C88540C/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_4-1770976301395.png" alt="Benedikt_Sprung_4-1770976301395.png" /></span></P><UL><LI>You can keep the message type in case you delete the old Instance pointing to the SAP Event Mesh.</LI><LI>Update <STRONG>message types</STRONG> if keeping the old SAP_EM instance::<UL><LI>Create new Message Type in transaction <STRONG>WE81</STRONG>.</LI><LI>Activate Change Pointer for the new message type in transaction <STRONG>BD50</STRONG>.</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_0-1770977472502.png" style="width: 583px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372211i7CEB842038CB055A/image-dimensions/583x322?v=v2" width="583" height="322" role="button" title="Benedikt_Sprung_0-1770977472502.png" alt="Benedikt_Sprung_0-1770977472502.png" /></span></P><UL><LI>Add Event Linkages for the new message type:</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_1-1770977600346.png" style="width: 694px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372213iF8481A98C463460D/image-dimensions/694x210?v=v2" width="694" height="210" role="button" title="Benedikt_Sprung_1-1770977600346.png" alt="Benedikt_Sprung_1-1770977600346.png" /></span></P><P> </P><UL><LI>Go to <STRONG>Header Attributes.</STRONG><UL><LI>Delete all Header Attributes for SAP EM.</LI><LI>Add new Header Attributes for SAP AEM.</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_2-1770977847914.png" style="width: 675px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372225iC0A273090367A895/image-dimensions/675x336?v=v2" width="675" height="336" role="button" title="Benedikt_Sprung_2-1770977847914.png" alt="Benedikt_Sprung_2-1770977847914.png" /></span></P><P> </P><UL><LI>Go to <STRONG>Field Mapping</STRONG> and configure a <STRONG>dynamic topic</STRONG>.<UL><LI>Each level becomes a segment in the dynamic topic.</LI><LI>There are static segments (Default Values) and dynamic segments (Source structure and Source field).</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_3-1770978163943.png" style="width: 797px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372231iDF9530954AC606F6/image-dimensions/797x286?v=v2" width="797" height="286" role="button" title="Benedikt_Sprung_3-1770978163943.png" alt="Benedikt_Sprung_3-1770978163943.png" /></span></P><P> </P><P><STRONG>Step 6: Add validation Instance for the SAP BTP.</STRONG></P><UL><LI>Got to <STRONG>Connections </STRONG>and add <STRONG>New Entry.</STRONG></LI><LI>A Validation Instance will be necessary for the authentication against the BTP.</LI><LI>Add <STRONG>RFC destination for Handshake</STRONG> (from Step 1).</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_0-1770978917543.png" style="width: 569px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372249i91BA3B9E1CBF81C1/image-dimensions/569x296?v=v2" width="569" height="296" role="button" title="Benedikt_Sprung_0-1770978917543.png" alt="Benedikt_Sprung_0-1770978917543.png" /></span></P><P> </P><UL><LI>Go to Default Values and specify:<UL><LI><STRONG>ACI_CLIENT_ID</STRONG>: Client ID from the Service Key.</LI><LI><SPAN><STRONG>ACI_TOKEN_DESTINATION</STRONG>: RFC-Destination for the Token (from Step 1).</SPAN></LI><LI><SPAN><STRONG>AUTH_TYPE</STRONG>: OAUTH (Certificate also possible; refer to official documentation).</SPAN></LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_1-1770979202976.png" style="width: 683px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372255iB559A38B6B8A9268/image-dimensions/683x320?v=v2" width="683" height="320" role="button" title="Benedikt_Sprung_1-1770979202976.png" alt="Benedikt_Sprung_1-1770979202976.png" /></span></P><UL><LI>Add client secret from the Service Key<UL><LI>Transaction: <STRONG>SPRO</STRONG></LI><LI>Go to:<STRONG> Integration with Other SAP Components -> SAP NetWeaver AddOn for Event enablement -> Set the cloud connection password</STRONG></LI><LI>Or go directly to transaction: <STRONG>/ASADEV/SCI_TPW</STRONG></LI><LI>Select the Cloud Instance for validation: SAP_VALIDATION</LI><LI>Enter the client secret in the Cloud Shared Secret field and execute.</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_2-1770979499502.png"><img src="https://community.sap.com/skins/images/709863BBD8AA10662CD56D1262089890/responsive_peak/images/image_rejected.gif" alt="Benedikt_Sprung_2-1770979499502.png" /></span></P><P> </P><P><STRONG>Step 7: Test the new connection to SAP Advanced Event Mesh.</STRONG></P><P>After the steps from above we can now test our new connection to the SAP Advanced Event Mesh.</P><P>Change something in the Application, where your Event Add-on for ERP does have an Oubtound Object configured and check the monitor transaction <STRONG>/ASADEV/ACI_MONITOR</STRONG>.</P><P>Cloud response should be 200 OK.</P><P>On the left side of the Trace we can see the JSON and dynamic topic, that was used to send the message to the SAP Advances Event Mesh.</P><P>This was configured inside the Field Mapping of the Outbound Object.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_3-1770979829921.png" style="width: 913px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372262i5F40BCE198E0F349/image-dimensions/913x534?v=v2" width="913" height="534" role="button" title="Benedikt_Sprung_3-1770979829921.png" alt="Benedikt_Sprung_3-1770979829921.png" /></span></P><P><STRONG>Migration Completed</STRONG></P><P>After these steps, your SAP system is successfully switched from SAP Event Mesh to SAP Advanced Event Mesh using ASAAEMEE.</P><UL><LI><P>No changes are required in event definitions.</P></LI><LI>Monitoring and validation ensure messages are delivered correctly.</LI><LI>Find more configuration options for component ASAAEMEE inside the <A href="https://discovery-center.cloud.sap/serviceCatalog/advanced-event-mesh?region=all&tab=&commercialModel=btpea" target="_self" rel="nofollow noopener noreferrer">SAP Discovery Center</A> mission "<SPAN>Data Exchange to Connect SAP ERP with SAP Advanced Event Mesh for Event-Driven Integration</SPAN>".</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Benedikt_Sprung_0-1770984380351.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372312i9A690668998849FA/image-size/medium?v=v2&px=400" role="button" title="Benedikt_Sprung_0-1770984380351.png" alt="Benedikt_Sprung_0-1770984380351.png" /></span></P><P> </P><P> </P>2026-02-13T13:26:20.613000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/pov-3-using-integration-suite-as-your-governed-mcp-server-platform-part-3-4/ba-p/14328366POV 3: Using Integration Suite as Your Governed MCP Server Platform (Part 3/4)2026-02-14T01:04:11.131000+01:00hannahhorvathhttps://community.sap.com/t5/user/viewprofilepage/user-id/78798<P>This Blog is Part 3 of a Blog series (4 Parts!). Click on the following to navigate back to the main menu of <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-on-how-to-approach-custom-agents-in-the-enterprise-blog-series/ba-p/14328355" target="_self"><STRONG>POV on How to Approach Custom Agents in the Enterprise - Blog Series.</STRONG></A></P><P><STRONG> <U>POV 3: Using Integration Suite as Your Governed MCP Server Platform </U></STRONG>*Coming <A href="https://roadmaps.sap.com/board?PRODUCT=000D3A47875C1EDB98A8A910864AC24B&range=CURRENT-LAST&q=MCP" target="_blank" rel="noopener noreferrer"><STRONG>Q2/2026</STRONG></A></P><P>If you didn't have a chance to tune in to <STRONG>SAP Tech Ed's </STRONG><STRONG>IN200v | Empower your agents to be responsible</STRONG> (2025) then it is notable that in <A href="https://roadmaps.sap.com/board?PRODUCT=000D3A47875C1EDB98A8A910864AC24B&range=CURRENT-LAST&q=MCP" target="_blank" rel="noopener noreferrer"><STRONG>Q2/2026</STRONG></A> <STRONG>SAP Integration Suite's</STRONG> API Management will allow you to apply additional security policies to APIs in your MCP servers and publish your secure APIs with MCP documentation for Agent consumption via the<STRONG> API and MCP Gateway.</STRONG></P><P><STRONG><U>Why is this important? </U></STRONG></P><P>MCP allows agents to access external information for systems, APIs, documents all while reducing agent complexity. In summary, agents with a MCP client will rely on the MCP server to provide structured metadata to the APIs/Protocols. However, these APIs within the MCP server will likely not meet all security requirements and pose some <STRONG>security risk.</STRONG></P><P>With <STRONG>SAP Integration Suite's API and MCP gateway</STRONG>, you will be able to <STRONG>apply additional API Policies</STRONG> around multi-protocol connectivity, routing, transformations (eg. JSON to XML), mapping, traffic management, and security requirements to further secure, monitor and govern your APIs being leveraged as part of your MCP. This will be incredibly <STRONG>powerful for both SAP Agents and non-SAP agents.</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hannahhorvath_0-1771027071914.png" style="width: 720px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372507i45A2B7870F425DEE/image-dimensions/720x385?v=v2" width="720" height="385" role="button" title="hannahhorvath_0-1771027071914.png" alt="hannahhorvath_0-1771027071914.png" /></span></P><P><EM>Image taken from SAP Tech Ed's </EM><EM>IN200v | Empower your agents to be responsible (2025)</EM></P><P><STRONG><U>How is this relevant to on-premise users?</U></STRONG></P><P>Users that are on-premise (eg. ECC, S/4HANA on-prem) can leverage Integration Suite to create custom APIs through OData Services or modify prebuilt S/4HANA APIs (see <A href="https://api.sap.com/" target="_blank" rel="noopener noreferrer">Business Accelerator Hub</A>) and apply additional API policies to <STRONG>reduce security risk</STRONG>. These APIs can then be leveraged in SAP as well as non-SAP agents. <STRONG>However, it is important to consider the rebuild effort of business context and security when accessing SAP data outside of Joule agents </STRONG>(as described in <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-1-create-custom-agents-in-sap-part-1-4/ba-p/14328361" target="_self"><STRONG>POV 1</STRONG></A>).</P><P><STRONG><U>Where else can Integration Suite and SAP help in my Agent Build?</U></STRONG></P><P><STRONG>SAP Business Data Graphs</STRONG>! Within Integration Suite you can explore, design, and extend <STRONG>Graph APIs (Odata V4 or GraphQL)</STRONG> for agent consumption.</P><P>Think of this as a semantic layer (connecting multiple entities) that sits on top of the API that allows your agent to receive a mix of entities from one central entity - <STRONG>removing the Agent’s effort to combine the entities together.</STRONG></P><P>Graphs are powerful because the projections between data sources (entities) are automatically created between SAP data as SAP leverages the One Domain data model. However, there are also capabilities for developers to extend to non-SAP. Therefore, allowing you to have a simplified semantically rich API ready for Agent consumption with the bonus to apply additional API policies on top of it, resulting in a <STRONG>secure Graph API</STRONG>. For more information on Graph APIs please check out this <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/part-1-introduction-to-sap-graph/ba-p/13503946" target="_blank">blog on an Intro to SAP Graphs</A> & <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/announcing-graph-in-sap-integration-suite/ba-p/13554151" target="_blank">Graph in Integration Suite Blog</A>.</P><P>An example of this can be seen in the <STRONG>image below that summarizes the</STRONG> <STRONG>demo shown at </STRONG><STRONG>SAP Tech Ed's </STRONG><STRONG>IN200v | Empower your agents to be responsible</STRONG> session. You can see that a user prompts an Agent that leverages MCP API tools with additional governance policies applied to the Graph API. This showcases <STRONG>secure and semantically connected data</STRONG> across SAP Risk assessment, Supplier Plant, and Supplier plant materials entities - <STRONG>resulting in higher performing responsible, relevant and reliable AI Agent response.</STRONG></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hannahhorvath_1-1771027071917.png" style="width: 772px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372508iD0E6FD7BAC555F57/image-dimensions/772x361?v=v2" width="772" height="361" role="button" title="hannahhorvath_1-1771027071917.png" alt="hannahhorvath_1-1771027071917.png" /></span></P><P> </P><P><STRONG> </STRONG></P><P>Source: <A href="https://help.sap.com/docs/graph/graph/what-is-graph" target="_blank" rel="noopener noreferrer">Graph – SAP Help</A></P><P>Source: <A href="https://www.sap.com/india/events/teched/virtual.html" target="_blank" rel="noopener noreferrer">Watch Tech Ed sessions on-demand</A></P><P> </P><P><STRONG><U>Next POV?</U></STRONG></P><P>To check out Part 4 of the Blog Series click: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-4-putting-it-all-together-across-your-enterprise-part-4-4/ba-p/14328368#M188352" target="_self"><STRONG>POV </STRONG><STRONG>4 - </STRONG><STRONG>Putting it all Together Across Your Enterprise</STRONG>.</A></P><P>Or click on the following to navigate back to the main menu of <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-on-how-to-approach-custom-agents-in-the-enterprise-blog-series/ba-p/14328355" target="_self"><STRONG>POV on How to Approach Custom Agents in the Enterprise - Blog Series.</STRONG></A></P>2026-02-14T01:04:11.131000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/pov-4-putting-it-all-together-across-your-enterprise-part-4-4/ba-p/14328368POV 4: Putting it all Together Across Your Enterprise (Part 4/4)2026-02-14T01:13:05.033000+01:00hannahhorvathhttps://community.sap.com/t5/user/viewprofilepage/user-id/78798<P>This Blog is Part 4 of a Blog Series (4 Parts!). Click on the following to navigate back to the main menu of <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-on-how-to-approach-custom-agents-in-the-enterprise-blog-series/ba-p/14328355" target="_self"><STRONG>POV on How to Approach Custom Agents in the Enterprise - Blog Series.</STRONG></A></P><P><U><STRONG> POV 4: Putting it All Together Across Your Enterprise</STRONG></U></P><P>Keeping in mind POV 1, 2, and 3 - <STRONG>POV 4 focuses on bringing your enterprise-wide agents together <U>with an additional layer of security and governance</U>. </STRONG></P><P>As discussed, Integration Suite will allow you to create custom APIs - SAP and non-SAP- including Business Data Graph APIs. These can then be further consumed, whether it’s a custom API through SAP or non-SAP or an API that’s part of a MCP server. In other words, both Joule and non-SAP agents will be able to leverage secure governed APIs and MCPs in an interoperable agentic ecosystem.</P><P>In simpler words: <STRONG>Integration Suite and Joule Studio will be the key to unlocking secure, governed, and business context rich agent ecosystems.</STRONG></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hannahhorvath_0-1771027764920.png" style="width: 523px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372509i9A515B2A731EF6BB/image-dimensions/523x389?v=v2" width="523" height="389" role="button" title="hannahhorvath_0-1771027764920.png" alt="hannahhorvath_0-1771027764920.png" /></span></P><P><U><STRONG>In Summary</STRONG></U></P><P>We opened with a critical question: <STRONG><EM>How do you approach your use cases strategically across your diverse AI landscape?</EM> </STRONG>The answer lies in three integrated capabilities:</P><OL><LI><STRONG>SAP Joule</STRONG> provides the foundation for responsible, reliable and relevant custom agents with Joule through its <STRONG>deep domain knowledge, rich business context, and secure governance capabilities. </STRONG></LI><LI><STRONG>Joule can be used for both SAP specific use cases as well as non-SAP Agent collaboration</STRONG> - bringing the best of both worlds together.</LI><LI>Finally, <STRONG>Integration Suite's API management and MCP Gateway</STRONG> capabilities will be key to unlocking an <STRONG>additional powerful security and governance layer</STRONG> for your agents across your enterprise.</LI></OL><P> </P><P>This concludes the Blog Series: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/pov-on-how-to-approach-custom-agents-in-the-enterprise-blog-series/ba-p/14328355" target="_self"><STRONG>POV on How to Approach Custom Agents in the Enterprise</STRONG><STRONG>.</STRONG></A></P>2026-02-14T01:13:05.033000+01:00https://community.sap.com/t5/technology-blog-posts-by-members/automated-trace-enabler-in-sap-cpi/ba-p/14328633Automated Trace Enabler in SAP CPI2026-02-15T08:21:15.257000+01:00Daggolu_PremSaihttps://community.sap.com/t5/user/viewprofilepage/user-id/1668154<H5 id="toc-hId--2118014307">Introduction:</H5><P>While developing integrations in SAP CPI, enabling <STRONG><EM>Trace </EM></STRONG>is one of the most common activities during testing and debugging. It provides detailed visibility into message processing, including payload transformations, headers and properties.</P><P>Of course, there are easier ways to enable trace. Browser extensions and supported testing tools make this process very simple and convenient.</P><P>However, there are also projects where:</P><UL><LI>Browser extension are not allowed</LI><LI>External testing tools are restricted</LI><LI>Developers rely only on native CPI capabilities</LI></UL><P>In such cases, repeatedly navigating through the monitoring UI to enable trace can interrupt the development workflow.</P><P>To address this, I built a reusable <EM><STRONG>Trace Enabler Utility iFlow</STRONG> </EM>that programmatically enables trace using internal Operations endpoints - keeping the solutions entirely within SAP CPI.</P><H5 id="toc-hId-1568004603" id="toc-hId-1980439484"><STRONG>Prerequisites:</STRONG></H5><P>Before using the Trace Enabler iFlow, we need to set up proper authentication to invoke the internal Operations API.</P><P>In your SAP BTP subaccount:</P><OL><LI>Navigate to Instance and Subscriptions</LI><LI>Create a new instance for <TABLE border="1" width="100%"><TBODY><TR><TD width="50%" height="30px"><EM>Service</EM></TD><TD width="50%" height="30px"><EM><FONT size="3">SAP Process Integration Runtime</FONT></EM></TD></TR><TR><TD width="50%" height="30px"><EM><FONT size="3">Plan</FONT></EM></TD><TD width="50%" height="30px"><EM>API</EM></TD></TR><TR><TD width="50%" height="30px"><EM><FONT size="3">Roles</FONT></EM></TD><TD width="50%" height="30px"><EM><FONT>Tr</FONT><FONT size="3">aceConfigurationEdit, TraceConfigurationRead</FONT></EM></TD></TR></TBODY></TABLE></LI><LI>Create Service Key and copy Client ID, Client Secret, Token URL</LI><LI>Create OAuth Credentials in SAP CPI Security Material</LI></OL><H5 id="toc-hId-1568004603" id="toc-hId-1783925979"><STRONG>Integration Flow Overview:</STRONG></H5><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daggolu_PremSai_0-1771092691724.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372717i5869A1F4EAF27471/image-size/large?v=v2&px=999" role="button" title="Daggolu_PremSai_0-1771092691724.png" alt="Daggolu_PremSai_0-1771092691724.png" /></span></P><P> </P><P><SPAN>Download Integration flow from the Git :</SPAN><SPAN> </SPAN><A title="SAP-CPI-Trace-Enabler" href="https://bit.ly/SAP-CPI-Trace-Enabler" target="_blank" rel="nofollow noopener noreferrer">link</A></P><P>This interface consist of two separate Integration Process, both are designed to enable trace for specific iFlows during development.</P><P>Each Integration Process serves a different triggering mechanism but follows same core logic:</P><UL><LI>Accept Interface IDs</LI><LI>Split them (if multiple)</LI><LI>Enable trace individually</LI></UL><H5 id="toc-hId-1587412474">1. Timer based Trace Enabler flow</H5><P>This integration process runs automatically based on a configured scheduler.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daggolu_PremSai_0-1771094001123.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372719i48237BFF6341BE37/image-size/large?v=v2&px=999" role="button" title="Daggolu_PremSai_0-1771094001123.png" alt="Daggolu_PremSai_0-1771094001123.png" /></span></P><P>The timer can be defined according to development requirements. For example:</P><UL><LI>Every 9 minutes</LI><LI>During working hours on week days</LI></UL><P>This makes it useful when trace needs to be enabled periodically during active development hours.</P><P>The list of interfaces is maintained as Externalized Parameters.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daggolu_PremSai_1-1771094140426.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372720i231D7C7A5DDEE7FD/image-size/large?v=v2&px=999" role="button" title="Daggolu_PremSai_1-1771094140426.png" alt="Daggolu_PremSai_1-1771094140426.png" /></span></P><P><STRONG>Example:</STRONG> iflow_1, iflow_2 <EM>(separated by comma)</EM></P><H5 id="toc-hId-1390898969">2. HTTPS based Trace Enabler flow</H5><P>This integration process exposes an HTTPS endpoint for manual triggering.</P><P>Developers can use tools like postman to send a request and enable trace on demand.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daggolu_PremSai_0-1771139007703.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372738iC8D6249787B1B588/image-size/large?v=v2&px=999" role="button" title="Daggolu_PremSai_0-1771139007703.png" alt="Daggolu_PremSai_0-1771139007703.png" /></span></P><P> </P><P><STRONG>Note</STRONG>: This interface uses an internal, non-public SAP API that may change or be removed in future releases.</P><P><STRONG>Important Consideration:</STRONG> Activating trace during unwanted runs or unexpected triggers can significantly increases message storage consumption. Always enable trace carefully only when necessary and disable it when no longer required.</P><P> </P><H5 id="toc-hId-1194385464">Conclusion:</H5><P>This interface demonstrates how trace activation in SAP CPI can be automated during development using internal API. While useful for streamlining debugging, it should be used with awareness since it relies on a non-public API.</P><P> </P><P>I'd appreciate any insights, improvements or feedback on this approach.</P><P><STRONG>Happy Integrating!</STRONG></P><P> </P>2026-02-15T08:21:15.257000+01:00https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/discover-and-publish-events-from-sap-advanced-event-mesh-in-developer-hub/ba-p/14325999Discover and Publish Events from SAP Advanced Event Mesh in Developer Hub2026-02-16T10:42:34.494000+01:00FlorianOkoshttps://community.sap.com/t5/user/viewprofilepage/user-id/5536<P><STRONG>Introduction</STRONG></P><P>Event-driven architecture (EDA) is a cornerstone of modern integration, enabling systems to react in real time to business events with loose coupling and scalability. In this blog, we walk through how to connect SAP <STRONG>Advanced Event Mesh with SAP Developer Hub to discover and publish events, empowering integration teams and developers to explore and reuse event streams within the SAP ecosystem.This setup is especially relevant if you’re looking to build responsive integrations or microservices that react to business events across SAP solutions.</STRONG></P><P><STRONG>🟢</STRONG><STRONG> Delivered Roadmap Item</STRONG></P><P>SAP has <A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800004463&range=CURRENT-LAST#;INNO=F586EF4391F81EDFBECE105CCBF70063" target="_blank" rel="noopener noreferrer">delivered manual discovery and publication of events from Advanced Event Mesh to SAP Developer Hub a...</A></P><P>For a complementary scenario focused on discovering events from SAP S/4HANA Cloud using SAP Developer Hub, see the blog <EM>“<A href="https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/discover-s-4hana-cloud-events-in-sap-developer-hub/ba-p/14097325" target="_blank">Discover S/4HANA Cloud Events in SAP Developer Hub.” That post walks through registering your S/4HAN...</A></EM></P><P> </P><P><STRONG><span class="lia-unicode-emoji" title=":keycap_1:">1️⃣</span></STRONG><STRONG> </STRONG><STRONG>Overview: Why Discover and Publish Events</STRONG></P><UL><LI>Developer Hub acts as a central catalog for APIs and events.</LI><LI>Advanced Event Mesh is the cloud service that enables event distribution across hybrid landscapes.</LI></UL><P>Discovering events helps teams understand what events are available and reuse them consistently.</P><P><STRONG><span class="lia-unicode-emoji" title=":keycap_2:">2️⃣</span></STRONG><STRONG> </STRONG><STRONG>Set Up the Destination to Connect Event Mesh to Developer Hub</STRONG></P><OL><LI>Go to SAP BTP Cockpit → Subaccount</LI><LI>Navigate to Connectivity → Destinations → Create from Scratch</LI><LI>Fill in details:</LI><UL><LI>Name, Type: HTTP</LI><LI>Base URL of Advanced Event Mesh</LI><LI>Authentication (e.g., BasicAuthentication with API token)</LI><LI>Custom property: sap.isuite.dh.aem.enabled = true</LI></UL></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 11.02.26 um 7.57 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372977i2E87D313C0654335/image-size/large?v=v2&px=999" role="button" title="Bild 11.02.26 um 7.57 AM.png" alt="Bild 11.02.26 um 7.57 AM.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 11.02.26 um 7.58 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372976i22852476DD74F1EA/image-size/large?v=v2&px=999" role="button" title="Bild 11.02.26 um 7.58 AM.png" alt="Bild 11.02.26 um 7.58 AM.png" /></span></P><P><STRONG><span class="lia-unicode-emoji" title=":keycap_3:">3️⃣</span></STRONG><STRONG> </STRONG><STRONG>Register and Configure Your Advanced Event Mesh Instance</STRONG></P><P>Describe how to ensure Event Mesh and its event APIs are set up for discovery.</P><UL><LI>Create event APIs or ensure existing ones are shared</LI><LI>Enable appropriate access permissions</LI></UL><P>Note: Only shared events will show up in Developer Hub</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 16.02.26 um 10.40 AM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372986i3C53B5B944708580/image-size/large?v=v2&px=999" role="button" title="Bild 16.02.26 um 10.40 AM.png" alt="Bild 16.02.26 um 10.40 AM.png" /></span></P><P><STRONG><span class="lia-unicode-emoji" title=":keycap_4:">4️⃣</span></STRONG><STRONG> </STRONG><STRONG>Discover Events in SAP Developer Hub</STRONG></P><P>Steps to explore events once the destination is set:</P><OL><LI>Open Developer Hub via Integration Suite</LI><LI>Go to Admin Center → Manage → Content</LI><LI>Select your Advanced Event Mesh business system</LI></OL><P>Browse events grouped by application domain</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 13.02.26 um 4.47 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372985iBCFD306BF831BE79/image-size/large?v=v2&px=999" role="button" title="Bild 13.02.26 um 4.47 PM.png" alt="Bild 13.02.26 um 4.47 PM.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 13.02.26 um 5.02 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372980i4E7DDEDD8EF2081A/image-size/large?v=v2&px=999" role="button" title="Bild 13.02.26 um 5.02 PM.png" alt="Bild 13.02.26 um 5.02 PM.png" /></span></P><P><STRONG><span class="lia-unicode-emoji" title=":keycap_5:">5️⃣</span></STRONG><STRONG> </STRONG><STRONG>Create Products and Publish Events</STRONG></P><P>Explain how to group events into products and publish them:</P><OL><LI>In Developer Hub, select events you want to publish</LI><LI>Create a Product (logical grouping of events)</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bild 13.02.26 um 5.07 PM.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372981i0E1D9754B6903089/image-size/large?v=v2&px=999" role="button" title="Bild 13.02.26 um 5.07 PM.png" alt="Bild 13.02.26 um 5.07 PM.png" /></span></P><P><STRONG>Summary</STRONG></P><P>In this blog you learned how to </P><UL><LI>Connect Advanced Event Mesh with SAP Developer Hub</LI><LI>Discover and publish events for reuse</LI><LI>Enable developers to consume events in integration use cases</LI><LI>Publish the Product to make it discoverable by developers</LI></UL><P> </P>2026-02-16T10:42:34.494000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/decision-logic-modernization-in-sap-integrations-using-sap-rpt-1-for/ba-p/14329617Decision Logic Modernization in SAP Integrations: Using SAP-RPT-1 for Intelligent Routing Decisions2026-02-16T19:54:29.244000+01:00arunmaarirajha_kvhttps://community.sap.com/t5/user/viewprofilepage/user-id/2033343<P><STRONG>Integration Modernization</STRONG> concept is often discussed in two dimensions:<BR />1)<STRONG> Platform modernization</STRONG> – moving from older stacks like SAP NetWeaver PI/PO, SAP Neo, or legacy 3rd party platforms to SAP Integration Suite.<BR />2) <STRONG>Scenario modernization</STRONG> – shifting from legacy protocols to modern integration patterns such as APIs & event-driven architectures; upgrading ABAP / Java mapping to graphical mapping / groovy script; or moving from basic auth to OAuth 2.0 or client certificate based authentication, and so on.</P><P>But there is another Modernization opportunity at the scenario level: <STRONG>decision logic modernization</STRONG>.</P><P>In this blog, we explore how routing decision logic, as an orchestration step — can be modernized using SAP-RPT-1, SAP’s latest foundation model hosted on BTP AI Core (Generative AI Hub) — applied to an outbound delivery routing scenario.</P><P><STRONG>The Traditional Approach: Static Rules, Lookups, and Growing Complexity:<BR /></STRONG>In SAP PI/PO and Integration Suite, routing decisions are typically implemented using deterministic, rule-based logic. These decisions often control how a scenario behaves – including which receiver system to call, or which transformation branch to follow. The common approaches include:</P><UL><LI>Static routing via Routers based on payload elements or fields</LI><LI>Dynamic configurations, such as externalized parameters passed at runtime</LI><LI>Lookups to external systems (e.g., via JDBC, SOAP, RFC lookups) to evaluate conditions at runtime — achieved in Integration Suite via patterns like <EM>Request-Reply</EM> or <EM>Content Enricher</EM></LI></UL><P>These mechanisms work — but they come with growing challenges:</P><UL><LI>Rules get combinatorially complex with more conditions and evolving business scenarios</LI><LI>Lookup tables become burdensome to maintain</LI><LI>Decisions become rigid and hard to evolve over time</LI></UL><P>As a result, rule-based decisioning becomes harder to maintain as business requirements evolve. Agility suffers. Adaptation becomes expensive.</P><P>What if, instead of relying on static rule-based logic, iflows could make decisions based on historical business patterns — applying predictive machine learning without the overhead of training and managing custom models? With the in-context learning capabilities of SAP’s latest foundation model, SAP-RPT-1, such predictions can be performed on-the-fly at runtime.</P><P><STRONG>Enter SAP-RPT-1: Foundation Model for Predictive Tasks:<BR /></STRONG>SAP-RPT-1 is a pre-trained foundation model available via BTP AI Core (Generative AI Hub). Unlike traditional ML services that require dedicated data science setup, SAP-RPT-1 offers:</P><UL><LI>Pre-trained model, ready for “plug and play” in your scenario</LI><LI>No ML infrastructure setup</LI><LI>No data science expertise required</LI><LI>No-code consumption via API</LI><LI>Faster time-to-market</LI><LI>Democratization of AI capabilities across IT functions</LI></UL><P>SAP-RPT-1 is pre-trained specifically for predictive tasks such as classification and regression over ERP tabular data, <SPAN>unlike many general-purpose GenAI models that are primarily trained on large corpora of natural language text. </SPAN>Instead of building and managing a full ML lifecycle, integration developers can now leverage predictive intelligence directly into iflows — without any data science related heavy-lifting.</P><P>If you are new to SAP-RPT-1, I recommend that you read <SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/a-new-paradigm-for-enterprise-ai-in-context-learning-for-relational-data/ba-p/14260221" target="_blank">this introductory blog</A></SPAN>.<BR />Also, explore this <SPAN><A href="https://rpt.cloud.sap/" target="_blank" rel="noopener nofollow noreferrer">SAP-RPT-1 playground</A></SPAN>.</P><P><STRONG>Business Scenario: Intelligent Outbound Delivery Routing with SAP-RPT-1:<BR /></STRONG>SmartSense Technologies (SST), a global provider of smart security devices, faces challenges in routing outbound deliveries from its manufacturing plants to distribution centers, retail stores, and end customers. Their current routing logic, embedded in integration flows, relies on static rules and lookup tables – employing a combination of Material, Quantity, Delivery priority, Material group, Ship to location, and so on. This leads to frequent shipping delays, cost overruns, and SLA violations whenever logistics conditions change and sub-optimal 3PL partner is chosen.</P><P>To overcome these limitations, SST decides to leverage SAP Integration Suite together with SAP-RPT-1 foundation model. By embedding machine learning–driven decision-making into its integration flow, SST aims to dynamically select the optimal logistics partner for each delivery based on historical performance, cost, and delivery times. While SAP-<SPAN>RPT-1 is capable of solving predictive tasks such as classification and regression, we will be using it for classification task — i.e. to classify given delivery (defined by delivery header & item attributes) to most optimal 3PL logistics provider.</SPAN></P><P>The following diagram illustrates the target architecture implemented by SST for intelligent outbound delivery routing using SAP Integration Suite and SAP-RPT-1 model, hosted on BTP’s Generative AI hub:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_11-1771266938443.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373226i4CCAFD40AD592E0E/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_11-1771266938443.png" alt="arunmaarirajha_kv_11-1771266938443.png" /></span></P><P><STRONG><BR />Step 1: Outbound Delivery Creation<BR /></STRONG>An outbound delivery is created in SAP S/4HANA, which triggers an outbound notification event. The event is consumed by the iflow, which then calls S/4HANA OData API to fetch the following delivery related header and item attributes.</P><P><U>Delivery header fields:</U> DeliveryDate, SalesOrganization, ShipToParty, SoldToParty, DeliveryDocumentType, CreationDate, ShippingPoint, DeliveryPriority, IncotermsClassification, TransactionCurrency</P><P><U>Delivery item fields:</U> Material, DeliveryDocumentItemText, MaterialGroup, ActualDeliveryQuantity, DeliveryQuantityUnit, Plant, StorageLocation, ItemGrossWeight, ItemWeightUnit, ControllingArea, DistributionChannel, GoodsMovementType, ProfitCenter</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_12-1771266938447.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373225i9B0E4B75AE051BE8/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_12-1771266938447.png" alt="arunmaarirajha_kv_12-1771266938447.png" /></span></P><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_13-1771266938452.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373224iF4BEC5389147947E/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_13-1771266938452.png" alt="arunmaarirajha_kv_13-1771266938452.png" /></span></P><P><STRONG>Step 2: Context Selection – Random Historical Records<BR /></STRONG>We store historic labeled data i.e. delivery headers, items and corresponding optimal 3PL partner data in SAP HANA Cloud. The iflow is configured to fetch a random set of this historic data from HANA Cloud. As recommended in <SPAN><A href="https://community.sap.com/t5/artificial-intelligence-blogs-posts/sap-rpt-1-a-step-by-step-guide-on-getting-started/ba-p/14290171" target="_blank">this blog</A></SPAN>, for most enterprise use-cases, where you have about hundred thousand to million lines of labelled data, depending on how diverse your scenario data is, you may choose the context size, by iterating and finalizing the apt number of historical records to pick. By picking random records, we are able to provide statistically diverse examples, improve prediction quality and avoid bias from sequential records.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_14-1771266938461.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373231i5B72696901521D40/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_14-1771266938461.png" alt="arunmaarirajha_kv_14-1771266938461.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_15-1771266938475.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373232iC11B3E383903BD1E/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_15-1771266938475.png" alt="arunmaarirajha_kv_15-1771266938475.png" /></span></P><P>The Iflow executes the following query on the HANA Cloud DB:</P><pre class="lia-code-sample language-sql"><code>SELECT TOP ${property.NumberofRecords}
"DeliveryDate", "DeliveryDocumentNumber", "CreationDate", "DeliveryPriority", "IncotermsClassification", "Material", "DeliveryDocumentItemText", "MaterialGroup", "ActualDeliveryQuantity", "DeliveryQuantityUnit", "ItemGrossWeight", "ItemWeightUnit", "DistributionChannel", "PartnerNumber"
FROM "RPT1"."historic_3pl_selections"
ORDER BY RAND()</code></pre><P><STRONG><BR />Step 3: Constructing the SAP-RPT-1 Request<BR /></STRONG>We now combine:</P><UL><LI>Historical random records (known 3PL partner)</LI><LI>The current outbound delivery (3PL partner to be predicted)</LI></UL><P>The current transaction includes a placeholder: [PREDICT]</P><P>The request payload contains:</P><UL><LI>900 historical labeled rows</LI><LI>1 new outbound delivery row marked for prediction</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_16-1771266938479.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373230iDB50F5FD9567EFC8/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_16-1771266938479.png" alt="arunmaarirajha_kv_16-1771266938479.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_17-1771266938482.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373235iEE67725F5F92224C/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_17-1771266938482.png" alt="arunmaarirajha_kv_17-1771266938482.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_18-1771266938487.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373236i224D7ABAF3DC24FC/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_18-1771266938487.png" alt="arunmaarirajha_kv_18-1771266938487.png" /></span></P><P>For detailed info on payload construction, refer to the <SPAN><A href="https://help.sap.com/docs/sap-ai-core/generative-ai/example-payloads-for-inferencing-sap-rpt-1#request-payloads" target="_blank" rel="noopener noreferrer">official documentation page</A></SPAN> and the <SPAN><A href="https://github.com/SAP-samples/sap-rpt-samples" target="_blank" rel="noopener nofollow noreferrer">GitHub repository</A></SPAN> (sample Postman/Bruno collections available for experimentation).</P><P>Further, while creating the inferencing request to SAP-RPT-1, we trim the columns from original 24 down to only 14 columns of delivery attributes, by removing fields like Sales Org, Controlling Area, Profit centre that do not influence partner selection. This is one of the best practices to achieve best possible predictive outputs. Read more recommended <SPAN><A href="https://help.sap.com/docs/sap-ai-core/generative-ai/example-payloads-for-inferencing-sap-rpt-1#best-practices" target="_blank" rel="noopener noreferrer">best practices here</A></SPAN>.<BR /><STRONG> </STRONG></P><P><STRONG>Step 4: Deploying SAP-RPT-1 model in Generative AI Hub</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_19-1771266938496.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373237i2ABECD87E5ACEC4B/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_19-1771266938496.png" alt="arunmaarirajha_kv_19-1771266938496.png" /></span></P><P><STRONG><BR />Step 5: SAP-RPT-1 inference response<BR /></STRONG>The response contains Number of predicted records, predicted field (here optimal 3PL partner) along with Confidence score.</P><P>Response from our example scenario:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_20-1771266938500.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373238i6A7834DDBC4CB100/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_20-1771266938500.png" alt="arunmaarirajha_kv_20-1771266938500.png" /></span></P><P>You can also send multiple unknown records in one batch. To read more about the number of max. records and columns supported by SAP-RPT-1, check out <SPAN><A href="https://help.sap.com/docs/sap-ai-core/generative-ai/sap-rpt-1#sap-rpt-models" target="_blank" rel="noopener noreferrer">this help page</A></SPAN>.</P><P><STRONG>Step 6: Intelligent Routing in the Iflow<BR /></STRONG>The Iflow now:</P><OL><LI>Reads the predicted PartnerNumber</LI><LI>Evaluates confidence threshold (optional safeguard)</LI><LI>Routes outbound delivery to the optimal 3PL partner</LI><LI>Optionally, logs decision + confidence for traceability in HANA Cloud.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="arunmaarirajha_kv_21-1771266938507.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373239iADC538832CCAAFFB/image-size/large?v=v2&px=999" role="button" title="arunmaarirajha_kv_21-1771266938507.png" alt="arunmaarirajha_kv_21-1771266938507.png" /></span></P><P><STRONG><BR />When AI in Iflows Brings Real Business Value</STRONG></P><UL><LI><STRONG>When routing decisions directly impact business outcomes</STRONG><BR />If sub-optimal routing can lead to SLA breaches, shipment delays, higher costs, or customer dissatisfaction, intelligent decision logic creates measurable advantage.</LI><LI><STRONG>When rule-based logic becomes complex and brittle</STRONG><BR />As business variables multiply (products, regions, priorities, partners), static rules become hard to maintain and scale. ML handles multi-dimensional patterns more effectively.</LI><LI><STRONG>When historical ERP data contains predictive patterns</STRONG><BR />If past delivery and fulfillment data reflects consistent business behavior, ML can learn from it and improve future routing decisions beyond deterministic conditions.</LI><LI><STRONG>When business context evolves over time</STRONG><BR />With changing product mixes, customer bases, or distribution models, retrainable ML models adapt dynamically — avoiding constant manual rule maintenance.</LI></UL><P><SPAN>Not every integration scenario requires ML capabilities. But where routing decisions carry operational or financial impact, replacing rigid rule sets with adaptive decision logic can significantly improve resilience and maintainability. Decision logic modernization is therefore not about adding AI everywhere — it is about applying it where it meaningfully improves orchestration.</SPAN></P><P><EM><SPAN>Note: This blog revisits </SPAN></EM><SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/intelligent-orchestration-in-iflows-business-aware-routing-with-sap-btp-s/ba-p/14162148" target="_blank"><EM>our earlier implementation</EM></A><EM> in light of the planned deprecation of SAP BTP Data Attribute Recommendation service, demonstrating an updated approach using SAP-RPT-1 model.</EM></SPAN></P>2026-02-16T19:54:29.244000+01:00https://community.sap.com/t5/integration-blog-posts/using-client-certificate-authentication-in-sap-cpi-http-receiver-adapter/ba-p/14321792Using Client Certificate Authentication in SAP CPI HTTP Receiver Adapter2026-02-17T10:17:51.079000+01:00jagadeehttps://community.sap.com/t5/user/viewprofilepage/user-id/844362<H3 id="toc-hId-1918580160">Introduction</H3><P>Hi friends, in this blog lets see how to configure the HTTP receiver adapter using client certificate auth type and step by step explain how a <STRONG>PKCS#12 (.p12)</STRONG> certificate is stored in the <STRONG>Keystore, </STRONG>which I have explored in my recent Integration flow development.<BR /><BR /></P><H3 id="toc-hId-1722066655">What is Client Certificate Authentication?</H3><P>Client certificate authentication, also known as a <STRONG>mutual authentication</STRONG><SPAN> method / </SPAN><STRONG>mutual TLS (mTLS)</STRONG>, ensures that:</P><UL><LI><P>The <STRONG>client (SAP CPI)</STRONG> authenticates itself to the <STRONG>server</STRONG></P></LI><LI><P>The <STRONG>server</STRONG> also presents its certificate to CPI</P></LI><LI><P>Both sides trust each other using certificates issued by trusted CAs</P></LI></UL><P>Unlike basic or OAuth authentication, client certificate authentication relies on <STRONG>X.509 certificates and private keys</STRONG>, not usernames or tokens.<BR />For more information about client certificate authentication, refer to the link:</P><P><A title="Client Certificate Authentication (Outbound)" href="https://help.sap.com/docs/integration-suite/sap-integration-suite/client-certificate-authentication-outbound?locale=en-US&state=PRODUCTION&version=CLOUD" target="_self" rel="noopener noreferrer">https://help.sap.com/docs/integration-suite/sap-integration-suite/client-certificate-authentication-outbound?locale=en-US&state=PRODUCTION&version=CLOUD</A> </P><H3 id="toc-hId-1525553150">Files Provided by the Partner</H3><P>Our 3rd party client (receiver system) has provided </P><UL><LI><P><CODE>certificate.crt</CODE> — signed client certificate (after providing the signing request)</P></LI><LI><P><CODE>private_key.key</CODE> — private key (We need to generate this via OpenSSL if it is a Production tenant)</P></LI><LI><P><CODE>certificate-chain.pem</CODE> — intermediate/root CA certificates</P></LI></UL><P>To establish the connection, all three must be updated in the tenant keystore, since SAP CPI does <STRONG>not</STRONG> accept <CODE>.key</CODE> files directly, these files must be converted directly into a <STRONG>PKCS#12 (.p12)</STRONG> format.</P><H3 id="toc-hId-1329039645">Creating the P12 File</H3><P>The <CODE>.p12</CODE> file contains:</P><UL><LI><P>Client certificate (eg, certificate.crt)</P></LI><LI><P>Private key (eg, private_key.key)</P></LI><LI><P>CA certificate chain (Intermediate + Root certificates) (eg, certificate-chain.pem) <BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2026-02-09 194950.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370499i9944C7294383CDAA/image-size/medium?v=v2&px=400" role="button" title="Screenshot 2026-02-09 194950.png" alt="Screenshot 2026-02-09 194950.png" /></span></P></LI></UL><P>Using OpenSSL /Command prompt:<BR /><BR />Open the command prompt from the same folder in which all these files are stored. <BR /><BR />Enter the command below, and it will ask you to set the password. After you enter the password, it generates the p12 file in the same folder.</P><pre class="lia-code-sample language-bash"><code>openssl pkcs12 -export \
-in certificate.crt \
-inkey private_key.key \
-certfile certificate-chain.pem \
-out client.p12 \
-name "client-cert"</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jagadee_0-1770647299164.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370503i8DAC981AD1CF9E76/image-size/medium?v=v2&px=400" role="button" title="jagadee_0-1770647299164.png" alt="jagadee_0-1770647299164.png" /></span></P><P><BR />Note: An <STRONG>export password</STRONG> is required and will be used later during upload into CPI.<BR /><BR /></P><H3 id="toc-hId-1132526140">Uploading the Certificate to SAP CPI Keystore</H3><OL><LI><P>Log in to <STRONG>SAP Cloud Integration</STRONG></P></LI><LI><P>Go to <STRONG>Monitor → Keystore</STRONG></P></LI><LI><P>Choose <STRONG>Add → Key Pair</STRONG></P></LI><LI><P>Upload <CODE>client.p12</CODE></P></LI><LI><P>Enter the export password</P></LI><LI><P>Save</P></LI></OL><P>The certificate is now securely stored and managed by CPI.<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jagadee_1-1770647370522.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370504i769F47BD824BDEB2/image-size/medium?v=v2&px=400" role="button" title="jagadee_1-1770647370522.png" alt="jagadee_1-1770647370522.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jagadee_3-1770647684377.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370511i83F26067AAFF71D0/image-size/medium?v=v2&px=400" role="button" title="jagadee_3-1770647684377.png" alt="jagadee_3-1770647684377.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jagadee_4-1770647801131.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370514i87E3ADFDC1616E50/image-size/medium?v=v2&px=400" role="button" title="jagadee_4-1770647801131.png" alt="jagadee_4-1770647801131.png" /></span></P><P> </P><H3 id="toc-hId-936012635">Configuring the HTTP Receiver Adapter</H3><P>In your integration flow:</P><OL><LI><P>Add an <STRONG>HTTP Receiver Adapter</STRONG></P></LI><LI><P>Set <STRONG>Authentication</STRONG> to: Client Certificate</P></LI><LI><P><SPAN>In the </SPAN><STRONG>Credential Name</STRONG><SPAN> field, select the alias of the uploaded </SPAN><CODE><STRONG>.p12</STRONG></CODE><SPAN> from the Keystore.</SPAN></P></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jagadee_2-1770647546379.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370509iDA9F7188D30576E2/image-size/medium?v=v2&px=400" role="button" title="jagadee_2-1770647546379.png" alt="jagadee_2-1770647546379.png" /></span></P><P> </P><H3 id="toc-hId-739499130">Security Best Practices</H3><UL><LI><P>Protect the <CODE>.p12</CODE> password</P></LI><LI><P>Use separate certificates for PROD and NON-PROD</P></LI><LI><P>Monitor certificate expiry dates<BR /><BR /></P></LI></UL><P><STRONG>Conclusion<BR /></STRONG><BR />Client certificate authentication is a secure and reliable option. Using a P12 certificate from the keystore with the HTTP Receiver Adapter keeps authentication simple and secure.</P><P>Thank you for reading this blog. I hope this helps you with your integration. When I started this integration development, I uploaded all the keystore documents separately, but it still ended up failing. Also, I couldn’t find any reference blog on how to handle this. So, I want to share this with others. If you feel this is a long procedure (as I do), please share your ideas and feedback in the comments.</P>2026-02-17T10:17:51.079000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/master-blog-b2b-integration-with-sap-integration-suite/ba-p/14330967Master Blog: B2B Integration with SAP Integration Suite2026-02-19T10:22:28.687000+01:00DeniseRodrigueshttps://community.sap.com/t5/user/viewprofilepage/user-id/1974289<H3 id="toc-hId-1919475724"><STRONG><SPAN class=""><SPAN class="">Introduction</SPAN></SPAN><SPAN class=""> </SPAN></STRONG></H3><P><SPAN>B2B integration plays a critical role in enabling seamless and reliable data exchange between enterprises and their business partners. As integration landscapes grow in scale and complexity, standardized B2B capabilities become essential to ensure secure connectivity, partner onboarding, message validation, monitoring, and operational resilience. </SPAN><SPAN> </SPAN></P><P><SPAN>This master blog serves as a technical reference hub for B2B Integration Factory, consolidating all related blog posts in one place to support integration architects and developers in designing, implementing, and operating scalable and governed B2B integration scenarios with SAP Integration Suite.</SPAN><SPAN> </SPAN></P><P><SPAN>If you are interested in deepening your knowledge of B2B integration using SAP Integration Suite, we recommend our free learning course. This comprehensive course offers detailed explanations of each B2B capability and includes hands-on exercises with an example end-to-end B2B scenario. You can access it here: SAP Learning: </SPAN><A href="https://learning.sap.com/courses/manage-b2b-scenarios-effectively-with-sap-integration-suite" target="_blank" rel="noopener noreferrer"><SPAN>Manage B2B Scenarios Effectively with SAP Integration Suite</SPAN></A><SPAN>.</SPAN><SPAN> </SPAN></P><P><SPAN> </SPAN></P><H3 id="toc-hId-1722962219"><STRONG>B2B Integration Factory</STRONG><SPAN> </SPAN></H3><P><SPAN>B2B integration Factory’s services & integration packages</SPAN><SPAN> </SPAN></P><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/b2b-integration-factory-services-to-unlock-the-power-of-sap-integration/ba-p/13776621" target="_blank"><SPAN>B2B Integration Factory services to unlock the power of SAP Integration Suite's B2B capabilities</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/b2b-integration-factory-b2b-related-integration-packages-with-your-custom/ba-p/13869227" target="_blank"><SPAN>B2B Integration Factory – B2B related Integration Packages with your Custom Extensions</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/b2b-integration-factory-what-is-pre-packaged-b2b-integration-content-and/ba-p/13899632" target="_blank"><SPAN>B2B Integration Factory: What is Pre-packaged B2B Integration Content, and what is this used for?</SPAN></A><SPAN> </SPAN><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/b2b-integration-factory-s-role-and-value-adds-in-the-b2b-cloud-integration/ba-p/13875946" target="_blank"><SPAN>B2B Integration Factory's Role and Value Adds in t... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/b2b-integration-factory-q4-2024-release-highlights/ba-p/13979279" target="_blank"><SPAN>B2B Integration Factory Q4/2024 Release highlights - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/first-release-of-b2b-integration-factory-integration-packages-and-their/ba-p/13869848" target="_blank"><SPAN>First release of B2B Integration Factory – Integration Packages and their Extensions</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/sap-migration-factory-for-integration-suite-faq/ba-p/14303692" target="_blank"><SPAN>SAP Migration Factory for Integration Suite – FAQ - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/the-importance-of-b2b-monitoring-in-customer-s-day-to-day-b2b-operations/ba-p/13878484" target="_blank"><SPAN>The importance of B2B Monitoring in customer's day... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/vda-automotive-flat-file-processing-with-b2b-integration-factory/ba-p/14203524" target="_blank"><SPAN>VDA Automotive Flat File Processing with B2B Integ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><P><SPAN> </SPAN></P><H3 id="toc-hId-1526448714"><STRONG>B2B integration scenarios </STRONG></H3><P><SPAN>Blog posts describing end-to-end B2B integration scenarios using IA, TPM and CPI</SPAN><SPAN> </SPAN></P><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/b2b-data-exchange-using-trading-partner-management-tpm-in-sap-cpi/ba-p/13547233" target="_blank"><SPAN>B2B data exchange using Trading Partner Management... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/b2b-scenario-sender-edi-to-idoc/ba-p/14255985" target="_blank"><SPAN>B2B Scenario Sender EDI to IDOC - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/bridging-edi-and-sap-s-4hana-cloud-seamless-edi-to-soap-integration/ba-p/14144660" target="_blank"><SPAN>Bridging EDI and SAP S/4HANA Cloud: Seamless EDI-t... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/completing-the-b2b-migration-into-sap-integration-suite-vision/ba-p/14211567" target="_blank"><SPAN>Completing the B2B migration into SAP Integration ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/creating-migs-and-mags-using-integration-advisor-in-sap-btp-cockpit/ba-p/14143413" target="_blank"><SPAN>Creating MIGs and MAGs Using Integration Advisor i... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/how-to-build-custom-b2b-interface-using-integration-advisor-as2-adapters/ba-p/14143175" target="_blank"><SPAN>How to build custom B2B Interface using Integratio... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/inbound-interface-edi-sap-btp-integration-suite-with-tpm-sap-s-4hana-via/ba-p/14296064" target="_blank"><SPAN>Inbound Interface: EDI → SAP BTP (Integration Suit... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/real-time-xml-to-edi-conversion-a-step-by-step-cpi-integration-scenario/ba-p/14284748" target="_blank"><SPAN>Real-Time XML to EDI Conversion: A Step-by-Step CP... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-integration-advisor-mig-amp-mag-from-a-cpi-developer-perspective/ba-p/14297939" target="_blank"><SPAN>SAP BTP - Integration Advisor - (MIG & MAG) from a... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-integration-suite-tpm-b2b-passthrough-scenarios/ba-p/14035233" target="_blank"><SPAN>SAP Integration Suite - TPM - B2B PassThrough Scen... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/streamlining-b2b-integration-with-ai-powered-sap-cpi-accelerating-data/ba-p/14143578" target="_blank"><SPAN>Streamlining B2B Integration with AI-Powered SAP C... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/use-tpm-ia-ci-to-efficiently-manage-and-run-complex-b2b-transactions/ba-p/13565068" target="_blank"><SPAN>Use TPM, IA, CI to Efficiently Manage and Run Comp... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><P><SPAN> </SPAN></P><H3 id="toc-hId-1329935209"><STRONG>Integration Advisor</STRONG><SPAN> </SPAN></H3><P><SPAN>Blog posts focusing only on IA</SPAN><SPAN> </SPAN></P><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/beginner-s-guide-to-integration-advisor/ba-p/13629944" target="_blank"><SPAN>Beginner's Guide to Integration Advisor - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/base-overlay-mappings-for-integration-advisor/ba-p/14017329" target="_blank"><SPAN>Base-/Overlay Mappings for Integration Advisor - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/creating-migs-and-mags-using-integration-advisor-in-sap-btp-cockpit/ba-p/14143413" target="_blank"><SPAN>Creating MIGs and MAGs Using Integration Advisor i... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-automotive-edifact-subsets-jaif-odette-vda-now/ba-p/13501082" target="_blank"><SPAN>Integration Advisor – Automotive EDIFACT Subsets (... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-change-in-namespace-handling-of-root-node/ba-p/13559421" target="_blank"><SPAN>Integration Advisor – change in namespace handling... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-complex-mapping-code-for-dimension-conversion-in-sap/ba-p/14222344" target="_blank"><SPAN>Integration Advisor: complex mapping code for dime... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-create-1-1-mapping-elements-in-mag-editor/ba-p/14300369" target="_blank"><SPAN>Integration Advisor – Create 1:1 Mapping Elements ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-download-mag-simulation-result-as-edi-payload/ba-p/14177249" target="_blank"><SPAN>Integration Advisor – Download MAG Simulation Resu... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-gs1-xml-messages-and-namespace-support/ba-p/13570459" target="_blank"><SPAN>Integration Advisor – GS1 XML Messages and Namespa... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-gs1-xml-messages-of-the-version-2-x-series-ean-ucc/ba-p/14295817" target="_blank"><SPAN>Integration Advisor – GS1 XML Messages of the vers... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-direct-support-of-edi-payloads/ba-p/13779418" target="_blank"><SPAN>Integration Advisor – direct support of EDI payloa... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-early-un-edifact-versions-with-syntax-version-2-now/ba-p/14233189" target="_blank"><SPAN>Integration Advisor: Early UN/EDIFACT Versions wit... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-extended-support-for-custom-idocs/ba-p/13574171" target="_blank"><SPAN>Integration Advisor – extended support for Custom ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-extended-semantic-validation-options-for-mig-structures/ba-p/13533283" target="_blank"><SPAN>Integration Advisor – Extended semantic validation... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-functions-at-target-side-ordinal-number-for-line-items/ba-p/13464362" target="_blank"><SPAN>Integration Advisor: Functions at target side - Or... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-list-of-supported-xslt-elements-and-xpath-functions/ba-p/13514797" target="_blank"><SPAN>Integration Advisor - List of supported XSLT eleme... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-mapping-element-functions-the-use-of-xsl-copy-xsl-copy/ba-p/13514939" target="_blank"><SPAN>Integration Advisor – Mapping element functions, t... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-mapping-element-functions-for-comparing-nodes-and/ba-p/13515375" target="_blank"><SPAN>Integration Advisor – Mapping element functions fo... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-mag-how-to-create-if-then-else-statements-in-mapping/ba-p/13492590" target="_blank"><SPAN>Integration Advisor – MAG: How to create If-Then-E... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-mig-qualification-based-on-multiple-qualifiers/ba-p/13519946" target="_blank"><SPAN>Integration Advisor – MIG Qualification based on m... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-multi-payload-support-for-mig-creation/ba-p/14151474" target="_blank"><SPAN>Integration Advisor – multi-payload support for MI... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-new-b2b-library-content-for-gs1-eancom-cxml-and-asc-x12/ba-p/14138966" target="_blank"><SPAN>Integration Advisor – new B2B Library content for ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-now-gs1-eancom-library-available/ba-p/13427011" target="_blank"><SPAN>Integration Advisor – Now GS1 EANCOM Library avail... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-odette-message-standard/ba-p/13478984" target="_blank"><SPAN>Integration Advisor – Odette Message Standard - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-overview-of-components-for-building-b2b-integration/ba-p/13512772" target="_blank"><SPAN>Integration Advisor: Overview of components for bu... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-payload-based-qualification-at-time-of-mig-creation/ba-p/13990599" target="_blank"><SPAN>Integration Advisor – payload-based qualification ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-quickly-create-your-individual-code-value-mappings-in/ba-p/13422010" target="_blank"><SPAN>Integration Advisor - Quickly create your individu... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-support-for-multi-value-qualification-in-migs/ba-p/13481536" target="_blank"><SPAN>Integration Advisor - support for multi-value Qual... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-support-of-xcbl-messages/ba-p/13945779" target="_blank"><SPAN>Integration Advisor – Support of xCBL Messages - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-tradacoms-message-standard/ba-p/13574197" target="_blank"><SPAN>Integration Advisor – Tradacoms Message Standard - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integration-advisor-use-custom-xslt-as-mag/ba-p/14280963" target="_blank"><SPAN>Integration Advisor – Use Custom XSLT as MAG - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-advisor-using-the-pre-transformation-feature-within-a-mapping/ba-p/13606186" target="_blank"><SPAN>Integration Advisor: Using the Pre-Transformation ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-content-advisor-create-a-customized-interface-using-mig-editor/ba-p/13354699" target="_blank"><SPAN>integration content advisor: Create a customized i... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-content-advisor-create-a-mapping-using-mag-editor/ba-p/13424264" target="_blank"><SPAN>integration content advisor: Create a mapping usin... - SAP Community</SPAN></A><SPAN> </SPAN><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/integration-content-advisor-the-importance-of-customized-codelists-in/ba-p/13405597" target="_blank"><SPAN>integration content advisor: The importance of cus... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/how-to-provide-read-only-access-to-integration-advisor/ba-p/13931556" target="_blank"><SPAN>How to Provide Read-only Access to Integration Adv... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/restoring-the-hierarchical-order-of-a-flattened-source-message-via-the-pre/ba-p/13553678" target="_blank"><SPAN>Restoring the hierarchical order of a flattened so... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-is-ia-cpi-the-commander-s-blueprint-rebuilding-b2b-edi-governance/ba-p/14304535" target="_blank"><SPAN>SAP BTP - IS - ( IA | CPI ) - The Commander's Blue... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/support-for-asc-x12-subsets-vics-etc-in-integration-advisor/ba-p/14018929" target="_blank"><SPAN>Support for ASC X12 Subsets (VICS etc.) in Integra... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/streamlining-b2b-integration-with-ai-powered-sap-cpi-accelerating-data/ba-p/14143578" target="_blank"><SPAN>Streamlining B2B Integration with AI-Powered SAP C... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/taming-the-x12-856-message-in-sap-integration-advisor-a-step-by-step-guide/ba-p/14115410" target="_blank"><SPAN>Taming the X12 856 message in SAP Integration Advi... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/using-edi-envelopes-in-integration-advisor/ba-p/13915328" target="_blank"><SPAN>Using EDI Envelopes in Integration Advisor - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><P><SPAN> </SPAN></P><H3 id="toc-hId-1133421704"><STRONG>Trading Partner Management </STRONG></H3><P><SPAN>Blog posts focusing only on TPM</SPAN><SPAN> </SPAN></P><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/archiving-b2b-messages-from-sap-integration-suite-in-cmis-repository/ba-p/14308874" target="_blank"><SPAN>Archiving B2B Messages from SAP Integration Suite ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/b2b-data-exchange-using-trading-partner-management-tpm-in-sap-cpi/ba-p/13547233" target="_blank"><SPAN>B2B data exchange using Trading Partner Management... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/custom-message-mapping-tpm-b2b-sap-integration-suite/ba-p/14021014" target="_blank"><SPAN>Custom Message Mapping - TPM - B2B - SAP Integrati... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/custom-search-attributes-in-sap-b2b/ba-p/14185605" target="_blank"><SPAN>Custom Search Attributes in SAP B2B - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/integration-blog-posts/integrating-cloud-application-lifecyle-management-calm-with-trading-partner/ba-p/14305621" target="_blank"><SPAN>Integrating Cloud Application Lifecyle Management ... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/guide-for-migrating-pi-po-b2b-mappings-to-integration-suite-b2b-tpm/ba-p/14186491" target="_blank"><SPAN>Guide for migrating PI/PO B2B mappings to Integrat... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/reusing-sap-pi-po-b2b-mapping-content-in-cloud-integration-trading-partner/ba-p/14147241" target="_blank"><SPAN>Reusing SAP PI/PO B2B mapping content in Cloud Int... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-cloud-integration-b2b-restart-retry-messages-b2b-monitor/ba-p/13969611" target="_blank"><SPAN>SAP Cloud Integration : B2B - Restart/Retry Messag... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-trading-partner-management-part-i-tpm-overview/ba-p/13876443" target="_blank"><SPAN>SAP Trading Partner Management - Part I: TPM overv... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-trading-partner-management-part-ii-data/ba-p/13897146" target="_blank"><SPAN>SAP Trading Partner Management - Part II: Data - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-trading-partner-management-part-iii-partner-configuration/ba-p/13888572" target="_blank"><SPAN>SAP Trading Partner Management - Part III: Partner... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-trading-partner-management-part-iv-agreement/ba-p/13961055" target="_blank"><SPAN>SAP Trading Partner Management - Part IV: Agreemen... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/sap-cloud-integration-trading-partner-management-tpm-as2-to-sap-idoc/ba-p/13626099" target="_blank"><SPAN>SAP Cloud Integration - Trading Partner Management... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/troubleshooting-sap-btp-tpm-debugging-step-1b-and-xslt-transformations/ba-p/13873114" target="_blank"><SPAN>Troubleshooting SAP BTP TPM: Debugging Step 1b and... - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><UL><LI><A href="https://community.sap.com/t5/technology-blog-posts-by-members/using-trading-partner-management-with-ai/ba-p/14139457" target="_blank"><SPAN>Using Trading Partner Management with AI - SAP Community</SPAN></A><SPAN> </SPAN></LI></UL><P> </P><H3 id="toc-hId-936908199"><STRONG>Summary </STRONG></H3><P><SPAN>This collection brings together key insights, best practices, and technical deep dives on B2B integration using SAP Integration Factory, helping you design, implement, and optimize your B2B integration landscape. If you feel a relevant topic or blog post is missing, please let us know in the comments—we’re happy to expand the list and keep this collection current and comprehensive.</SPAN><SPAN> </SPAN></P>2026-02-19T10:22:28.687000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/best-practices-and-guidelines-in-sap-integration-suite/ba-p/14331402Best practices and guidelines in SAP Integration Suite2026-02-19T16:00:00.019000+01:00JoseBastidashttps://community.sap.com/t5/user/viewprofilepage/user-id/3227<P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Best practices and guidelines in SAP Integration Suite.png" style="width: 799px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374074i0993D7E72550BA03/image-size/large?v=v2&px=999" role="button" title="Best practices and guidelines in SAP Integration Suite.png" alt="Best practices and guidelines in SAP Integration Suite.png" /></span></P><P>Let’s be real. Integration can either feel like elegant orchestration… or controlled chaos.</P><P>That’s why we’re hosting <STRONG>“Best practices and guidelines in SAP Integration Suite”.</STRONG> This session goes beyond theory. We’ll explore how SAP Cloud Integration (CPI) fits into modern enterprise architecture and how to apply recommended integration patterns across SAP-to-SAP, SAP-to-non-SAP, and hybrid scenarios.</P><P>Plus, we’ll dive into the details that actually matter in projects: secure connectivity, smart scripting, message processing, monitoring, and alerting. The stuff that keeps your integrations stable at 2 a.m. when no one wants surprises.</P><P>Think of it like designing highways between systems. Good design means smooth traffic. Poor design? Bottlenecks everywhere.</P><P>If you’re building or optimizing integrations for customers, this session will give you clarity and confidence.</P><P>Register now and let’s build integrations that scale with purpose. <A href="https://partneredge.sap.com/en/library/education/psd/2026/feb/e_oe_te_w_PSD_WEB_00013114.html" target="_blank" rel="noopener noreferrer">https://partneredge.sap.com/en/library/education/psd/2026/feb/e_oe_te_w_PSD_WEB_00013114.html</A></P><P>#SAP #SAPBTP #SAPIntegrationSuite #SAPCloudIntegration #SAPPartners #DigitalTransformation #HybridIntegration</P>2026-02-19T16:00:00.019000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/where-your-ideas-shape-sap-btp-become-part-of-the-sap-customer-engagement/ba-p/14331928Where Your Ideas Shape SAP BTP: Become Part of the SAP Customer Engagement Initiative 2026-12026-02-19T16:02:40.549000+01:00nadine_phttps://community.sap.com/t5/user/viewprofilepage/user-id/762608<DIV><H2 id="toc-hId-1790422673"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BTP.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374310iA6A03B3522AA3A9E/image-size/large?v=v2&px=999" role="button" title="BTP.png" alt="BTP.png" /></span></H2><P>SAP Business Technology Platform is reshaping how organizations innovate. By unifying application development, automation, data and analytics, integration, and AI, it empowers businesses to build smarter, more efficient, and more adaptable solutions.</P><P>Now, you can help shape what comes next.</P><P><STRONG>Cycle 1 of the SAP Customer Engagement Initiative for 2026 is now open</STRONG>, giving you as SAP customers and partners the opportunity to directly influence the future of SAP BTP. Collaborate with SAP product teams and developers, share feedback early, and help guide upcoming capabilities and improvements.</P><P>This isn’t just early insight - it’s your chance to impact the direction of enterprise technology.</P><P><STRONG>Registration is open until March 13, 2026. </STRONG></P><P>Check out the full list <A href="https://influence.sap.com/sap/ino/#/campaign/880" target="_blank" rel="noopener noreferrer">here</A> or follow the links below to discover the exciting opportunities:</P><UL><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4170" target="_blank" rel="noopener noreferrer">AI-powered Code Upgrade Automation</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4126" target="_blank" rel="noopener noreferrer">BPTX Early Insights</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4163" target="_blank" rel="noopener noreferrer">Customize SAPUI5 apps for business users - provide feedback on new and planned features</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4120" target="_blank" rel="noopener noreferrer">SAP BTP Developer's Guide</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4123" target="_blank" rel="noopener noreferrer">SAP BTP: Improving the Admin's and Solution Architect's Experience</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4124" target="_blank" rel="noopener noreferrer">SAP Integration Suite</A></U></LI><LI><U><A href="https://influence.sap.com/sap/ino/#campaign/4162" target="_blank" rel="noopener noreferrer">Validate MCP Hub</A></U></LI></UL><P>Let’s shape the future together!</P><P>Innovation happens through collaboration. By participating in the SAP Customer Engagement Initiative projects, you help SAP create better, more relevant solutions for businesses like yours. This is your chance to influence what comes next.</P><P>Don’t miss out – sign up today at influence.sap.com and be a part of the SAP Customer Engagement Initiative Cycle 1 in 2026!</P><P>Warm regards, <BR />Your SAP Customer Engagement Initiative Team </P><P><EM>Follow-up after registration: When you register for a project, you will be invited to an introductory call</EM><EM> </EM><EM>with the SAP project lead. At this point further participation is optional. Typically, all activities are governed by the</EM><EM> </EM><A href="https://d.dam.sap.com/a/MvteHxp/Public%20Info%20on%20FBA_09_2024.pdf?rc=10&inline=true" target="_blank" rel="noopener noreferrer"><EM>Feedback Agreement with SAP</EM></A><EM>.</EM> </P></DIV>2026-02-19T16:02:40.549000+01:00https://community.sap.com/t5/integration-blog-posts/integrating-using-google-cloud-storage-adapter-gcp-authentication-amp/ba-p/14327327Integrating Using Google Cloud Storage Adapter (GCP Authentication & adapter config)2026-02-20T10:23:33.844000+01:00MirunaliniVhttps://community.sap.com/t5/user/viewprofilepage/user-id/2070297<P class="lia-align-center" style="text-align: center;"><STRONG><FONT size="1 2 3 4 5 6 7">Google Storage Adapter</FONT></STRONG></P><P class=""><STRONG><FONT size="1 2 3 4 5 6 7">Introduction to GCS (Google Cloud Storage) :</FONT></STRONG></P><P class=""><FONT size="1 2 3 4 5 6 7">GCS is a robust and RESTful service for storing and retrieving the data like documents, videos and photos. It stores as a object and provides high performance designed specifically for enterprises. GCS also provide encryption/ decryption capabilities. </FONT><FONT size="1 2 3 4 5 6 7">Our Integration suites provides a adapter to connect with GCS in accessing the object. </FONT><FONT size="1 2 3 4 5 6 7">In this blog, we are going to see how to create service account in Google cloud platform and use it in SAP integration suite for authentication and basic configuration for uploading and retrieving a file.</FONT></P><P class=""><STRONG><FONT size="1 2 3 4 5 6 7">Advantages of using GCS Adapter: </FONT></STRONG></P><UL><LI><FONT size="1 2 3 4 5 6 7">Integration suite has built-in for GCS adapter, so no need to manually construct REST endpoints.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Built-in support for Buckets and Object operation.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">No manual OAuth token handling and no custom scripts for token generation.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Config driven Object operations like upload (Put Object), Download (Get Object), Delete Object and List Objects.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Few integration steps and faster development.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Built-in Error handling and Validation. The adapter Validates bucket and Object Configuration.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Dynamic File and Path Handling. You can dynamically define Buckets. Object Paths and File names.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Key security benefits includes secure key storage and compliance with SAP security Standards</FONT></LI></UL><P><FONT size="2"><STRONG><FONT face="arial,helvetica,sans-serif">How to get Create Service Account ?</FONT></STRONG></FONT></P><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Step 1: <STRONG>Create Service Account in GCP</STRONG></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Navigate to IAM & Admin -> Service Accounts.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Click service account and give a name and add required roles. (You need ‘Storage Object Admin’ role for uploading and reading the file).</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (1).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372248iA1886134C4D04A3C/image-size/large?v=v2&px=999" role="button" title="image (1).png" alt="image (1).png" /></span></FONT></P><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Step 2: <STRONG>Generating Key</STRONG></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Click on the email that’s been created on service accounts.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">In the Keys tab, Click ‘Add key’. (Create or upload key).</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Generate and download. (You have an option to download JSON or p12 file).</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (2).png" style="width: 874px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372250i76F079AD5DC8038D/image-size/large?v=v2&px=999" role="button" title="image (2).png" alt="image (2).png" /></span></FONT></P><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><STRONG>Note</STRONG>: If your organisation does not allow downloading the JSON key or P12 you will have to change the org policies. To override you should use Tag.</FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Navigate to your Org from ‘Project Picker’.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Move to Tag menu.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Create a Tag key (eg: EnableServiceKeyCreation). Open the Tag Key that you created now.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Create Tag values for the Tag Key. (Eg: true, false).</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (3).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372252i3E6E3837DA44519E/image-size/large?v=v2&px=999" role="button" title="image (3).png" alt="image (3).png" /></span></FONT></P><P><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Attaching the Tag to your Project:</FONT></STRONG></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Navigate to Manage resources and select your Project.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Click on the ‘Tag’ and your Org in ‘Select scope for your tags’.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Now in the ‘key 1’ you can see the tag key you created earlier listed. And its corresponding values in the ‘Value1’ drop down.</FONT></LI><LI><FONT size="1 2 3 4 5 6 7">Select whether you want enable/disable the service account creation.</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (6).png" style="width: 847px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372253iFF09D442F527DB78/image-size/large?v=v2&px=999" role="button" title="image (6).png" alt="image (6).png" /></span></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Select ‘Organisation Policies’ and select ‘iam.managed.disableServiceAccountCreation’.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Click Manage policy.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Change to ‘Override Parent Policy’.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">To override you need to configure the policy with Rule. One for ‘Enforcement’ and one for ‘Not enforced’</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Any one rule has to be default.</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (4).png" style="width: 684px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372256i78DF7749248F01C2/image-size/large?v=v2&px=999" role="button" title="image (4).png" alt="image (4).png" /></span></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Condition needs to added for any one of the rule. Here in this example, I have added the key and if the tag value true then the policy will be enforced.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Click Save</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (5).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372257iD325B8444C3CA640/image-size/large?v=v2&px=999" role="button" title="image (5).png" alt="image (5).png" /></span></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Click ‘Set Policy’. ( you will need Org Policy admin, Org Admin, Org Viewer, cloud asset, Tag Admin roles). Only after this you can download the JSON or P12.</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Step 3: <STRONG>Creating Private key alias</STRONG></FONT></P><P><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">P12 file :</FONT></STRONG></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">you can just download the file and a password with be given by the GCS.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Upload the file as Key pair in SAP Integration Suite and give a name for the alias and enter the same password that GCS given to you.</FONT></LI></UL><P><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">JSON File:</FONT></STRONG></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Extract the private key from the JSON. (Remove the /n and “).</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Save it as <filename>.pem</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Create ‘public certificate’</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Create p12 file</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Now, upload this p12 file as Key pair in SAP Integration Suite and give the name for alias and enter the same password that you set before.</FONT></LI></UL><P><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">How to Configure the Adapter:</FONT></STRONG></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Use the alias we created in the ‘Private Key Alias’ and the service account email that was created in GCS.</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (7).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372244i39DCF3211FFE62A7/image-size/large?v=v2&px=999" role="button" title="image (7).png" alt="image (7).png" /></span></FONT></P><P><FONT size="2"><STRONG><FONT face="arial,helvetica,sans-serif">How to configure Google Storage Receiver adapter to Upload a file?</FONT></STRONG></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Operation : Create to upload a file.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Directory: Folder path to upload file.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Object Name : file name</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Content type: file content type</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Existing file handling:</FONT><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">override - Creates a new object or replaces the object with new one.</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Ignore - Skip object creation and no error</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Fail - throws error</FONT></LI></UL></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (8).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372242iE44B71D70B7857F1/image-size/large?v=v2&px=999" role="button" title="image (8).png" alt="image (8).png" /></span></FONT></P><P><FONT size="2"><STRONG><FONT face="arial,helvetica,sans-serif">How to Configure the Google Storage Sender to read a file?</FONT></STRONG></FONT></P><UL><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Directory: Folder to read the file from</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Object Name: File name to read</FONT></LI><LI><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">Post processing: after processing you can Archive or delete or keep the object.</FONT></LI></UL><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image (9).png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/372241i4FFA72A4E54029ED/image-size/large?v=v2&px=999" role="button" title="image (9).png" alt="image (9).png" /></span></FONT></P><P>After deploying your Iflow you can see the file is created / retrieved to/from your specified location in GCS. Explore more on the object where you can do archive or delete the file once it is fetched by the Iflow.</P><P><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><FONT size="3"><STRONG>Useful Links:</STRONG></FONT> </FONT></P><P><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7">SAP Documentation: </FONT></STRONG><STRONG><FONT face="arial,helvetica,sans-serif" size="1 2 3 4 5 6 7"><A title="SAP Google Storage Adapter Guide" href="https://api.sap.com/package/GoogleCloudStorageAdapterforSAPIntegrationSuite/documents" target="_blank" rel="noopener noreferrer">SAP Google Storage Adapter Guide</A> | <A title="SAP Google Storage Adapter Help" href="https://help.sap.com/docs/integration-suite/sap-integration-suite/google-cloud-storage-adapter?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Google Storage Adapter Help</A> </FONT></STRONG></P>2026-02-20T10:23:33.844000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/using-adapter-http-response-403-for-odata-api-post-method-how-to-solve-the/ba-p/14333246Using Adapter HTTP - Response 403 for OData API Post Method- How to solve the big challenge2026-02-21T11:06:08.764000+01:00Yoganandahttps://community.sap.com/t5/user/viewprofilepage/user-id/75<DIV>Connecting SAP S/4 HANA or ERP systems with external applications using OData services is becoming the backbone of modern enterprise integrations. Tools such as <STRONG>SAP Cloud Integration (CPI)</STRONG> or <STRONG>Integration Suite’s using HTTP Adapter</STRONG> make it easy to consume or <SPAN>expose APIs—until you hit a frustrating roadblock:</SPAN><DIV><BLOCKQUOTE><P><FONT color="#FF0000"><STRONG>“HTTP 403 – Forbidden” when calling an OData API POST method.</STRONG></FONT></P></BLOCKQUOTE><P>This error is notoriously deceptive. Your GET requests work fine. Your endpoint is correct. Your payload is correct. Yet POST still fails.<BR />Why?</P><P>In this blog, we’ll break down <STRONG>why <FONT color="#FF0000">HTTP 403 happens</FONT></STRONG><FONT color="#FF0000">,</FONT> <STRONG>what makes POST requests special</STRONG>, and—most importantly—<STRONG>how to solve this challenge with proven, real-world fixes</STRONG>.</P></DIV></DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-16_20-20-23.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374961i951DD275017D4977/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="2026-02-16_20-20-23.png" alt="2026-02-16_20-20-23.png" /></span></P><DIV><H2 id="toc-hId-1790475588"><STRONG>1. <FONT color="#993300">Understanding the 403 Forbidden Error</FONT></STRONG></H2><P>A <STRONG>403 Forbidden</STRONG> response means:</P><BLOCKQUOTE><P>The server understood your request but refuses to authorize it.</P></BLOCKQUOTE><P>In the context of OData POST calls via the HTTP adapter, this almost always indicates an <STRONG>authorization</STRONG>, <STRONG>CSRF</STRONG>, or <STRONG>policy-related</STRONG> issue.</P></DIV><DIV><H2 id="toc-hId-1593962083"><STRONG>2. <FONT color="#993300">Why GET Works but POST Fails</FONT></STRONG></H2><P>Many developers test an OData service with a GET call, find that it works, and assume the setup is correct. But POST behaves differently because it:</P><UL><LI><STRONG>Modifies data</STRONG>, triggering stricter authorization checks</LI><LI><STRONG>Requires CSRF token handling</STRONG> (depending on the endpoint)</LI><LI>May require <STRONG>additional headers</STRONG></LI></UL><P>This is why GET succeeding does <EM>not</EM> prove the integration is fully configured.</P></DIV><DIV><H2 id="toc-hId-1397448578"><STRONG>3. <FONT color="#993300">The Top Causes of HTTP 403 for OData POST (and How to Fix Them)</FONT></STRONG></H2><H3 id="toc-hId-1330017792"><STRONG>Cause 1 — Missing or Incorrect CSRF Token</STRONG></H3><P>Many SAP OData services require a valid <STRONG>X-CSRF-Token</STRONG> for <FONT color="#FF00FF">POST/PUT/PATCH/DELETE.</FONT></P><P>✔ <STRONG>Solution:</STRONG><BR />Perform a <STRONG>GET request with header</STRONG>:</P></DIV><pre class="lia-code-sample language-abap"><code>X-CSRF-Token: Fetch</code></pre><DIV><DIV><P>and capture:</P><UL><LI>Returned CSRF token</LI><LI>Returned cookies</LI></UL><P>Then send them along in your POST call:</P></DIV></DIV><pre class="lia-code-sample language-abap"><code>X-CSRF-Token: <token>
Cookie: <cookies></code></pre><DIV><H3 id="toc-hId-1133504287"><STRONG>Cause 2 — Incorrect or Missing Headers</STRONG></H3><P>Some OData services enforce additional constraints.</P><P>Mandatory headers may include:</P><PRE><CODE>Content-Type: application/json
Accept: application/json</CODE></PRE></DIV><DIV><H2 id="toc-hId-807908063"><STRONG>4. How to Troubleshoot 403 Efficiently</STRONG></H2><H3 id="toc-hId-740477277"><STRONG>Step 1 — Test POST via Postman</STRONG></H3><UL><LI>Fetch CSRF token first</LI><LI>Send cookies + token in POST</LI><LI>Add all required headers</LI></UL><DIV><H3 id="toc-hId-543963772"><STRONG>Step 2 — Check SAP Gateway Error Logs</STRONG></H3><P>Use transaction <STRONG>/IWFND/ERROR_LOG</STRONG> or <STRONG>/IWBEP/ERROR_LOG</STRONG>.</P><P>You may see:</P><UL><LI>"No CREATE authorization"</LI><LI>"CSRF Token validation failed"</LI><LI>"Request method not allowed"</LI></UL><P>These messages are extremely helpful.</P></DIV></DIV><DIV><H2 id="toc-hId-218367548"><FONT color="#993300"><STRONG>5. Example Adapter HTTP Configuration for POST (CPI)</STRONG></FONT></H2><H3 id="toc-hId-150936762"><STRONG>Headers</STRONG><SPAN> </SPAN></H3></DIV><pre class="lia-code-sample language-abap"><code>Method: POST
Content-Type: application/json
Accept: application/json
X-CSRF-Token: <fetched token>
Cookie: <SAP cookies></code></pre><DIV>Body (Example)</DIV><pre class="lia-code-sample language-abap"><code>{
"Name": "Sample Item",
"Quantity": 10
}</code></pre><H2 id="toc-hId-172594895">Set Header for Cookie + CSRF token <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-21_10-48-43.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374958i031B49CEE0F5D5CE/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="2026-02-21_10-48-43.png" alt="2026-02-21_10-48-43.png" /></span></H2><H2 id="toc-hId--23918610"> Groovy Script 1(Shown from above Iflow image)</H2><pre class="lia-code-sample language-java"><code>import com.sap.gateway.ip.core.customdev.util.Message;
def Message processData(Message message) {
def headers = message.getHeaders();
def cookie = headers.get("Set-Cookie");
def csrf = headers.get("x-csrf-token");
StringBuffer bufferedCookie = new StringBuffer();
for (Object item : cookie)
{
bufferedCookie.append(item + "; ");
}
message.setHeader("Cookie", bufferedCookie.toString());
message.setHeader("x-csrf-token", csrf)
return message
}</code></pre><H2 id="toc-hId--220432115">POST Method <span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-21_10-52-56.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374960i7691E0FCEACED76A/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="2026-02-21_10-52-56.png" alt="2026-02-21_10-52-56.png" /></span></H2><P><FONT color="#FF6600"><STRONG>Session handling</STRONG></FONT><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-22_09-25-40.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/375098i26B6A77B7FEAFDEC/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="2026-02-22_09-25-40.png" alt="2026-02-22_09-25-40.png" /></span></P><P><STRONG>On Exchange: </STRONG>If this configuration option is selected, the session will be re-used for the whole processing of one message, meaning for one message exchange. This makes sense if the integration flow executes several calls to the same backend during one message exchange, for example in case of a loop or multicast scenario. Then the subsequent calls are much faster because no authentication is to be executed. It can also be used if the server keeps a state and you want to connect several times to the stateful service within one exchange</P><H2 id="toc-hId--416945620"><FONT color="#993300"><STRONG>6. Conclusion – Turning a Frustrating 403 into a Successful POST</STRONG></FONT></H2><P>The <STRONG>HTTP 403 Forbidden</STRONG> error for OData POST calls is one of the most common yet misunderstood issues when integrating SAP systems. But once you understand:</P><UL><LI>CSRF handling</LI><LI>Role/authorization requirements</LI><LI>Header and policy rules</LI><LI>Gateway restrictions</LI></UL><P>…the problem becomes easy to solve.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-21_10-46-10.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374956iE509568CB3CB28EB/image-size/large/is-moderation-mode/true?v=v2&px=999" role="button" title="2026-02-21_10-46-10.png" alt="2026-02-21_10-46-10.png" /></span></P><P>Following the troubleshooting guidelines above will help you quickly identify the root cause and ensure your POST requests work reliably—whether you're integrating via CPI, API Management, BTP, or direct HTTP calls.</P>2026-02-21T11:06:08.764000+01:00