0% found this document useful (0 votes)
7 views23 pages

ABAP RESTful Application Programming Model 2

The document provides a comprehensive FAQ on the ABAP RESTful Application Programming Model (RAP), detailing its purpose, availability, supported scenarios, and advantages over previous programming models. It outlines how RAP facilitates the development of enterprise SAP Fiori apps and Web APIs, emphasizing its optimization for SAP HANA and integration with SAP Business Technology Platform. Additionally, the document includes guidance on getting started with RAP, testing techniques, and troubleshooting methods.

Uploaded by

ashwinichaple705
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views23 pages

ABAP RESTful Application Programming Model 2

The document provides a comprehensive FAQ on the ABAP RESTful Application Programming Model (RAP), detailing its purpose, availability, supported scenarios, and advantages over previous programming models. It outlines how RAP facilitates the development of enterprise SAP Fiori apps and Web APIs, emphasizing its optimization for SAP HANA and integration with SAP Business Technology Platform. Additionally, the document includes guidance on getting started with RAP, testing techniques, and troubleshooting methods.

Uploaded by

ashwinichaple705
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Products and Group Develope Partner Event Help Topic Explore

Community Technology s rs s s Center Pages SAP

SAP Community / Products and Technology / Technology / Technology Blog Posts by SAP / ABAP RESTful Application Programming Model (RAP) -...

Technology Blog Posts by SAP

AI Search  Search

ABAP RESTful Application Programming Model (RAP) - FAQ

CarineTchoutouo
Product and Topic Expert

Sign In to Subscribe 

‎2020 Oct 16 9:03 AM

 76 Likes  113,591

SAP MANAGED TAGS

SAP BTP ABAP Environment ABAP Development SAP S/4HANA ABAP RESTful Application Programming Model

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]

General

When should I use RAP?

RAP supports the efficient development of enterprise SAP Fiori Apps 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).

You can find more information in the blog Modernization with RAP.

Where is RAP available ?

RAP is available on

SAP BTP, ABAP environment (aka Steampunk)

SAP S/4HANA on-premise starting with edition 1909

SAP S/4HANA Cloud, ABAP environment (aka embedded Steampunk)

Which E2E scenarios are supported?

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

SAP Fiori Apps

Web APIs
Lifecycle-stable and upgrade-safe local APIs can be provided via released business objects

Which types of services can be developed?

Different types of services can be developed with RAP:

OData-based services for exposure for UI development to build delightful, role-based, responsive, and draft-enabled SAP Fiori apps

OData-based services for exposure as Web APIs

InA-based, analytical services for building analytical apps in SAP Analytics Cloud

SQL-based services for data integration

You can find more information in the blog Modernization with RAP.

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, and 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?

Yes.

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.

Release Notes for SAP BTP ABAP Environment on the SAP Help Portal

Release Notes for the ABAP Platform for SAP S/4HANA release on the SAP Help Portal

RAP – What's New on the SAP Help Portal: Cloud | On-Premise

Release Notes in ADT: Go to menu Help> Help Contents > SAP – ABAP RESTful Application Programming Model > What's New

How do I build an SAP Fiori app with RAP?

You have to first build an OData-based UI service with RAP in the Eclipse-based ABAP Developments Tools (ADT), and then develop a Fiori
(elements) application with the SAP Business Application Studio (BAS) on top of it and deploy it either locally on BAS or in the ABAP repository.
After you can configure a Fiori tile with the deployed Fiori app in the SAP Fiori launchpad.

You can have a look at following tutorial: Develop and Run SAP Fiori Application With SAP Business Application Studio.

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

Please note that the app generated via the Fiori elements app preview in ADT cannot be used for productive purposes.

Where do I maintain the UI semantics when building SAP Fiori elements apps with RAP?

When building Fiori elements apps with RAP, the UI semantics can be defined using either local XML annotations in the SAP Business Application
Studio or ABAP CDS annotations in the backend with ADT. The type of annotation (ABAP CDS and XML) does not impact performance or
functionality.

Due to different release cycles, some new UI annotations might be available later in ABAP CDS. For on-premise SAP systems, upgrade cycles can
further impact the availability of new features for ABAP CDS annotations.

Where can I get help when defining my Fiori elements app with ABAP CDS annotations?

You can use the new SAP Fiori elements Feature Showcase App for RAP as a technical reference for the available UI features that can be defined
with ABAP CDS annotations. Descriptions and code snippets for the different UI features are provided.

