Skip to Content
Technical Articles

Getting Started with the ABAP RESTful Application Programming Model (RAP)

The ABAP RESTful Application Programming Model (RAP), aka ABAP RESTful Programming Model, is generally available in the cloud on SAP Business Technology Platform (BTP) ABAP Environment – formerly knows as SAP Cloud Platform ABAP Environment – as well as on-premise on SAP S/4HANA, starting with edition 1909.

This blog offers a collection of materials (e.g. presentations, tutorials and videos) to get started with the topic, and will be updated regularly.

Latest News: 
2021-02: SAP Community Post-SAP TechEd activities: DEV260 – Building Apps with RAP
2021-01: Free openSAP course Building Apps with the ABAP RESTful Application Programming Model now available in self-paced mode

/wp-content/uploads/2016/04/sapnwabline_930876.png

Introduction

The ABAP RESTful Application Programming Model (short: RAP) offers developers an efficient way to build enterprise-ready, SAP HANA-optimized, OData-based Fiori UI services and Web APIs in the cloud as well as on-premise. It is the evolutionary successor to the ABAP Programming Model for SAP Fiori.

The ABAP RESTful Programming Model is generally available in the SAP BTP ABAP Environment, and now also in SAP S/4HANA starting with the edition 1909. The feature scope in SAP Business Technology Platform (BTP) ABAP Environment – formerly known as SAP Cloud Platform ABAP environment – is enhanced on a quarterly basis on defined dates, while new capabilities are delivered in SAP S/4HANA on a yearly basis with new on-premise editions.

The greenfield development of OData-based services – i.e., starting from scratch – is supported with the so-called managed implementation type, whereas the brownfield development – i.e., based on existing code – is supported with the so-called unmanaged implementation type.

The key players in the ABAP RESTful Application Programming Model are:

ABAP Developments Tools in Eclipse Languages:
ABAP and CDS
Powerful
frameworks

The ABAP RESTful Application Programming Model comes with a set of development guides and best practices to facilitate the developer onboarding. The best practices are provided in the form of ready-to-use examples delivered with the ABAP Flight Reference Scenario (refer to the appropriate section below).

Availability:

  • SAP BTP ABAP Environment
  • SAP S/4HANA: Starting with edition 1909 and higher

Roadmap:

Back to the top/wp-content/uploads/2016/04/sapnwabline_930876.png

Official Documentation

This section provides links to the existing official documentation for the ABAP RESTful Application Programming Model (RAP) available in the SAP Help Portal.

For SAP BTP ABAP Environment

For SAP S/4HANA 1909 and later

Back to the top

/wp-content/uploads/2016/04/sapnwabline_930876.png

Recordings

Watch the following videos to get an overview of the ABAP RESTful Application Programming Model. Different system demonstrations on the greenfield development with the managed implementation are shown.

DEV260@SAP Community Post-SAP TechEd series in 2021, virtual event

Access the Exercises

DEV102@SAP TechEd in 2020, virtual event

Access the presentation

Major%20Updates%20on%20ABAP%20RESTful%20Application%20Programming%20Model%20%5BDEV102%5D

CAA103@SAP TechEd 2019, Las Vegas

Access the presentation

Further Recordings:

In the following videos, different system demonstrations on the greenfield application development with the managed runtime implementation type are shown.

SAP TechEd 2019, Las Vegas CAA103 – Get the Big Picture of the ABAP RESTful Programming Model
SAP TechEd 2019, Barcelona CAA103 – Get the Big Picture of the ABAP RESTful Programming Model

In the following videos, different system demonstrations on the brownfield application development with the unmanaged runtime implementation type are shown.

SAP TechEd 2018 CNA215 – Get the Big Picture of the ABAP RESTful Programming Model
SAP TechEd 2018 CNA216 – Technical Deep Dive into the ABAP RESTful Programming Model

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

ABAP Flight Reference Scenario

The ABAP Flight Reference Scenario is a new data model intended for demo purposes and use in training courses – mainly in the context of the ABAP RESTful Application Programming Model (RAP). It is a reloaded and adapted version of the well-known SAP NetWeaver Flight data model.

