Skip to content

Programming Models

Depending on the selected environment and supported language, you have the choice of different Programming Models. If possible, choose The Recommended Path, but this can differ for costs, knowledge or other reasons.

Cloud Environment

ModelDescription
Fiori Application Programming ModelBuilding blocks of reusing existing SAP services to build up new Business Solutions.
SAP Cloud Application Programming Model (CAP)Framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a ‘golden path’ of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks.
SAP Cloud SDKVersatile set of libraries and tools for developers to build applications in a cloud-native way and deliver them via the SAP BTP.

ABAP Environment

Evolution of the ABAP Programming Models

The ABAP platform development team evolutionary enhanced the way of development, especially for SAP Fiori Elements.

ModelPlatformDescription
ABAP RESTful Application Programming Model (RAP)SAP BTP ABAP Environment or SAP S/4HANA
≥ 7.54 (1909)
Defines the architecture for efficient end-to-end development of intrinsically SAP HANA-optimized OData services (such as Fiori apps) in SAP BTP ABAP Environment or Application Server ABAP. Evolutionary successor of the ABAP Programming Model for SAP Fiori.
The ABAP Programming Model for SAP Fiori (BOPF)ABAP Platform ≥ 7.5Based on modern and proven technologies such as CDS, BOPF and SAP Gateway. A lightweight CDS-based flavor of the BOPF framework is used in this context for the transactional processing.
Classic ABAP Application ProgrammingABAP Platform ≤ 7.5With the ABAP release 7.4, SAP started to heavily optimize the ABAP platform for its in-memory database SAP HANA. In this context ABAP Core Data Services (CDS) were introduced to offer the next generation data modeling infrastructure and data access. CDS-based data models are semantically rich data models that can be used for all application domains. Additionally, SAP Gateway became an integral part of the AS ABAP with release 7.4 and the Business Object Processing Framework (BOPF).
Evolution of the ABAP Programming Model

The ABAP RESTful Application Programming Model is the evolutionary successor of the ABAP Programming Model for SAP Fiori. It is generally available to customers and partners within SAP Cloud Platform ABAP Environment starting with release 1808 and within ABAP Platform starting with release 7.54 SP00 (1909 FPS00).

ABAP RESTful SAP S/4HANA On-Premise release dependencies

  • Managed runtime implementation type (Greenfield) is available with SAP S/4HANA ≥ 2020
  • OData v4 service binding is available with SAP S/4HANA ≥ 2020 FPS01

ABAP Platform for SAP S/4HANA 2021

With the 2021 release, the ABAP RESTful Application Programming Model (RAP) closed open gaps (like unmanaged early numbering) and is the recommended path (currently best practise).

See the Overview and Product Highlights and read the blog ABAP Platform for SAP S/4HANA 2021 containing regularly updated ABAP Platform news.

Feature Availability Matrix

Compact overview of ABAP Programming Model from (Andre Fischer Blog).

 GW V2GW V4BOPFRAPRAP
Release≥7.0≥7.52≥7.51SAP BTP ABAP EnvironmentSAP S/4HANA ≥1909
Greenfield implementation++++≥2020 FSP1
Brownfield implementation++++
OData V2++++
OData V4++≥2020 FSP1
Draft handling++≥2020 FSP1
Multi-Inline-Edit++
Asynchronous OData V4 Requests++≥2020 FSP1
Backend annotations in CDS views(+)+++
Backend annotations using code based implementation++(+)
Local annotations in SAP Fiori Tools+++++

(+) When using Referenced Data Source Approach (RDS)

Implementation types

Greenfield (managed)Brownfield (unmanaged)
With greenfield implementation we mean scenarios where no legacy coding is called. Such scenarios are also called managed since in this case the underlying framework takes care of all create, update and delete requests and stores them in the database.With brownfield implementation we mean scenarios where existing legacy code such as a BAPI is being called by your service implementation in order to store the changed data in the database. Such scenarios are also called unmanaged. Another name for such scenarios are managed scenarios with a self implemented save.

SAP Gateway

SAP Gateway Foundation (SAP_GWFND) is a software component which is available within SAP NetWeaver ≥ 7.5. Previous NetWeaver releases need the optional SAP NetWeaver Gateway 2.0 Add-On.

The Gateway Foundation consists of the core components:

ComponentDescription
GW_COREOData libraries
IW_FNDRuntime component, metadata store, shared services
IW_BEPBusiness enablement provisioning
IW_HDBBusiness content adapter for SAP Gateway with SAP HANA to enable exposure of SAP HANA views

Deployment Options

Depending on your preferred system landscape, different deployment options are available for SAP Gateway Foundation:

OptionDescription
Central Hub DeploymentService development in the SAP Business Suite backend system
Central Hub DeploymentService development in SAP Gateway Foundation hub system
Embedded DeploymentService development in the SAP Business Suite system

The following graphic provides a simplified overview of the different deployment options:

SAP Gateway Deployment Options