Technical Articles
Exploring ABAP RESTful Application Programming Model (RAP)
GitHub repository:
To be published soon…
Introduction:
- 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
Synopsis:
- 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:
Conclusion:
- 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
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?
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).
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?
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).
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.
Thanks,
Thanks Neha !!
Great blog Milton !!
Thanks Ashish !!
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.
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.
https://open.sap.com/courses/cp13/items/5PmR9gi7EeNosvmZkICot9
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.
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'...
Great blogs !! Milton
Hi Milton Chandradas
How can I configure an application deployed under the RAP on premise model in the SAP FIORI launchpad? Thanks.
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
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!~
Nice Blog, great content
Hi Milton ,
Very helpful blog. Just a question is it possible to add collective search help for this odata services generated by CDS view . Since most of the collective search help are sap standard , can we attach them directly to the search fields.
Hi Milton,
Great Video. I was also trying to do a small leave application POC. I just wanted to know if you can help me with a doubt. I was using 2 tables - one employee master table with Emp Id and Emp Name and other employee leave details with all details reg employee's leave having Emp Id as foreign key. Now if in the final Consumption View, I need to join these tables and display leave details and fetch the Emp Name from first table, this would be a JOIN on Interface View level ?
Thanks and Regards
Vivek
Great Blog Milton. I have gone through the tutorial and it was very simple and easy to understand. But I have few clarifications on the concept of RAP.
Hi Milton 🙂 Thanks for this great blog. I have one question and i really appreciate if you can help me with. Right now we are working on a project using SAP Cloud Foundry Environment. In this case we create custom application and we use oData Service to retrieve some information that we are reading from SAP S/4 using Cloud Connector with Principal Propagation destination. My question is ... ¿ Is it possible to replace this oData service and develop all this services using RAP ? or in which business scenario we should conclude that RAP is the best solution to go forward ?.
Many thanks again for your guidance.