The ABAP Flight Reference Scenario offers several examples that can serve as reference implementations of the various capabilities provided by the RAP. It is not an integral part of the ABAP platform, but SAP – i.e. the ABAP Platform team –  makes it available and provides updates on GitHub. Therefore, it must be imported into the relevant ABAP systems before use.

The ABAP Flight Reference Scenario is available by default and ready for use on the free SAP BTP ABAP environment trial.

Learn more – SAP BTP ABAP Environment:

Learn more – SAP S/4HANA 1909 and later:

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

Tutorials for SAP Business Technology Platform (BTP) ABAP Environment

Get hands-on experience with the ABAP RESTful Application Programming Model in the cloud.

The majority of the following How-To-tutorials are based on the ABAP Flight Reference Scenario described in the previous section. Therefore, it must have been previously imported into your ABAP system.

Prerequisites:

Tutorials from the SAP Developer Center (Entry Point)

Access the available tutorial groups and missions.

  1. Building a transactional Fiori app using the unmanaged runtime implementation
  2. Building a transactional Fiori app using the managed runtime implementation
  3. Service Consumption Model: Connect Two Instances of SAP Cloud Platform, ABAP Environment

Development Guides from the SAP documentation (Entry Point)

  1. Downloading the ABAP Flight Reference Scenario* (cloud flavor)
  2. Developing an OData service for simple list reporting
  3. Developing read-only list reporting Apps
  4. Developing new unmanaged transactional apps based on existing application logic (unmanaged impl.)
  5. Developing new managed transactional apps (managed impl.)
  6. Developing new transaction apps with draft capabilities (managed impl.)
  7. Developing a Web API
  8. Developing a UI service with access to a remote service

(* The ABAP Flight Reference Scenario is already available on the free SAP BTP ABAP Environment trial.)

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

Tutorials for SAP S/4HANA 1909 and later

Get hands-on experience with the ABAP RESTful Application Programming Model in SAP S/4HANA.

The current on-premise feature scope covers only the brownfield development with the unmanaged implementation type. New capabilities will be provided with future SAP S/4HANA editions.*

The majority of the following How-To-tutorials are based on the ABAP Flight Reference Scenario described in the previous section. Therefore, it must have been previously imported into your ABAP system.

Prerequisites:

Tutorials from the SAP Developer Center (Entry Point)

Access the available tutorial groups.

  1. Building a transactional Fiori app using the unmanaged runtime implementation
  2. Building a transactional Fiori app using the managed runtime implementation

Development Guides from the SAP documentation (Entry Point)

  1. Downloading the ABAP Flight Reference Scenario (on-premise flavor)
  2. Developing an OData service for simple list reporting
  3. Developing read-only list reporting apps
  4. Developing new managed transactional apps (managed impl.)
  5. Developing new transaction apps with draft capabilities (managed impl.)
  6. Developing new unmanaged transactional apps based on existing application logic (unmanaged impl.)
  7. Developing a Web API

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

Courses

openSAP

 

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

Frequently Asked Questions (FAQ)

Find the answers to the most frequently asked questions around RAP here.

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

Related Resources

This section provides useful links to related resources and learning materials to deepen your knowledge.

Back to the top
/wp-content/uploads/2016/04/sapnwabline_930876.png

* This is the current state of planning which may change at any time without further notice from SAP. Find more information in the ABAP Platform Roadmap


Last update: January 2021

