Skip to Content
Product Information

ABAP RESTful Application Programming Model (RAP) – FAQ

Frequently Asked Questions

This document answers the most frequently asked questions around the ABAP RESTful Application Programming Model (RAP) which offers a standardized programming model to efficiently build enterprise OData-based SAP Fiori UI services and Web APIs optimized for SAP HANA in the cloud as well as on-premise. [Get started]


When should I use RAP?

RAP supports the efficient development of enterprise OData-based SAP Fiori UI services and Web APIs intrinsically optimized for SAP HANA on SAP Business Technology Platform (BTP) ABAP Environment – formerly known as SAP Cloud Platform ABAP Environment – as well as on SAP S/4HANA, regardless of whether you want to start from scratch (greenfield implementations) or reuse existing business logic (brownfield implementations).

Where is RAP available ?

RAP is available in the cloud on SAP BTP ABAP Environment and on-premise on SAP S/4HANA starting with edition 1909.

Which E2E scenarios are supported?

Following end-to-end scenarios can be developed with RAP:

  • SAP Fiori UI services
  • Web APIs
  • Service Consumption (only available in the cloud)

Advantages of RAP in comparison to previous programming models?

In comparison to the ABAP Programming Model for SAP Fiori or the code-based implementation with SEGW, RAP provides a programming model …

  • … as a strategic long-term solution for ABAP development
  • … for the efficient development of SAP Fiori apps and Web APIs, both from scratch (greenfield implementations) and through the integration of legacy code (brownfield implementations)
  • … offering an end-to-end development experience with
    • Standardized architecture and development flow
    • Native testability, documentability and supportability
    • Best practices & development guides
    • High development efficiency
  • … supporting the product qualities
    • User experience: SAP Fiori and SAP HANA
    • Cloud: Scalability out-of-the-box extensibility & verticalization
    • Flexibility: Breakouts for non-standardized implementations

You can find more information in the blog Evolution of the ABAP Programming Model.

Is BOPF part of RAP?

No, the Business Object Process Framework (BOPF) is not part of RAP.

How do I get started with RAP?

The openSAP course “Building Apps with the ABAP RESTful Application Programming Model (RAP)” is a good starting point.

Various getting started materials – such as documentation, videos and tutorials – are provided in the blog Getting Started with ABAP RESTful Application Programming Model.

The local installation of the ABAP Development Tools (ADT) for Eclipse and the access to an appropriate ABAP system (e.g. SAP BTP ABAP Environment trial) are required to carry out hands-on exercises.

Is RAP used in standard SAP software?


For example, RAP is heavily used in the SAP S/4HANA development for building new applications (innovations) and renewing existing ones (renovations).

What is on the RAP roadmap?

You can find information about the actual RAP roadmap in the interactive SAP BTP ABAP Environment roadmap in the SAP Road Map Explorer.

Where do I find the latest features for RAP?

New RAP features are delivered on a quarterly basis on SAP BTP ABAP Environment and on a yearly basis on-premise on SAP S/4HANA.

Information about the latest delivered features can be found in the official release notes on the SAP Help Portal or in the Help of the ABAP Development Tools (ADT) for Eclipse.

How do I build an SAP Fiori app with RAP?

You have to first build your RAP UI service with the ABAP Developments Tools (ADT) for Eclipse, then develop the application with the SAP Business Application Studio on top of it.

ADT offers the integrated development environment with Eclipse native editors for all the standard development tasks. ADT also offers an integrated SAP Fiori elements app preview.

How do I test my code?

Various software testing techniques can be used to test your RAP service on the ABAP Platform. For example, the test double frameworks – e.g. CDS Test Double Framework and ABAP SQL Test Double Framework –, ABAP Test classes, Test Seams for legacy code and the local OData Client Proxy.

You can find more information on available ABAP testing techniques in the documentation on the SAP Help portal – under Ensuring Quality of ABAP CodeEnsuring Quality with ABAP Unit – and in the ABAP Testability and Analysis Community on

How do I write own documentation for my RAP artefacts?

ABAP Doc is used to provide the documentation for code elements in the ABAP source code.

Knowledge Transfer Documents allow the documentation of various ABAP objects types (e.g. behavior definitions, classes, interfaces, packages, data elements, functions groups, function modules, views, transformations, etc.). They are supported in the cloud on SAP BTP ABAP Environment and on-premise starting with SAP S/4HANA edition 2020.

