Skip to Content
Technical Articles
Author's profile photo Milton Chandradas

Exploring ABAP RESTful Application Programming Model (RAP)

GitHub repository:

To be published soon…



  • In this series, we will explore the new ABAP RESTful Application Programming Model (RAP)
  • Quick introduction to ABAP RESTful Application Programming Model (RAP)
  • Create an end-to-end example to illustrate the various features present in the RAP model



  • In this series, we will start with creating a base table
  • We will then create interface and consumption views on top of it
  • Then add metadata extensions for the Fiori Element app
  • Then define the Business Object and its behavior and also the implementation
  • Then we will project the Business Object behavior
  • And then create a service definition and service binding (with various protocols)
  • Finally, we will add draft handling feature


YouTube Link:











  • These series of videos should give you a clear idea on how to use the ABAP RESTful Application Programming Model (RAP)
  • If you have questions or comments, please list them below and I will be happy to answer



Assigned tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Ramil Babayev
      Ramil Babayev

      Dear Milton these series very helpful for understanding  ABAP RESTful Programming Model. Can you show for us in next series Fiori App development using ABAP RAP, Fiori Elements and local VS Code studio? It mean that without using any cloud solution. Only Eclipse for backend and VS Code for frontend?

      Author's profile photo Milton Chandradas
      Milton Chandradas
      Blog Post Author

      I am not exactly sure of your question...  The OData Service (web api) created by the RAP model is UI framework agnostic (and by extension, IDE agnostic as well).  You can use your favorite UI framework to build the UI application - for example, SAPUI5, React, Angular etc.  And of course, you can use your own IDE - Visual Studio Code being the more popular IDE.


      When you say without any cloud solution - I am going to assume, you mean not use SAP S/4HANA Cloud.  RAP model can also be used with SAP S/4HANA 1909 or higher (On-Premise).

      Author's profile photo Ramil Babayev
      Ramil Babayev

      Dear Milton thanks for quick response. As I know for development Fiori interface in On-Premise (S/4HANA 1909 or S/4HANA 2020) developers are using SAP Business Application Studio. This is a Cloud Solution and Developers have to always connect to cloud for developing. I mean that can I use VS Code instead of SAP Business Application Studio and directly deploy Fiori code to On-Premise server?

      Author's profile photo Milton Chandradas
      Milton Chandradas
      Blog Post Author

      Yes - I have used Visual Studio Code locally for quite a few development projects.  One of the motivation for moving away from SAP Web IDE is to bridge the gap between local development and developing in the cloud.

      With Business Application Studio, you can develop in the cloud if you want.  The IDE comes pre installed with all the tools necessary.  And you can make use of all the wizards...

      But you can do the same with the local install of Visual Studio Code.  You will have to manually install some of the tools - but it's pretty straight forward with npm.  Also, some of the extension wizards available in BAS is also available as Visual Studio Code extensions.

      Although at this moment, I recommend using both (instead of choosing one over the other).

      Author's profile photo Neha Goyal
      Neha Goyal

      Hi Milton,

      The videos are very nicely structured and explained.Thanks for creating such videos. These are really helpful to ramp up quickly on the latest programming model.


      Author's profile photo Milton Chandradas
      Milton Chandradas
      Blog Post Author

      Thanks Neha !!

      Author's profile photo Ashish Baghel
      Ashish Baghel

      Great blog Milton !!

      Author's profile photo Milton Chandradas
      Milton Chandradas
      Blog Post Author

      Thanks Ashish !!

      Author's profile photo Kishor Basina
      Kishor Basina

      Excellent Blogs Milton on the ABAP RAP Programming Model. Really of great help in understanding concepts easier & quicker.  Just wants to know is there any information on BAPI / FM support provided for these models to make use of SAP standard content and integration with On Premise systems.

      Author's profile photo Milton Chandradas
      Milton Chandradas
      Blog Post Author

      Yes...  In this case, we will be using the unmanaged scenario.

      The OpenSAP course - Week 4 talks about this scenario.  Andre Fischer (Product Manager) walks you through an end-to-end example.


      Author's profile photo Rajeev Anandan
      Rajeev Anandan

      Hi Milton Chandradas ,

      Thanks for making this blog. It is a very useful one. I followed all the steps and created the application however in the screen label is not displayed for the "Set Active" button. But the button is existing in the screen and functionality is working. Can  you inform in which file we set the label for the button? Please refer the screenshot below.

      Author's profile photo Jorge Carvalho
      Jorge Carvalho

      In case you're facing the same issue (as I did too), in your metadata extension file, you're missing the label attribute:

      @UI: { lineItem: [{position: 60}. { type: #FOR_ACTION, dataAction: 'setActive', label: 'Active'...

      Author's profile photo Manju Venkatesh
      Manju Venkatesh

      Great blogs !! Milton

      Author's profile photo Cristian Felipe Montoya Gallego
      Cristian Felipe Montoya Gallego

      Hi Milton Chandradas

      How can I configure an application deployed under the RAP on premise model in the SAP FIORI launchpad? Thanks.
      Author's profile photo iMRO DEV TEAM

      Hello Milton,


      We are trying to extend a Root CDS and added a new association to the extended CDS.
      Now we all know that unless the association is not exposed in service definition it cannot be consumed by UX. So the CDS is extended, is there also a framework where service definition can be extended and the new association be exposed there?.

      Thanks & Regards,

      Udita Saklani

      Author's profile photo Gabby Isidro
      Gabby Isidro

      Hello Good Day!~

      I am trying to do pessimistic locking on Managed.


      I noticed during edit, that the method lock is only triggered when clicking save.. so the 2 save events from 2 instances of the application are getting saved.. instead of having the locking error.


      Can please point me to a correct way to implement this that it should error when i click edit on the 2nd app instance?


      Thank you!~

      Author's profile photo Rakesh Gowdru
      Rakesh Gowdru

      Nice Blog, great content

      Author's profile photo Prasenjit Singh Bist
      Prasenjit Singh Bist

      there are already SAP dev series available. N people are creating M versions of the same dev tutorial series. Where are the moderators?