Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
CarineTchoutouo
Product and Topic Expert
Product and Topic Expert

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

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.

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 CodeEnsuring Quality with ABAP Unit. Also check out the ABAP Testability and Analysis Community on sap.com.

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
66 Comments