Skip to Content
Technical Articles

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
(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 + +
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 managed 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

11 Comments
You must be Logged on to comment or reply to a post.
  • Thanks for the detailed comparison.

    Just one (cosmetic) remark: You should better use +/- instead of X/- (The current table is quite confusing).

    • 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

        https://github.com/jrodriguez-rc/abap-tasks-tracker

        As healthcare developers, we are limited to 7.50 systems.

  • Hello Andre,

    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 ?

     

    Thanks,

    Louis-Arnaud

    • Hi Louis-Arnaud,

      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.

      Kind regards,

      Andre