How do I do troubleshooting?

The well-known ABAP and CDS troubleshooting tools can be used for the purposes.

You can find more information on available troubleshooting tools in the documentation on the SAP Help portal.

How do I rapidly build a test or PoC app with RAP?

For developers who are already familiar with RAP, an SAP Community initiative driven by Andre Fischer provides a RAP Generator that can help to rapidly build test and PoC applications by generating the required artefacts (e.g. CDS entities, service binding and service definition).


Existing code available: How should I proceed ?

For brownfield implementation scenarios, where existing code fulfilling certain prerequisites (e.g. agnostic of protocols and  UI technologies) has to be reused, the so-called unmanaged BO runtime implementations is provided.

You can read more on how to develop unmanaged transactional apps in the documentation on the SAP Help portal.

I’m working on an older ABAP release: How can I be prepared for RAP?

If you are working on SAP S/4HANA releases lower than edition 1909, then check out the blog Be Prepared for the ABAP Programming Model for SAP Fiori to find recommendations in this regard.

The recommendations are also applicable to be prepared for the ABAP RESTful Application Programming Model (RAP) when working on older ABAP platform releases.

Last update: January 2021

You must be Logged on to comment or reply to a post.
  • Hi - Thanks for the blog. Since one of the primary reasons to have a new model, is the term "intrinsically optimized for SAP HANA", it would be best to have an in-depth technical explanation for that statement --- so that the developers really understand and accept the learning curve for the new model...

    • Hi Srinivas,

      CDS is optimized for SAP HANA and used for advanced data modelling and access on the ABAP Platform. It is the cornerstone of RAP.

      Starting with the release 1809 (i.e. SAP_BASIS 7.53), the ABAP Platform only supports SAP HANA as underlying database which gives us the possibility to fully leverage advanced SAP HANA capabilities such as hierarchies in CDS as well as to further optimize the communication between the application server and SAP HANA DB.

      Kind regards,

  • My FAQ is why the name keeps changing. First of all it was RAP standing for "RESTful ABAP Programming Model" and then it was ARP for "ABAP RESTful Programming Model" and now it is RAP again for "ABAP RESTful Application Programming Model"

    What will it be called next week?

    • Maybe because, SAP likes to confuse us. Similar to On- and Any-Premise ;). I decide to stick to the RAP.

      There is probably a department at SAP, that is responsible for naming things, and they get payed by the amount of names they’ve created 🙂

      Jokes aside, probably the new name is a little bit more meaningful, but who knows.

    • Hi Paul,

      Unfortunately product name changes occur even though we strongly try to avoid them – and this does not only apply to RAP.

      Regarding the “ABAP RESTful Application Programming Model” (RAP), aka “ABAP RESTful Programming Model”, no further name change is planned.

      Kind regards,

  • Someone could enlight me regarding why using RAP on-Premise ?  I mean besides being able to later on truly migrate to an ABAP on Cloud instance if wanted.

    Is there any other advantages that I'm not seeing ? because I don't see the point:

    • Is faster ?
    • Can I use the non-white listed functions ?

    Because so far I'm aware of the CONs but I didn't find any PRO.



    • One of the reason I can think of is : it is intrinsically optimized for SAP HANA....what does this technically mean is what I have also asked as a question in the comments section 🙂 :)..

    • I don't see the CONs only the PROs using a standardized programming model for application development On-Prem, if you are doing new implementations.

      If you have to maintain a huge codebase then adopting the new model might be a little too much. Although theire may even be reasons for that, like supporting drafts in applications or the nice integration of ui preview.



      • At one time Webdynpro was supposed to be the standardized programming model for ABAP application development and it was awful and years later not widely used.

        Right now even Fiori is not widely used, the mayority of customer still uses SAP GUI and will keep using it because Fiori is slow in performance and is more aimed for very end user or management people that likes “mobile” stuff.

        SAP changes things so much thing around lately that there is no “standard”, for example BRF+ was the way to accomplish “draft” feature and now you have RAP.

        Besides I know that on ABAP on Cloud you can even uses non-whitelisted function modules... that doesn't sound like a CON ? yeahh when you see the SFLIGHT model all is nice but when you get more complex business scenarios won't be so pretty.

    • Honestly, I’m surprised how easy and fast you can create report-like fiori-solutions from only a couple of CDS’s and a bunch of annotations. I can’t imagine building such report solutions equally fast if you have to create the gateway service and the frontend application through development.

      Ok, the annotations are a whole new world to discover, and keeping track of what-is-available-where isn’t always easy.

      But if I have to create a read only fiori application (in S4H1909+), I’ll check RAP first.

      Also, it is an excellent way for an old-skool-abapper-with-little-to-no-js-skills to make elaborate fiori applications..

      • if you have a CDS view with ALV-IDA you can literally show the report in just one ABAP line of code, how that is not fast and easy ? just to be in Fiori you have to create so many objects.

        RAP needs to find a more direct way on creating all the overhead of stuff like in SEGW that automatically create all the classes. I would love to spread the Fiori love but so far no luck.

  • Hi Carine Tchoutouo Djomo

    Thanks for sharing the FAQ and I am happy that SAP came up with the OpenSAP course on ABAP RAP.

    Although, about this statement in the advantage section : a strategic long-term solution for ABAP development

    My question is : how do you define the "long-term"? 

    Is it supposed by the strategic solution for decades, without a new successor in near future?

    The way SAP is replacing its own products and platforms with something new every year, I fear RAP will soon be replaced by something new.

    Hope you could enlighten me.


    Bharat Bajaj

    • I totally agree with you, SAP is changing so fast stuff around...

      Neo > no more NEO, now Cloud Foundry

      Web IDE > Web IDE Full Stack > Business Application

      Honestly I don't see the point in ABAP on Cloud, it's like look we also have a cloud option. There is no way to migrate old stufff and for new in the cloud... why I would choose RAP over CAP.


      • I agree with you Rodrigo,

        Let me update your list.

        Eclipse > Web IDE Personal > Web IDE Full Stack > Business Application Studio > VS Code with Fiori Tools.

        As of today, No eclipse, No Web IDE full-stack >> After a few years, No BAS or VS Code I suppose.. this is so perpetual.?

        Now Talking about ABAP :

        ABAP -> ABAP WebDynPro -> ABAP for HANA -> CDS -> ABAP for Fiori with BOPF -> ABAP RAP with BOPF Future edition

        It’s too much to learn and unlearn at the same pace for a human being.?

        • you've forgot the SE80 🙂


          For some time, I've raised the question, why it is not possible to "make one for all".

          • For RAP/ ABAP based CDS-Views and HANA Native development, authorizations etc., you have to, and for usual GUI-programming, you can use Eclipse/Hana Studio (or the Hana Cockpit for HANA e.g.)
          • For Fiori-UI: Eclipse is possible, WEB IDE Full-Stack, Visual Studio Code and now BAS, basically SAP's version of VSCode, based on Eclipse THEIA
          • For Java/Node.JS/CAP: WEB IDE Full-Stack, VSCode and BAS
          • For ABAP in the Cloud (c.f. RAP): Eclipse

          Question: since BAS is also based on some Eclipse "derivative", why not providing ADT for it? It would provide then that we can concentrate on one IDE, rather than 2-3. It would make life easier...


          I've raised the question many times and the answer was just "no, we don't do that". 🙂

          I would be interested in the considerations/reasons, why this is not considered as a value add.


          Thx & BR





    • Hi Barat,

      RAP is the recommended programming model to build SAP Fiori apps and Web APIs on SAP’s strategic solutions SAP S/4HANA and SAP Cloud Platform ABAP Environment – regardless whether you start from scratch or reuse existing code. Therefore is RAP positioned as our long-term solution.

      No successor to RAP is planned on our roadmap.

      Kind regards,

  • Hello Carine,

    thanks for this blog (and for the openSAP course on RAP - that is perfectly timed for me:-) ).

    When playing around based on the SAP Press book, I encountered these (basic) questions - can you help here ?

    1. I understood that CDS views are regularly associated with each other (e.g. a document header to a document item CDS view and also that document item back to the document header). Wouldn't a transport (e.g. from DEV to QA system) fail because there is no valid order of activating these objects ?
    2. Using the ABAP cloud trial instance, I got errors on some annotations (@VDM_viewtype, @DefaultAggregation,@Semantics.imageurl). Is there a list of valid annotations by Netweaver/Cloud release ? Can you think of anything else I did wrong there ?

    Thanks you very much !

    Regards, Thomas.

  • Why there was a need to invent RAP, when it is almost a successor of BOPF.

    I believe this whole RAP and EML thing could have been achieved by the BOPF APIs as well, of course changing it’s flavor a bit to meet the cloud requirements.

    Adversely, someone with years of experience in ABAP on-premise suddenly becomes a beginner for the cloud edition.

    In the pursuit of so-called "innovations" for a challenging and competitive market, SAP is replacing its own products and platforms way too frequently.

    This is too much to handle at once.


    • Hi Bharat,

      Let me comment on two misconceptions.

      RAP is not only about cloud.

      As of SAP S/4HANA 1909 RAP is available for unmanaged scenarios and with SAP S/4HANA 2020 RAP also supports managed scenarios and draft.

      So as of SAP S/4HANA 2020 you can concentrate on RAP.

      The decision to develop the new RAP framework instead of further developing the existing BOPF framework was made after a thorough analysis of the requirements for cloud based applications.

      Best regards,


      • Hi Andre,

        First, I must thank you for 2 things:

        1. The lightning-fast response to my question about the thought process of SAP behind RAP.
        2. You awesome tutorials, in ABAP RAP OpenSAP Course - Week 4(current).

        Now, the problem of hardcore ABAPer like me is, the majority of the customers are still on ECC. Even for S4/HANA, they not yet on the 2020 version.

        Today if I wish to work for a customer for S/4HANA cloud implementation, it's a whole new learning path for me, before I could get going.

        Moreover, this adds complexity in designing solutions in On-prem edition, when it comes to choosing between, Classical ABAP, ABAP for Fiori with BOPF, Freestyle UI5, or now this latest candidate - the ABAP RAP.

        It's like SAP is serving too many dishes on the table like a buffet, and we are bound to grow the apetite to grab it all ?



        • Hey Bharat,

          SAP is evolving, and the SAP developer now is no longer the ABAP developer as we knew it. A decade ago an SAP developer was an ABAP developer, but now ABAP is only a part of the technologies SAP offers/uses/..

          Personally, I think the step from ABAP to ABAP-in-the-cloud is smaller then ABAP to CAP M for instance. And with Fiori Elements and RAP, you no longer have to know UI5 or js to make a decent Fiori application..

          So yes, there is a learning curve. And yes it might even be steep, but it seems SAP is investing a lot to give us ABAP-ers the chance to wake up, smell the music, and prepare for what is to come.





          • Patrick,


            you are right. Technology, the market, the "world"...everything is changing, and SAP has to adopt. Though, I am not their advocate 😉

            The days when one could solely rely on one language (anyhow, never existed for me) are over. As you pointed out, RAP is a good "bridging the knowledge gap" for ABAPers, that have the requirement to build CRUD-Q enabled Fiori-UIs. And in generall, a speed up and decrease of the TCO for building good looking, stable "enterprise grade" Fiori-Apps. When I remember the time how much did it take to build an app from scratch using Eclipse, without any templates (ok, you could copy & paste existing source-code, make here and there some adjustments), and when I first tried out WEB IDE F.S. (R.I.P. :)) and its templates... wow, what a speed up. And when Fiori-Elements become stronger and stronger... even more.


            Anyhow, enjoy coding!


          • and we plan to provide tools that make the development of a RAP BO even faster ;-), so stay tuned.

            For the meantime (until the enhanced ADT tooling becomes available) you can have a look at my RAP Generator to generate a starter project.

            Best regards,



  • Dear Bharat,

    Dear Andre,


    I would also like to thank Andre for this quick response.


    From my point of view:

    • RAP is good and much faster especially when serving Fiori-Elements Apps, compared to free-style apps. Boundaries/Limitations for this approach are especially given by boandaries/Limitations of Fiori-Elements.
    • Comparing RAP to APF: I like RAP more, although they share much in common. In APF, I always came into trouble by setting up the correct hierarchy and where to put transactionalProcessing enabled and what is handled where and to not forget to go from the child to the parent etc. and all the other annotations. Sure, you have basically the analogue things here, but, at least is this my impression, not so heavy-weighted and everything using annotations for creation of the BOPF. It is just more "clear" and slim, structured, ..and you achieve the same things
    • Managed/Un-managed/Real-world use cases:
      • so far, as Andre already pointed out, for the On-Premise World, you have to be on S4H 2020 for the managed flavour.
      • Un-managed is already possible with 1909
      • personally, I expect anyhow that the un-manage flavor will be more used, for OnPrem, as it provides a way to use existing and released BAPI's.
      • Maybe, there will be also something "in between" planned for the future.
    • Complexity: Yes, you are right! Today, one could encounter requirements in the same project,
      • e.g. where you need to enhance  SAP Standard application that are being build using SEGW & DPC_EXT & SAPUI5
      • Apps that are partially build using SEGW but make use of CDS-Views, and here you also have different flavours
      • apps, build without SEGW, "OData.publish: true", with or without further UI-annotations
      • Coming slowly towards APF, those that are build using this approach
      • create new apps using RAP
      • or even, you get the requirement that you build good old SAPGUI Screens (as happened to me, in an S/4Hana 1909 Roll-Out!!)
      • -> All of these things could you encounter today. This is not an easy (tansition) period for developers, solution architects...

    Good luck!




  • Hi Carine Tchoutouo Djomo

    Thanks for this post and also for your contributions to the current RAP OpenSAP course, it’s very good.

    I have a couple of topics related to RAP which I am interested in some feedback on.


    RAP with freestyle Fiori/UI5 apps

    All of the Fiori/UI5 examples with RAP that I have seen so far are using Fiori Elements. This is great, but at our company we very often need to build Fiori UI5 freestyle applications for desktop or mobile.

    Are all of the RAP features fully supported in freestyle UI5 Fiori apps? in particular I’m interested to know if the RAP/CDS optimistic and pessimistic locking mechanisms are supported, incl with ETags. And is the Draft functionality fully supported? I'm assuming they are as this is related to the OData Service/CDS itself, but my question is more around integration of that into UI5.

    If the RAP locking and Drafts are fully supported, are there specific UI5 API functions to handle this which we should use in our UI5 code? Note that I didn’t look into Fiori Elements generated UI5 code yet to see what it’s doing.


    RAP vs CAP

    We are also trying to evaluate whether we focus on RAP or CAP for SAP Cloud development at our company. Before too long we will have multiple S/4 systems (all will be on-premise due to very heavy modifications over 25 years to include functionality needed by our business that isn’t available in standard SAP). During that transition we will also have ECC systems until they all move to S/4. We have also been running SAP Cloud for 3 years now with traditional UI5 apps calling on-premise ABAP systems via OData.

    Most of our developers are pure ABAP developers, especially when it comes to CDS and OData Service development. We have UI5 developers as well. In future we will need to build some standalone or side-by-side applications running in SAP Cloud using SCP HANA DB. These cloud apps may also also have some OData calls within them to on-premise S/4 or ECC, but the core business logic will be in SAP Cloud.

    We are trying to determine if RAP or CAP is a better long term approach for our development team for apps running in SAP Cloud (assume cost of the SAP Cloud ABAP instances is not a problem for the sake of this discussion, although it’s clearly a determining factor). Seems that RAP is the most common sense approach for apps running on SAP Cloud. That way the ABAP CDS/OData Service developers will have the exact same language, tools and processes for RAP development for on-premise S/4 and in SAP Cloud. Both will use Eclipse ADT in exactly the same way.

    But I wonder if there any limitations in RAP for the ABAP on SAP Cloud Fiori/UI5 scenario versus CAP? Or vice versa. I’m wondering if the ABAP language on SAP Cloud may give us any limitations vs Javascript via Node.js when building cloud native standalone apps? It also seems that interacting with the HANA DB at development time is easier and more integrated in RAP with Eclipse ADT vs CAP in Business Application Studio, am I right?

    One thing that is also unclear to us which I dont think is documented anywhere is the exact list of language and class/function differences/limitations in SAP Cloud ABAP (Steampunk) vs on-premise S/4 2020 ABAP.


    Thanks in advance,





    • Hello Brendan,

      Thank you very much for the feedback!

      Regarding your questions:

      RAP with freestyle Fiori/UI5 apps
      I will clarify this question with our UI colleagues – and get back to you ASAP.

      RAP VS CAP
      Unfortunately, a general recommendation cannot be made here, as the decision is always project-specific. RAP is available on SAP Cloud Platform and also on SAP S/4HANA 1909 and higher.

      We do not have a comparison of the functional scope of both programming models, but you can have a look at the feature scope of RAP and the ABAP Language on SAP Cloud Platform in the online documentation on the SAP Help portal:

      You can access the online documentation for the SAP S/4HANA on-premise edition here:

      ADT provides the eclipse-based IDE for developing OData services with RAP - and for all ABAP development for SAP HANA in general.

      You can find further info on RAP here:

      Kind regards,

    • Hi Brendan,

      let me try to shed some light on the UI5 freestyle part.

      While certainly all the Draft- and locking-related things can be implemented in UI5 freestyle - after all Fiori Elements is just a layer on top - there is no specific support and no related set of UI5 APIs, so it's not going to be some work, but also some figuring-out. Most of the related code is in the Fiori Elements layer and while there are isolated modules/controllers at least in the OData V4 version which may or may not in some future be usable standalone in freestyle apps (I don't know the exact plans of that area), there is nothing like this right now.

      Some colleagues and I have recently published a UI5 freestyle sample app using Draft mode ( which was build after talking to experts in CAP and the UI5 models team, so if you want to go that route, you might find the code and the documentation helpful that we wrote to explain the code, especially the parts around the Draft handling which was pretty much the focus of our attention:

      We can't guarantee that the code is perfect, but as it's working and contains expert knowledge, it should be a good starting point.




  • Hi Catherine,

    Thank you for the excellent training on RAP in Open SAP. Below is the screen-shot from Business Technology Platform showing the entitlements - SAP HANA Cloud. I think the RAP model will also work here too  - Is that understanding correct ? Can you please confirm?


    All the best,



  • I have a question about deploying a RAP service to a Fiori Launchpad on premise, do we need to wrap the OData to a Fiori template in Web Ide or BAS, or can we use the OData Web api in a tile.

    What would be the best approach?

    • Hi Denis,


      to what are you exactly referring or what do you want to do? Do you want to have only the service as an API, then you don’t have to.

      But for an app, up to my last info/knowledge, you would definitely have to use fiori elements template (either WEB IDE or BAS, but the deployment with BAS to On-Premise can be buggy sometimes). The generated Preview-App is not usable to wrap it into a file. Though, I am not sure if this may not change in time and if not, why not.

      something related to this is the possibility od UI-Generation with the custom business objects app. For S4H-Cloud (and maybe newer on premise systems), you do not need an IDE to get an Fiori-Elements app. Why for RAP it is still necessarily required to have an separate IDE, i don’t see the reason.

      • Yes I wonder if we can, or is it planned to be able to consume a RAP service with it's ui inside a fiori launchpad directly, without an additional IDE, I have followed the Open SAP course but afair I don't recall we have talked about consuming RAP into the Fiori Launchpad

  • Hi Carine Carine Tchoutouo Djomo,

    it is mentioned that RAP can be used on S/4HANA as well. There are several options under S/4HANA. At the moment 4-5 options. Can be RAP used in

    1. SAP S/4HANA Cloud: previously called essentials edition (ES) and Multi-Tenant Edition ?
    2. SAP S/4HANA Cloud extended edition: previously called Single-Tenant Edition ?
    3. SAP S/4HANA Cloud, private edition (new in 2021) ?
    4. SAP S/4HANA On-Premise managed by SAP (HEC) ? (Probably no additional setup required, should be OK)
    5. SAP S/4HANA On-Premise: On-Premise or managed by cloud provider Hyperscalers (Here no additional setup required OK)

    In which case is needed a separate ABAP environment in the cloud to be activated or licenced for side-by-side extensibility of S/4HANA Cloud editions for the customer to be able to connect with ADT and implement applications?

    Thank you,Attila

    • Hi Attila,

      RAP can be used in all SAP S/4HANA deployments where the classic extensibility option – i.e. ABAP custom development with the ABAP Development Tools in Eclipse – is supported. This is the case today for all SAP S/4HANA deployment options* you mentioned, exception being the option 1 - SAP S/4HANA Cloud: previously called essentials edition (ES) and Multi-Tenant Edition.

      *On-premise starting with SAP S/4HANA edition 1909

      Kind regards,