How to Identify Standard RAP Applications in S/4HANA

How to Identify Standard RAP Applications in S/4HANA

SAP RAP

Before extending a Fiori app, the critical first step is discovering whether it's built on RAP or older frameworks. This clarity guides how you approach your enhancements.

Understanding whether an application is built using the RAP (RESTful ABAP Programming Model) framework or a freestyle approach is crucial for planning your extension strategy. This knowledge helps you determine the right tools, techniques, and development approach needed for your project.

The Starting Point: SAP Fiori Library

The SAP Fiori Library serves as the home for all SAP Fiori applications ever developed across various SAP systems, including SAP S/4HANA private cloud, public cloud, SAP BTP, and Business Suite. This comprehensive library is your go-to resource for understanding any Fiori application's technical foundation.

Step 1: Search for Your Application

To begin your investigation:

1. Navigate to the SAP Fiori Library

2. Search for your application using either:

   - Application name (e.g., "Manage Sales Orders")

   - Fiori Application ID (e.g., F3893)

3. Select the appropriate SAP system and release version for which you want to check the application details


Step 2: Identify the Application Type

Once you locate your application, examine the Application Type. If it shows Transactional (SAP Fiori Elements), this is your first indicator that the application is most probably developed using RAP.

But why "most probably" and not "certainly"?

Because some SAP Gateway-based OData services using the SADL (Service Adaptation Description Language) framework are also developed as SAP Fiori Elements applications.

For example, F4185 - Manage Revenue Recognition Issues - Sales Orders uses SADL but appears as a Fiori Elements application.

As you can see below, the OData Service belong to Manage Revenue Recognition Issues app is built on top of CDS entities - 

SADL


Confirming RAP-Based Applications

To definitively determine if a Fiori Elements application is RAP-based, you need to dig deeper into its implementation details.

Method 1: Check the OData Service Implementation

Considering the example of Manage Sales Orders - Version 2 (F3893) application. Navigate to the Implementation Information > Configuration > OData Service section in the Fiori Library. Here's what to look for:

Fiori App Configuration

Key Indicators of RAP Applications:

  1. Service Binding Opening: If the OData service opens in ADT (ABAP Development Tools) as a service binding, the application is RAP-based
  2. UI Prefix: If the OData service name starts with "UI", it's definitely a RAP-based application
  3. Service Binding Pattern: RAP services typically follow naming conventions that indicate their managed nature

Method 2: OData V4 Service Group Detection

For modern RAP applications, look for a separate section labeled OData V4 Service Group. If this section exists:

  1. Refer to the service name from this section instead of the standard OData Service section
  2. RAP applications commonly expose both OData V2 and V4 services. Sometimes the depricated or older OData service is also listed there.
  3. The V4 service group typically indicates a more recent RAP implementation

To summarise the steps -

Practical Example: Manage Sales Orders - Version 2 (App ID: F3893)

Application Type: Transactional (SAP Fiori Elements)

When you check the implementation information, you'll find:

- OData V4 Service Group: `C_SALESORDERMANAGE_SRV`

- This service opens as a service binding in ADT

- The application is confirmed as RAP-based

Service binding


Understanding the Technical Architecture - RAP vs. SADL Framework

RAP (RESTful ABAP Programming Model):

  • Modern SAP framework for S/4HANA applications
  • Uses CDS views, behavior definitions, and service bindings
  • Supports both OData V2 and V4 protocols
  • Provides built-in draft handling, validations, and determinations
  • Service bindings are visible in ADT

SADL (Service Adaptation Description Language):

  • Earlier framework using CDS views with Gateway services
  • Primarily OData V2 based
  • Uses @OData.publish annotations
  • Services managed through SEGW (Service Gateway)
  • Less integrated development experience

Best Practices for Investigation

  1. Always start with the Fiori Library - It's the most reliable source of application information
  2. Cross-reference multiple indicators - Don't rely on just the application type; check the OData service details
  3. Verify in your system - Confirm findings by checking the actual service bindings in your ADT

Thanks for reading ☺️