You can find more information in this blog post: The SAP Fiori Elements feature showcase with RAP and ABAP CDS annotations
A list of all ABAP CDS annotations (incl. UI annotations) available in the context of RAP can be found here: ABAP CDS Annotations

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 in the RAP Testability Guide
and under Ensuring Quality of ABAP Code, Ensuring Quality with ABAP Unit. Also check out the ABAP Testability and Analysis Community on
[Link].

You can also carry out the exercises of following workshop: RAP400 - Writing ABAP Unit Tests for Apps built with RAP on GitHub.

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, CDS, and browser troubleshooting tools can be used for the purposes:

ABAP Cross Trace

Gateway Trace and Error Log

ABAP Profiling

Dynamic Logpoints

ABAP Debugger

Error Log

ADT Feed Reader

CDS Tools like Data Preview, Dictionary Log, Annotation Propagation, Activation Graph, and Active Annotations

Browser’s Debug Console

You can find more information here: Troubleshooting Tools for RAP-based Apps

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).

A first release of the SAP official RAP generator - with limited scope - has been released in ADT for SAP BTP ABAP Environment - Release 2111.
RAP artifacts can be generated for an end-to-end transactional application based on a database table using the Generate ABAP Repository
Objects wizard.

Migration

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.

How do I reuse existing CDS-based BOPF BOs to build applications with RAP?

SAP plans to offer a new implementation type, the BOPF-managed BO implementation, for the migration and integration of CDS-based BOPF
BOs originating from the ABAP Programming Model for SAP Fiori into the RAP framework in the near future.

This implementation type will be offered to customers and partners who have built applications with the ABAP Programming Model for SAP Fiori
and would like to safeguard their investments but also take advantage of the benefits offered by RAP. However, a migration of existing, generated,
CDS-based BOPF BOs will not be technically mandatory when upgrading to the latest SAP S/4HANA release since the ABAP Programming Model
for SAP Fiori will still be supported in the future.

Classic BOPF BOs will not be supported by this implementation.

Last update: April 2022

LABELS

Product Updates

TAGS

ABAP Abap Cds CDS Core Data Service

67 Comments

Srinivas-Rao 
Contributor
‎2020 Oct 16 10:22 AM

 3 Likes

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...

hardyp180 
SAP Mentor
2020 Oct 17 7:49 AM

 8 Likes

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?


former_member596519 
Participant
‎2020 Oct 18 6:18 PM

 0 Likes

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.

Rodrigo-Giner 
Active Contributor
‎2020 Oct 20 5:15 AM

 0 Likes

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.

Thanks

Srinivas-Rao 
Contributor
‎2020 Oct 20 6:35 AM

 0 Likes

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 :)..

shais 
Participant
2020 Oct 20 6:50 AM

 2 Likes

Basically, it should allow more robust (standardized) and faster development.

bharatbajaj 
Active Participant
2020 Oct 23 1:50 PM

 3 Likes

Hi [Link]

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 :

...as 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.

Regards,

Bharat Bajaj

Former Member 
‎2020 Oct 25 11:49 AM

 0 Likes
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,@[Link]).
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.

former_member596519 
Participant
‎2020 Oct 25 9:27 PM

 0 Likes

Hi Thomas,

to question 1) if you assign all those objects to one transport, it should be fine.

BR, Aleks

FloPi 
Explorer
2020 Oct 27 9:29 AM

 2 Likes

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.

sbesta 
Explorer
2020 Nov 11 5:12 PM

 0 Likes

HI Carine,

Thanks for your wonderful blog and providing us the FAQ’s with detailed explanation.
Regards,

Srinivas

Patrick_vN 
Active Contributor
‎2020 Nov 11 9:26 PM

 3 Likes

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..

Rodrigo-Giner 
Active Contributor
‎2020 Nov 12 1:08 AM

 2 Likes

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.

Rodrigo-Giner 
Active Contributor
‎2020 Nov 12 1:15 AM

 3 Likes

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.

Rodrigo-Giner 
Active Contributor
‎2020 Nov 12 1:19 AM

 2 Likes

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.
bharatbajaj 
Active Participant
2020 Nov 12 9:29 AM

 3 Likes

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.

bharatbajaj 
Active Participant
2020 Nov 12 9:44 AM

 1 Like

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.

Andre_Fischer 
Product and Topic Expert
2020 Nov 12 9:59 AM

 3 Likes

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,

Andre
bharatbajaj 
Active Participant
2020 Nov 12 10:20 AM

 2 Likes

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 ?

