Home - Workshops about the ABAP RESTful Application Programming Model (RAP)
RAP110 - Build transactional SAP Fiori elements-based Apps with the ABAP RESTful Application Programming Model (RAP)
This repository contains the material for the hands-on session RAP110 - Building Fiori Apps with the ABAP RESTful Application Programming Model (RAP). It includes a managed Business Object (BO) with two BO nodes or entities, and features such as virtual elements in dealing with BO projection views, late numbering, determine actions, static default factory actions, side effects, functions, business event exposure, and additional save.
- Requirements for attending this workshop
- Overview
- Exercises
- Recording
- Solution Package
- How to obtain support
- Further Information
You need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC as well as the access to an appropriate ABAP system* to carry out the practical exercises of this workshop.
(*) The supported ABAP systems are SAP BTP ABAP Environment, SAP S/4HANA Cloud Public Edition, or at least the release 2023 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA. The ABAP Flight Reference Scenario and the openSource RAP Generator must imported into the relevant system - e.g. SAP BTP ABAP Environment Trial.
Click to expand!
The requirements to follow the exercises in this repository are:
- Install the latest Eclipse platform and the latest ABAP Development Tools (ADT) plugin
- Create an user on the SAP BTP, ABAP environment Trial (Read exception below)
- Create an ABAP Cloud Project
⚠ Exception regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam":
→ A dedicated ABAP system with pre-generated packages for the hands-on workshop participants will be provided.
→ Access to the system details for this on-site workshop will be provided by the instructors during the session.
This workshop is all about RAP fundamentals; especially about how to use RAP core features when building greenfield implementations.
Click to expand!
In this hands-on session we will guide you through the development of the OData service of a SAP Fiori elements based Travel Processing App with RAP, using the managed business object (BO) runtime implementation with semantic key and late numbering. We will give you more details on the scenario in the different exercises.
The OData service you are going to implement is based on the ABAP Flight Reference Scenario. To set the business context, the scenario is the following: The department responsible for managing worldwide Travels for multiple Agencies is requesting you to build a new Fiori app with draft capabilities for processing (i.e. creating, updating and deleting) Travels.
Click to expand!
The resulting Travel app is a SAP Fiori elements-based List Report app with search, filter, and draft capabilities for processing travel bookings. A navigation to an Object Page for displaying the details of each travel entry in the list report is offered. The application will look like this:
Below is the simplified Flight data model underlying the app.
ABAP Cloud is the development model for building cloud-ready business apps, services and extensions on SAP BTP and all SAP S/4HANA editions, i.e. public or private cloud, and even on-premise.
The ABAP RESTful Application Programming Model (RAP) is the centerpiece of ABAP Cloud development model for building transactional, cloud-ready SAP Fiori apps and Web APIs. RAP offers a set of concepts, tools, languages, and powerful frameworks provided on the ABAP platform. It supports the efficient development of innovative and cloud-ready enterprise applications, as well as the extension of SAP standard applications in an upgrade-stable way in the cloud and on-premise.
Click to expand!
RAP is an enabler for improving the user experience and innovating business processes in ABAP-based SAP solutions by leveraging SAP Fiori, SAP HANA, and the cloud. It is a long-term strategic solution for ABAP development on SAP’s flagship product SAP S/4HANA, in the cloud and on-premise (as of release 1909), as well as on the SAP BTP ABAP Environment.
The illustration below shows the high-level end-to-end development stack when working with RAP.
Follow these steps to enhance an existing OData UI service developed with RAP for a transactional SAP Fiori elements-based Travel Processing app.
BO: Business Object
EML: Entity Manipulation Language
💡: Exercises with boosters that provide an accelerated way to do them.
The main exercises (1-12) focus on the development capabilities available in the ABAP Development Tools for Eclipse (ADT). The SAP Fiori elements App Preview integrated in ADT is used to preview the resulting app. To create, deploy, and run the actual SAP Fiori elements-based Travel app using the SAP Business Application Studio, follow the instructions in the following tutorials from the SAP Developer Center:
Info: Exercise 13 can be done after any of the main exercises (1-12), but preferably after at least Exercise 5.
For a compact overview of the exercises, watch the session replay from SAP TechEd 2023 (gated content):
⏺ Delve into ABAP Cloud on SAP BTP, ABAP Environment – AD181v
You can import the solution package
ZRAP110_SOL
into your system*.(*) The supported ABAP systems are SAP BTP ABAP Environment, SAP S/4HANA Cloud Public Edition, or at least the release 2023 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA. The ABAP Flight Reference Scenario must available in the system before importing the solution package.
Follow this instructions to import the solution:
- Install the abapGit plugin in your ABAP Development Tools (ADT) for Eclipse if you have not already done so.
- In ADT, create the ABAP package
ZRAP110_SOL
in your system. - Open the abapGit Repositories view in ADT and follow the steps below.
- Create a link to the repository using the Link abapGit Repository window.
📤 Git repository URL: https://github.com/SAP-samples/abap-platform-rap110 - Now pull/import the solution implementation using the context menu Pull....
- Activate the imported development objects (Ctrl+Shift+F3).
No known issues.
Support for the content in this repository is available during the actual time of the online session for which this content has been designed. Otherwise, you may request support via the Issues tab.
For additional support, ask a question in SAP Community.
You can find further information on the ABAP RESTful Application Programming Model (RAP) here:
- 📍 Overview of the ABAP Cloud Sessions at SAP TechEd 2023
- 📃 State-of-the-Art ABAP Development with RAP | SAP Community- A collection of diverse getting started materials.
- 📄 ABAP Cloud – SAP S/4HANA extensibility – May 2023 update | SAP Blogs
- ❓ Most frequently asked questions: RAP FAQ
- 🛠 Develop and Run a Fiori Application with SAP Business Application Studio | SAP Tutorials
- 🛠 Landing page with various hands-on workshop materials on ABAP Cloud, including RAP and embedded analytics
If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
Copyright (c) 2024 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.