Compact Feature Availability Matrix of ABAP Programming Models: RAP vs. BOPF vs. Gateway
During the openSAP course Developing and Extending SAP Fiori Elements Apps we got the question whether an OData Service as it was used in this course could be developed in other backend systems as well.
At the same time there was the ask for a feature comparison between the different ABAP Programming Models that have been delivered by SAP in the past and that are available now.
I had to admit that there is no such comparison / overview available.
So I thought that this is a nice topic for another blog post.
If there is an important scenario feature that I have missed, please let me know, so that I can update my blog post accordingly.
|SAP Gateway OData V2 framework||SAP Gateway OData V4 framework||ABAP Programming Model for SAP Fiori
|ABAP RESTful Application Programming Model
|ABAP RESTful Application Programming Model
≥ 1709(≥ NW 7.52)
≥ 1610(≥ NW 7.51)
|SAP BTP ABAP Environment||SAP S/4HANA
|Greenfield implementation||+||+||+||+||≥ 2020 FSP1|
|OData V4||−||+||−||+||≥ 2020 FSP1|
|Draft handling||−||−||+||+||≥ 2020 FSP1|
|Multi-Inline-Edit||−||−||+||+||≥ 2021 FSP1|
|Asynchronous OData V4 Requests||−||+||−||+||≥ 2020 FSP1|
|Backend annotations in CDS views||(+)||−||+||+||+|
|Backend annotations using code based implementation||+||+||(+)||−||−|
|Local annotations in SAP Fiori Tools||+||+||+||+||+|
(+) When using Referenced Data Source Approach (RDS)
With greenfield implementation we mean scenarios where no legacy coding is called. Such scenarios are also called managed since in this case the underlying framework takes care of all create, update and delete requests and stores them in the database.
With brownfield implementation we mean scenarios where existing legacy code such as a BAPI is being called by your service implementation in order to store the changed data in the database. Such scenarios are also called unmanaged. Another name for such scenarios are managed scenarios with a self implemented save.
ABAP RESTful Application Programming Model – RAP
for SAP BTP ABAP Environment
for SAP S/4HANA 1909 and later
ABAP Programming Model for SAP Fiori
SAP Gateway Framework
- SAP Gateway Foundation Developer Guide – SAP Help Portal – OData V2
- SAP Gateway Foundation for OData V4 Developer Guide
- SAP Gateway 2.0 SP12
Thanks for the detailed comparison.
Just one (cosmetic) remark: You should better use +/- instead of X/- (The current table is quite confusing).
Better now ?
Much better 👍
I would personally prefer X and space LOL
"SAP Gateway OData V2 framework" is available from 7.40, and "ABAP Programming Model for SAP Fiori (BOPF)" at least from 7.50, isn't it?
You are right, that was a typo. SAP Gateway Framework is actually available as an add on as of SAP NW 7.0.
BOPF as far as I know in not really usable in 7.50, that's why I have listed it here to be used as of 7.51.
At 7.50 is limited to using annotations in CDS, but it is usable.
I created a List Report application using BOPF in a 7.50 system just to know this limitation
As healthcare developers, we are limited to 7.50 systems.
Thanks for sharing in detail on availability of three models.
thanks, this helps.
When will Multi-Inline-Edit come to RAP onPrem? S/4 2020 FPS 02?
Andre Fischer - When will Multi-Inline-Edit come to RAP onPrem? Please adivse.
Thanks for this comparaison, which point a lack in SAP communication about SAP RAP : although it is available since 1909, it is not really useable until 2020.
In your comparaison, brownfield scenario is available in 1909, but I think that validation/determination is not available which is quite problematic and this is why I still use BOPF in 1909 for brownfield implementation. Maybe you could complete your comparaison with such information ?
validations / determinations are only useable in unmanaged implementations that also support draft. Support for draft for unmanaged implementations is however only supported as of 2020 FSP1 as well.
The use of BOPF for brownfield scenarios is not officially supported by SAP since it requires you to manipulate the save sequence.
I agree that the unmanaged approach in 1909 unfortunately lacks several features.
As an alternative I would however not point to BOPF but to use an implementation based on the referenced data source approach in SEGW instead.
I meant brownfield with draft which is hopefully supported by SAP since it is widely used in SAP application in 1909. 🙂
great blog thanks.
Am I correct in thinking RAP Custom Entities to access remote services, are only available in the BTP, not on-prem? Comparing SAP Help documentation it looks that way.
Are Custom Entities on the roadmap for RAP on-prem?
Thanks for sharing!