The Business Context:
The expectation was simple: “Send data from BlueYonder and create/update records in S/4HANA.” But in reality, it was not that easy.
Introduction:
In real projects, integrations look simple on paper but behave very differently in production.
This blog is about a real-time problem I faced while integrating BlueYonder planning data into SAP S/4HANA Public Cloud using OData V2 Inbound.
The solution was understanding how OData V4 async processing works and using one small but powerful HTTP header.
In this blog, I will explain:
The Actual Problem
Initially, I implemented the integration in a synchronous way.
What Happened
The Key Issue
OData V2 APIs are synchronous by default. This means:
Design:
While analysing SAP documentation, I came across the asynchronous processing capability of OData V4. SAP provides a standard way to tell the backend: “Accept the request, process it in the background, and do not keep the connection open.”
This is done using the HTTP header: Prefer = respond-async
Step-by-Step Implementation :
Step 1: Receiving HighRadiusData in CPI
Data structure is aligned to OData V4 expectations At this point, the flow is still normal.
Step 2: Setting the Async Header (Most Important Step)
In CPI, I used a Content Modifier to add HTTP headers.
Header : Prefer Header Prefer = respond-async This header completely changes how the request is handled.
What Happens After Adding respond-async
Once this header is added:
Step 3: Posting Data via API Proxy
* Here, I had used OAuth 2.0 Authentication between Integration suite to API Proxy and between API Proxy and S/4 Hana public cloud I had used Certificate Based Authentication.
Note : OData V4 services do not appear in the API Provider’s service catalog in SAP API Management, so discovery isn’t possible — and that’s why I go with the URL method, so if you want to create proxy for OData V4 public cloud the correct approach is just go with the URL Option don’t fall for this pitfall.
If you want to leverage more on how to create API Proxy with URL option follow SAP Official Documentation.
Official documentation: {https://help.sap.com/docs/sap-api-management/sap-api-management/create-api-proxy-by-providing-direct...}
From CPI’s perspective:
No long-running connection is maintained

What Changed After This Implementation
Before Async
After Async
This was a real production-grade improvement, not just a theoretical change, I hope this helps you folks that don’t fall for this pitfall in your production.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 33 | |
| 21 | |
| 18 | |
| 16 | |
| 13 | |
| 12 | |
| 10 | |
| 9 | |
| 9 | |
| 9 |