Hello Community,
We're currently building a solution based on RAP unmanaged (OData V4 & on-premise 2023 FPS3) + OData V4 + Fiori Elements List Reports with multiple view entityset (for SAP BUILD Workzone) — around 10 tiles depending on user profiles.
With the goal of being cloud compliant (that's why we exluded SEGW).
Our backend scenario doesn’t follow a typical RAP-unmanaged BO:
We don’t have a persistent Z-table representing the main BO. Instead, we expose a merged view of:
Each List Report is tied to a projection CDS/behavior with specific actions available (from main behavior): Approve, Reject, Confirm, etc.
Some complex Actions must be executed synchronously to orchestrate multiple steps, (committing or rollback ourselves depending rules between step) and return structured information (e.g., results & messages) to the UI. The frontend expects instant feedback and reacts to message type (S, W, E...) to guide the user. Example sequences :
We initially built RAP actions (with deep parameter) that return a complex response (deep result), for manage specifically result & messages in Fiori side. However, we quickly hit one RAP limitation :
So we tried using cl_abap_parallel (released class) or even function modules with DESTINATION 'NONE', which technically allowed us to run parts of the logic in a separate LUW and return structured results synchronously.
And see some others Posts using these kind of workaround solution.
👌 This completely solved our issues at runtime — enabling orchestration, feedback, and proper error control.
However, after discussing with SAP, we were clearly told this is not a long-term solution.
Such techniques are discouraged as they break the RAP LUW model and violate Clean Core principles.
Firstly :
"Trigger this logic in SAVE sequence via BGPF"
We did a full POC of this model and found several issues for our case:
Secondly :
Falling back to OData V2 SEGW (only for the action) and use Function Import POST — which gives us exactly what we need: a self-contained synchronous LUW with a structured response!
But as you know, SEGW is not released, so we aren't totally cloud compliante.
Today, this is the solution implemented. It kind of takes the soul out of our RAP implementation, which is frustrating 😅
How have you solved similar challenges?
We’ve created a SAP Influence post to support this request → https://influence.sap.com/sap/ino/#/idea/351633/?section=sectionDetails
Have a nice day.
Clément
Request clarification before answering.
We've reached the same, consistent conclusion: RAP can only address this issue through RAISE EVENTs, parallel processing, or background tasks. In other words, synchronous processing is not supported in the current version, which is the most inconsistent aspect of RAP.
What do you think, Andre Fischer?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
How about creating a custom (frontend) action that calls an independent REST endpoint on your ABAP server that executes all the required tasks?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello @MioYasutake,
Yes, I believe this effectively addresses the need.
Ideally, I would have preferred to keep everything within the RAP framework to ensure a single point of entry — with the added benefit of enabling full-backend usage via EML.
However, your approach offers a very flexible and pragmatic alternative, especially given our current use case.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.