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
(BOPF) |
ABAP RESTful Application Programming Model
(RAP) |
ABAP RESTful Application Programming Model
(RAP) |
Release |
SAP ECC
(NW ≥7.0) |
SAP S/4HANA
≥ 1709(≥ NW 7.52) |
SAP S/4HANA
≥ 1610(≥ NW 7.51) |
SAP BTP ABAP Environment |
SAP S/4HANA
≥ 1909 |
Greenfield implementation |
+ |
+ |
+ |
+ |
≥ 2020 FSP1 |
Brownfield implementation |
+ |
+ |
− |
+ |
+ |
OData V2 |
+ |
− |
+ |
+ |
+ |
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)
Greenfield implementation
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.
Brownfield implementation
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 m
anaged scenarios with a
self implemented save.
Releated Links
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
ABAP Platform and SAP Gateway Framework Release information