Skip to content

SAP-samples/abap-platform-rap100

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Home - Workshops about the ABAP RESTful Application Programming Model (RAP)

REUSE status

RAP100 - Build Fiori Apps with the ABAP RESTful Application Programming Model (RAP)

Description

This repository contains the material for the hands-on session RAP100 - Building Fiori Apps with the ABAP RESTful Application Programming Model (RAP).

Table of Content

📋Requirements for attending this workshop

^Top of page

To complete the practical exercises in this workshop, you need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC and the access to a suitable ABAP system - i.e. SAP BTP ABAP Environment, SAP S/4HANA Cloud Public Cloud, or at least release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA.

The ABAP Flight Reference Scenario must be 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:

  1. Install the latest Eclipse platform and the latest ABAP Development Tools (ADT) plugin
  2. Create an user on the SAP BTP ABAP Environment Trial (Read exception below)
  3. Create an ABAP Cloud Project
  4. Adapt the Web Browser settings in your ADT installation

Exception regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam":
→ A dedicated ABAP system for the hands-on workshop participants will be provided.
→ Access to the system details for the workshop will be provided by the instructors during the session.

🔎Overview

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 internal unmanaged early numbering. We will give you more details on the scenario in the different exercises.

The resulting app will look like this:

Travel App

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.

Below is the simplified data model underlying the app.

Travel App

Please note:
The purpose of the different exercises is to show you how to implement the different RAP core features - and less on having the perfect business scenario. To remove a certain complexity in the implementation, we will use a very simplified data model with only one BO node, the Travel entity.
For implementation examples with more than one BO node, you can have a look at:

🛠Exercises

^Top of page

Follow these steps to build an OData service on top of a draft-enabled RAP Business Object (BO) to develop a transactional, draft-enabled Fiori elements List Report app from scratch using RAP. You will also write an ABAP unit test for it and explore the Entity Manipulation Language (EML).

Beginner Level

Exercises --
Getting Started --
Exercise 1: Create Database Table and Generate UI Service --
Exercise 2: Enhance the BO Data Model and Enable OData Streams --
Exercise 3: Enhance the BO Behavior – Early Numbering --
Exercise 4: Enhance the BO Behavior – Determinations --
Exercise 5: Enhance the BO Behavior – Validations --

Intermediate Level

The exercises below are based on the exercise 1 to 5 from the Beginner Level section.

Exercises --
Exercise 6: Enhance the BO Behavior – Actions --
Exercise 7: Enhance the BO Behavior – Dynamic Feature Control --
Exercise 8: Write an ABAP Unit Test for the RAP BO --
Exercise 9: External API-based Access to the RAP BO with EML --

Additional Exercises:

The following exercises are based on the Exercises 1-9 from the Beginner and Intermediate Level sections.
However, you can perform these exercises in the given order already after Exercise 1 if you want to test the result of the following exercises directly in the real SAP Fiori elements-based Travel app instead of using the ADT preview.

Exercises --
Exercise 10: Create an SAP Fiori elements App and Deploy it to SAP BTP, ABAP Environment with SAP Business Application Studio --
Exercise 11: Integrate an SAP Fiori App into the ABAP Fiori Launchpad (license required) --
Exercise 12: Create SAP Fiori Launchpad Space and Page Templates (license required) --

🔁Recordings

^Top of page

Watch the replay of the virtual workshop on RAP held SAP TechEd in 2022. It contains a compact introduction to RAP and a demonstration of the exercises 1 to 7.

📹 Build and Extend Apps with the ABAP RESTful Application Programming Model

📤Solution Package

You can import the solution package ZRAP100_SOL into your system*.

(*) The supported ABAP systems are SAP BTP ABAP Environment, SAP S/4HANA Cloud Public Edition, or at least the release 2022 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.

Click to expand!

Follow this instructions to import the solution:

  1. Install the abapGit plugin in your ABAP Development Tools (ADT) for Eclipse if you have not already done so.
  2. In ADT, create the ABAP package ZRAP100_SOL in your system.
  3. Open the abapGit Repositories view in ADT and follow the steps below.
  4. Create a link to the repository using the Link abapGit Repository window.
    📤 Git repository URL: https://github.com/SAP-samples/abap-platform-rap100
  5. Now pull/import the solution implementation using the context menu Pull....
  6. Activate the imported development objects (Ctrl+Shift+F3).

⚠Known Issues

No known issues.

🆘How to obtain support

Create an issue in this repository if you find a bug or have questions about the content.

For additional support, ask a question in SAP Community.

About the ABAP RESTful Application Programming Model

^Top of page

The ABAP RESTful Application Programming Model (RAP) is at the heart of the ABAP Cloud development model (ABAP Cloud) for implementing transactional scenarios.

ABAP Cloud is the new ABAP development model for building innovative and cloud-ready business apps, services, and extensions that adhere to the principles of clean core extensibility on all SAP S/4HANA editions, both in the cloud and on-premise, as well as on the SAP Business Technology Platform (SAP BTP).

Click to expand!

The ABAP RESTful Application Programming Model (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.

RAP offers a set of concepts, tools, languages, and powerful frameworks for efficiently building cloud-ready, transactional SAP Fiori apps, web APIs, and local APIs in the cloud and on-premise. 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.

RAP Big Picture

Learn more: Modern ABAP Development with the ABAP RESTful Application Programming Model (RAP)

Further Information

^Top of page

You can find further information on the ABAP RESTful Application Programming Model (RAP) here:

License

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.