Regards,

Bharat

former_member596519 
Participant
‎2020 Nov 12 10:49 AM

 0 Likes

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, "[Link]: 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!

BR,

Aleks

Patrick_vN 
Active Contributor
‎2020 Nov 12 11:11 AM

 2 Likes

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.

Cheers,

Patrick
former_member596519 
Participant
‎2020 Nov 12 11:52 AM

 2 Likes

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!

Andre_Fischer 
Product and Topic Expert
2020 Nov 12 12:14 PM

 2 Likes

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,

Andre

former_member596519 
Participant
‎2020 Nov 12 12:17 PM

 0 Likes

thank you! RAP Generator is a nice and handy tool

BR,

Aleks

former_member596519 
Participant
‎2020 Nov 12 1:35 PM

 1 Like

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/[Link]/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

Aleks

BR,

Aleks

BrendanFarthing 
Participant
2020 Nov 14 9:19 PM

 4 Likes

Hi [Link]

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 [Link] 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,

Brendan

CarineTchoutouo 
Product and Topic Expert
2020 Dec 18 6:10 PM

 0 Likes

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,
Carine

CarineTchoutouo 
Product and Topic Expert
2020 Dec 18 6:12 PM

 2 Likes

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,
Carine
CarineTchoutouo 
Product and Topic Expert
2020 Dec 18 6:17 PM

 0 Likes

Hi Barat,

RAP is the recommended programming model to build SAP Fiori apps and Web APIs on SAP’s strategic solutions such as 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,
Carine

CarineTchoutouo 
Product and Topic Expert
2020 Dec 18 6:26 PM

 1 Like

Hello Thomas,

Thank you for the feedback! Appreciate it a lot.

Regarding your questions:

1. This shouldn’t be a problem if the dependent entities are transported together.


2. You can find a list of the CDS annotations supported in ABAP CDS in the documentation on the SAP Help Portal: Cloud | On-Premise

Kind regards,
Carine

former_member596519 
Participant
‎2020 Dec 19 9:19 AM

 0 Likes

book-marked these links!

CarineTchoutouo 
Product and Topic Expert
2020 Dec 19 1:12 PM

 0 Likes

Hi Srinivasulu,

You’re welcome!

Kind regards,
Carine

CarineTchoutouo 
Product and Topic Expert
2020 Dec 22 8:06 PM

 1 Like

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:

ABAP for Cloud Development

RAP on SAP Cloud Platform – What’ New

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

ABAP Language

RAP on SAP S/4HANA - What's New

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: [Link]

Kind regards,
Carine

AndreasKunz 
Product and Topic Expert
2021 Jan 05 12:38 PM

 2 Likes

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 ([Link]
event-app) 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: [Link]

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.

Regards

Andreas
shais 
Participant
2021 Jan 05 12:56 PM

 1 Like

Thanks for the update.

It's a shame that official API for draft in UI5 freestyle isn't in the roadmap.

ravenclaw 
Participant
‎2021 Feb 11 6:31 AM

 0 Likes

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,

Tanmoy

CarineTchoutouo 
Product and Topic Expert
2021 Feb 11 11:10 AM

 1 Like

Hi Tanmoy,

Thank you for the feedback. Appreciate it.

RAP is available on SAP BTP ABAP environment and on SAP S/4HANA 1909 and higher.
In case you want to work on SAP BTP trial, then please create an ABAP Environment trial - if not yet the case.

Step-by-step instructions on how to do that are available here: [Link]


[Link]

Edit: Here are additional links on RAP:

[Link]
[Link]

Hope this helps you further.

Kind regards,

Carine

DenisGaland 
Participant
‎2021 Feb 12 9:34 PM

 1 Like

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?

former_member596519 
Participant
‎2021 Feb 12 9:51 PM

 0 Likes

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.

DenisGaland 
Participant
‎2021 Feb 13 7:56 PM

 0 Likes

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

Attila 
Active Participant
2021 Feb 14 11:49 PM

 1 Like

Hi Carine [Link],

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

CarineTchoutouo 
Product and Topic Expert
2021 Feb 18 11:27 AM

 2 Likes

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,
Carine

Attila 
Active Participant
2021 Feb 18 1:15 PM

 1 Like

Hi Carine,

thanks for the clarification.


have a nice day.

Attila

CarineTchoutouo 
Product and Topic Expert
2021 Mar 12 6:33 PM

 0 Likes

Hi Denis,

