Skip to content

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

License

Notifications You must be signed in to change notification settings

SAP-samples/abap-platform-rap110

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

REUSE status

RAP110 - Build transactional SAP Fiori elements-based Apps with the ABAP RESTful Application Programming Model (RAP)

Level: Intermediate

Introduction

Description

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.

Table of Content

📋Requirements for attending this workshop

^Top of page

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:

  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

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.

🔎Overview

This workshop is all about RAP fundamentals; especially about how to use RAP core features when building greenfield implementations.

Click to expand!

Business Scenario

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:

List Report: RAP110 Travel App - List Report

Object Page: RAP110 Travel App - Object Page

Below is the simplified Flight data model underlying the app.

RAP110 Data Model

About the ABAP RESTful Application Programming Model (RAP)

^Top of page

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.

RAP Big Picture

🛠 Exercises

^Top of page

Main Exercises:

Follow these steps to enhance an existing OData UI service developed with RAP for a transactional SAP Fiori elements-based Travel Processing app.

Exercises Boosters
Getting Started --
Exercise 1: Generate and Inspect your Exercise Package --
Exercise 2: Enhance the Data Model of the Base and Projected BO --
Exercise 3: Enhance the BO Behavior Definition and Projection 💡
Exercise 4: Implement the Base BO Behavior - Late Numbering --
Exercise 5: Adjust the UI Semantics in the Metadata Extensions 💡
Exercise 6: Implement the Base BO Behavior - Validations 💡
Exercise 7: Implement the Base BO Behavior - Actions --
Exercise 8: Implement the Base BO Behavior - Determinations --
Exercise 9: Enhance the BO Behavior with Side Effects --
Exercise 10: Implement the Base BO Behavior - Functions --
Exercise 11: Enhance the BO Behavior with Business Events --
Exercise 12: Implement the Base BO Behavior - Dynamic Feature Control --

BO: Business Object
EML: Entity Manipulation Language
💡: Exercises with boosters that provide an accelerated way to do them.

Optional Exercises:

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.

Exercises --
Exercise 13: Create an SAP Fiori elements App and Deploy it to SAP BTP ABAP Environment with SAP Business Application Studio --
Exercise 14: Integrate an SAP Fiori App into the ABAP Fiori Launchpad (license required) --

📹Recording

^Top of page

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

📤Solution Package

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:

  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 ZRAP110_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-rap110
  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

^Top of page

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.

ℹFurther Information

^Top of page

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

Contributing

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.

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.

About

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

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published