16 Comments
You must be Logged on to comment or reply to a post.
  • Nice collection,all in one place. Thanks for your efforts.

    Do you know where we can find the list of whitelisted objects for ABAP PaaS (availability), the list must be growing.

    • Hello Salil,

      Thanks for the feedback.

      You can use one of the following options to gain an overview of the released objects in SAP Cloud Platform ABAP Environment:

      1. Create a Released Objects’ tree in ADT Project Explorer.
        This blog shows how to define ABAP Repository trees in ADT: https://blogs.sap.com/2016/10/19/displaying-relevant-objects-project-explorer/  ->
      2. Start the data preview (F8) for the released CDS interface view I_APISFORSAPCLOUDPLATFORM to display the APIs released for use in SAP Cloud Platform.

      I hope this helps!

      Kind regards,
      Carine

      • Hi Carine,

         

        I can see Rest ABAP Programming Model in SAP S/4 HANA OP 1809 FSP01 version for all ACR reports. Can we develop ABAP Restful services in 1809 OP version too or is there any restriction?

  • Thanks Carine !!!

    Carine Tchoutouo Djomo - Couple of questions on this model and strategy that SAP is moving towards:

    1. Is this applicable to only SCP – ABAP Runtime Instance where you can locally query the tables in SCP and provide them as a service for consumption?
    2. How does this Programming model impact the S4 on-prem systems? In What scenarios we would use this on-prem?
    3. In On-Prem / Could we can define CDS View and then expose them as oData through annotations and this can be consumed in WebIDE for Fiori apps? I do not fully understand the difference between these 2 approaches. What's the additional benefit with this approach from the traditional way? Can you shed some light?
    • Hi Raj,

      you‘re welcome.

      Let me go through your questions.

      1. The ABAP RESTful Programming Model (refered as RAP below) enables the efficient development of SAP HANA-optimized, OData-based Fiori UI services and Web API in the SAP Cloud Platform ABAP Environment and in SAP S/4HANA.
      2. RAP is the evolutionary development of the ABAP Programming Model for SAP Fiori. Read more my blog about the Evolution of the ABAP Programming Model.
        SAP opted for a cloud-first shipment approach of RAP, but it is also available on-premise starting with SAP S/4HANA 1909.
        Currently only the unmanaged implementation type for brownfield application development based on legacy business logic is supported in SAP S/4HANA. The feature scope will be enhanced with the next major SAP S/4HANA release in 2020. It will comprise the managed implementation type for greenfield application development.
        The RAP feature scope is enhanced on a quartely basis in the SAP Cloud Platform ABAP Environment.
      3. Here are two major changes in comparison to the ABAP Programming Model for SAP Fiori:
        With RAP, a new ABAP artefact, the Service Definition (R3TR SRVD), has been introduced to enable a protocol-agnostic service scope definition. A service definition is highly reusable. Its binding to a given protocol and a given scenario – i.e. UI service or Web API – is done with a Service Definition (R3TR SVRB); a new ABAP artefact.
        Beside that, the ABAP language has been enhanced in order to support natively the implementation of transactional BO behavior (create, update, delete,). It means that no additional framework is required for that. In the ABAP Programming Model for SAP Fiori, the CDS-based Business Object Processing Framework (BOPF) was neede for the transactional BO handling.

      I hope this information will be helpful to you.

      Kind regards,
      Carine

  • Dear Carine,

    do you have any news, if the managed scenario will be shipped with a Feature Package for S/4 1909?

    Or is it planned to be delivered in S/4 20xx edition?

    Thanks,

    Stephan

    • Hi Stephan,

      The current plan* is to enhance the RAP feature scope in the SAP Cloud Platform ABAP Environment on a quarterly basis and in SAP S/4HANA on a yearly basis.

      The managed implementation type for greenfield application development is currently planned* to be delivered on-premise with the next major SAP S/4HANA release in 2020.

      * This is the current state of planning which may change at any time without further notice from SAP. Find more information in the ABAP Platform Roadmap - which will be updated very soon.

      Kind regards,
      Carine

  • Hi Carine,

    Could you please clarify the below queries?

    "Currently only the unmanaged implementation type for brownfield application development based on legacy business logic is supported in SAP S/4HANA. The feature scope will be enhanced with the next major SAP S/4HANA release in 2020. It will comprise the managed implementation type for greenfield application development." - Does this mean that 'managed scenario with un-managed save' is not available in an on premise SAP S/4 HANA 1909 ?

    I wanted to try the same('managed scenario with un-managed save') for a POC.

    Is it available in SAP S/4 HANA Cloud 1909?

    Regards,
    Vivek.

     

     

     

     

  • Hi Carine,

     

    I am looking for limitations in terms of (Draft, Authorizations, Locking) of un-managed implementation with On-Prem 1909 version. Do you have any help document on this topic?

     

    Thank You

    Saurabh

  • First of all, congratulations and thank you so much for such a wonderful feature.

     

    You mention this is available on S/4 HANA, but I would like to know if it's also available on Solution Manager? I would like to develop something for our on-premise Solution Manager also.

     

    Thanks a lot,
    Bruno