We only offer a Fiori elements App preview in ADT. The openSAP course focused on the back-end implementation. The proper SAP Fiori
elements application need to be created on top of the OData service using the SAP Fiori tools.

You can have a look at following tutorial for the purpose: Develop and Run SAP Fiori Application With SAP Business Application Studio

Additional RAP related info can be found here.

Hope this helps.

Kind regards,
Carine

LingWei 
Product and Topic Expert
2021 Jul 23 9:35 AM
 0 Likes

Hi Carine

Thanks for the blog.

I have a question about the "UI annotation", do we have any plan to enhance the UI annotation to make it more strong and flexible, this part
didn't mentioned in road map.

RajuSubba 
Participant
‎2021 Aug 23 7:22 PM

 2 Likes

Hi Carine

1. How to handle attachments in RAP?


2. Is it possible to trigger workflow on RAP behavior implementation?

former_member596519 
Participant
‎2021 Aug 24 9:19 AM

 1 Like

There was a similar question, some while ago, and the answer was "it is in the road map"...

Here, there was an answer referring to the attachment service as an alternative.

Maybe one could introduce an annotation for the cds view entity stating that it is a media-type.. Curious about the answer!

BR,

Aleks

ross_goodman 
Participant
2021 Oct 01 12:46 AM

 1 Like

Could I get clarification on this statement:-

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.

In relation to having RAP on premise in Hana 2020. To develop a new fiori app and deploy it to the launchpad in this on-premise situation
do I need to go anywhere near BAS with the RAP UI Service created ?

former_member596519 
Participant
‎2021 Oct 01 6:25 AM

 0 Likes

Hi Ross,

good question! even in S/4Hana 2020 on-prem, you need an IDE for the UI part of the "RAP-medal". So what you do is to develope the
CDS-View, Projection, Behavio Definition etc. Service Definition / Binding etc., enrich what you like with annotations (also UI-annotations for
the Fiori Elements to work), using eclipse, and then, you could preview the app using eclipse but it does not generate (at least as for now)
anything that you could deploy or use permanently. You need still an IDE to generate the "permanent" Version of the app, using either BAS
or WEB IDE.

But, in a different context, in Extensibility for S/4Hana Cloud, there is already (since a few years) the possibility, to have a UI generation for
custom CDS Views / Custom Objects, without the need of either BAS or WEB IDE. So not sure what the road map is at the end.

I hope it became a little bit more clear to you.

BR, Aleks

Andre_Fischer 
Product and Topic Expert
2021 Oct 01 7:43 AM

 1 Like

Hi Aleksandar,

the UI generation for custom CDS is part of the Key User Tools in SAP S/4HANA. These have been made available to allow for developing
very basic applications in SAP S/4HANA Cloud Systems so that one gets "in app extensibility" where you so far have no option to develop
"real" applications using ABAP. Key User tools are also available for SAP S/4HANA on premise.

The SAP Fiori UI's based on these simple OData services are automatically generated and deployed in your SAP S/4HANA system either
on premise or in the cloud.

The Key User Extensibility Tools of S/4 HANA | SAP Blogs

But this is not "real" development as you know it from the development of OData services based on the ABAP RESTful Application
Programming Model (RAP) which is currently only available in SAP S/4HANA on premise systems but not in SAP S/4HANA cloud systems.

As you can read in [Link] blog post Steampunk is going all-in | SAP Blogs we will see Embedded Steampunk to overcome this
technical restrictions in future releases. As Harald wrote, stay tuned for more infos at SAP TechED 2021!.

Kind regards,

Andre

 1 2 

You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.

Comment

 

Related Content

Building an LLM Agent using CAP


in Technology Blog Posts by SAP yesterday

SAP BTP ABAP Environment - Release 2605


in Technology Blog Posts by SAP Tuesday

Seamless Mobile-to-Web Single Sign-On with the Joule Work mobile app
in Technology Blog Posts by SAP Tuesday
Implementing Application log in RAP
in Technology Blog Posts by Members Tuesday

ABAP Trial: OData V4 service binding shows Published but runtime says service group not published
in Technology Q&A Monday

Top Liked Authors

AlexanderRother  53

lienards  49

MaheshGopalan  37

Raja_Gupta1  36

VineetBakshi  30

ThiloBerndt  25

Monsasa  25

michael_gall  23

ThomasReiss  22

david_bizer  22

View all 

Privacy Terms of Use Copyright Legal Disclosure Trademark Support Cookie Preferences Follow

You might also like