ABAP Cloud FAQ

In the following we provide answers to the most common questions on ABAP Cloud, clean core, key user extensibility, SAP BTP, ABAP environment (aka Steampunk), developer extensibility with SAP S/4HANA Cloud ABAP Environment (aka Embedded Steampunk), public APIs and the 3-tier extensibility model.

ABAP Cloud

Is ABAP Cloud the new name for Steampunk?
No. ABAP Cloud is the new cloud-ready ABAP development model. It was first introduced in Steampunk allowing customers to build custom ABAP apps and extensions in the cloud on SAP BTP. This ABAP Cloud development model is now also available in all SAP S/4HANA editions, allowing customers and partners to build cloud-ready and upgrade-stable custom ABAP Cloud code directly on the SAP S/4HANA stack.
Is ABAP Cloud is only usable in the cloud?

No, ABAP Cloud can be used in SAP S/4HANA Cloud Private Edition and SAP S/4HANA on-premise as well. Usage of ABAP Cloud in these SAP products is recommended (with 3-tier model) but not mandatory.

What is the "release cycle" of ABAP Cloud?
ABAP Cloud as part of the SAP BTP ABAP Environment is updated in a quarterly release cycle. ABAP Cloud as part of SAP S/4HANA Cloud Public Edition is updated in a half-yearly release cycle. ABAP Cloud as part of SAP S/4HANA Cloud Private Edition and SAP S/4HANA on-premise is updated in a yearly release cycle (starting with 2023 in a bi-yearly release cycle).
Do I need a special license to develop in ABAP Cloud? Which additional costs do I need to pay?

The ABAP Cloud capabilities are covered by corresponding developer licenses in SAP S/4HANA Cloud, public and private editions and on-premise. No additional costs apply.

Does ABAP Cloud in the SAP S/4HANA Cloud require a separate license?
The ABAP Cloud capabilities are covered by corresponding developer licenses in SAP S/4HANA Cloud, public and private editions.
In which releases can I use ABAP Cloud?

ABAP Cloud is available in the following products and releases:

  • SAP BTP ABAP Environment: all releases (mandatory)
  • S/4HANA Cloud Public Edition: since 2208 for new customers (mandatory)
  • S/4HANA Cloud Private Edition: since 2022 (recommended, 3-tier model)
  • S/4HANA on-premise: since 2022 (recommended, 3-tier model)
Can ABAP Cloud be downported to lower releases (<2022)?

No, the technology and content (SAP S/4HANA APIs and so on) are only available for release >= 2022.

Will Steampunk, Embedded Steampunk and SAP S/4HANA Cloud Private Edition be based on the same ABAP platform stack?
Both Steampunk, SAP S/4HANA Cloud, public edition, private edition and SAP S/4HANA on-premise are based on the same ABAP Platform (Cloud) stack and same ABAP Kernel. All innovations will be delivered to all solutions according to their release cycle, see above.
In which releases can the ABAP language version be changed to "ABAP for Cloud Development"?

In SAP S/4HANA 2020 and 2021 the language version of ABAP development artefacts can be changed. In SAP S/4HANA 2022 the language version of all development objects (including ABAP Dictionary objects) can be changed. In the ADT tools the corresponding language version is called "ABAP for Cloud Development".

See also ADT support for ABAP Cloud.

How can customers prepare for the ABAP Cloud transition on lower-level releases (< 2022)?

General: customers should use RAP, ABAP CDS, the ABAP development tools or Eclipse where applicable.

Releases older than 2020 (aka 2009)

The 3-tier model is not supported in these releases. Use recommended classic extensibility techniques and custom code management for on-stack extensions (see chapter 5.3 in the Extensibility guide)

Release 2020 (aka 2009) and 2021 (aka 2109)

Follow the 3-tier extensibility model recommendations as for the 2022 release (described in the Extensibility guide), but the following changes apply for Tier 1

  • Use a structure packages (no software component) for Tier 1
  • Use ABAP Standard language version (not ABAP for Cloud Development) in Tier 1 and use the ABAP test cockpit to enforce ABAP Cloud rules
  • Use Tier 2 wrappers to access local SAP objects. There are no validated released local SAP APIs in these older releases.

Release 2022 or newer

Follow the Extensibility guide.

Are there any recommendations on use cases and matching extensibility options for development with ABAP Cloud?

Yes, more details are documented in the guide ABAP Cloud - Technical Use Cases and Recommended Technologies.

Can SAP CDS views which are not released be released by customers?

No, non-public SAP CDS views need to be wrapped and released for ABAP Cloud development by the customer.

Does SAP provide guidance how to wrap SAP objects?

Yes, more details are provided in the guide ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud, private edition, and SAP S/4HANA. In addition the blog Classic APIs for Tier 2 ABAP Cloud Development in SAP S/4HANA Cloud Private Edition provides information which classic SAP APIs must be used for development of custom wrappers.

Is it allowed to create objects of arbitrary object types in ABAP Cloud packages?

No, it is possible to create only objects of object types that are allowed for ABAP Cloud. If this does not work properly in your SAP S/4HANA 2022 system, please implement the SAP Note 3300493 - Enforce Language Version 5 in ABAP Cloud.

Are SAP HANA native calculation views part of the ABAP Cloud development model?

Calculation views cannot be used to enforce the clean core rules. CDS and AMDP (ABAP managed database procedures) provide a good scope and shall be used instead.

How is AMDP managed in terms of upgrade stability?

Currently, read access is supported only. Write access is planned as well but requires proper enablement on the SAP HANA layer.

How does RAP extensibility work?

The basic concepts of RAP extensibility can be found in the Extensibility Guide. Further information is available in the RAP Extensibility online documentation on SAP Help Portal.

How can custom tables be created?

Custom tables can be defined with the ADT in Eclipse tools, see the Create Database Tables online documentation on SAP Help Portal.

Shall custom tables be created with the key user tools or with Embedded Steampunk?

It depends on the use case. Simple field extensibility use cases should be handled with the key user tools. More complex extension scenarios should be implemented with the ADT tools. "When to use what" is explained in the Extensibility Guide.

How shall implicit enhancements be handled moving forward?

Like modifications implicit enhancement spots should be avoided as an extension technology. Details are in the Extensibility Guide (p.30).

Does SAP plan to migrate all its development artefacts to RAP?

RAP is the default programming model in SAP S/4HANA to build Fiori apps, services and local APIs. For the public cloud scope SAP S/4HANA plans to expose RAP facades for the main SAP object types (business objects).

Will there be any classic transactions existing in SAP S/4HANA Cloud or everything will be in SAP Fiori?

The answer differs for SAP S/4HANA Cloud, private and public editions. The target architecture of a modernized SAP S/4HANA Cloud, public edition core is 100% based on the SAP Fiori / SAP UI5 architecture stack. Currently, both editions contain classic and SAP Fiori based apps.

Clean core

What is "clean core"?

Clean core describes a system or a landscape of systems that is as close to standard as possible, while running cloud-compliant extensions and integrations. It allows you to adapt your system and system landscape to changing business requirements and in order to adopt new capabilities. The main dimensions of clean core are

  • Keep competitiveness while reducing complexity of business processes
  • Decouple extensions from standard
  • Control data according to latest standards
  • Keep the landscape reliable and flexible during integrations
  • Keep the operations effective and efficient

A strong governance is required for each technical dimension of clean core.

How does ABAP Cloud relate to Clean Core?

ABAP Cloud is fully compliant with the clean core design principles for extensions that are fully decoupled from SAP standard, cloud-ready and upgrade stable. ABAP Cloud is the development model to build clean core compliant business apps, services or extensions. ABAP Cloud based on released objects and public APIs and extension points. Testing efforts are dramatically reduced.

Is Clean Core also possible on-stack or only on SAP BTP?

Clean core compliant ABAP extensions can be developed also on stack in SAP S/4HANA by means of key user and developer extensibility (based on Embedded Steampunk). On-stack development with ABAP Cloud is highly recommended by SAP for tightly-coupled custom scenarios and use cases.

Are there tools available to identify direct access to tables that can be replaced with access to released CDS views?

Yes, the ABAP test cockpit helps to identify such issues. See the Extensibility Guide (p.26) and the blog How to make your custom code cloud-ready and upgrade-stable for more details.

Clean core is intended to prepare your system to be cloud-ready and upgrade-stable. What happens to the existing User Exits, BTEs, BAdIs and Implicit Enhancements?

In SAP S/4HANA on-premise and SAP S/4HANA Cloud, private edition mitigations for missing APIs/extension points and existing legacy code are needed: Please see the 3-tier extensibility model described in the Extensibility Guide.

Are there tools to migrate custom code to clean core strategy or is it manual?

See the Extensibility Guide. There are tools for custom code remediation and ABAP test cockpit to analyze the code and to provide solution proposals (replace MARA access by I_PRODUCT access), but the clean core transformation is manual, especially for bigger changes like transforming from Dynpro to SAP Fiori.

SAP BTP ABAP Environment (aka Steampunk)

What is the benefit of Steampunk (incl. additional costs) if we can use Embedded Steampunk with the existing developer license for SAP S/4HANA?

Tightly coupled extensions run very well on Embedded Steampunk. However, for a decoupled extension that has its own lifecycle, or targets a separate user group (no ERP users), or integrates with several ERP systems and cloud services, or is a partner SaaS application or standalone Code Vulnerability Analyzer (CVA), or if you want to leverage the multi-tenancy capabilities a side-by-side approach is beneficial.

What is the advantage of using SAP BTP for side-by-side extensions vs using public cloud platforms to build these extensions?

SAP BTP is optimized to build and run business apps and to integrate with SAP solutions (for example, the extended SAP S/4HANA system).

Is Steampunk supported on Microsoft Azure? Or on AWS only?

Since June 2023 SAP BTP ABAP Environment for Microsoft Azure has been available in all seven SAP BTP-supported data centers. See the blog SAP BTP ABAP Environment on Microsoft Azure for more details.

Key user extensibility

What are there differences between BAdI implementation in key user extensibility and developer extensibility?

BAdIs can be implemented using key user extensibility (Custom Logic Fiori app) or developer extensibility (ABAP development tools for Eclipse). The differences are:

  • The implementation with key user extensibility is in ABAP language version ABAP for Key Users, the implementation with developer extensibility is in ABAP language version ABAP for Cloud Development. This results in a different ABAP language scope.
  • With key user extensibility only the number of possible implementations is limited:
    • If the BAdI has no filter, only one implementation is supported
    • If the BAdI has a filter, multiple implementations are supported, but the filter conditions must not overlap.
Why can't I add an ABAP Cloud package (package with the ABAP language version “ABAP for Cloud Development”) in the "Configure Software Packages" app (although key user extensibility is in tier 1 of the 3-tier extensibility model)?

In the 3-tier extensibility model, tier 1 consists of 3 parts:

  • Developer Extensibility (aka ABAP Cloud Development aka "Embedded Steampunk")
  • Key User Extensibility
  • Side-by-side extensibility

Technically developer extensibility and key user extensibility are differently implemented and consequently they are separated by software component and package hierarchy:

Developer extensibility objects (aka ABAP Cloud Development) are created directly by a developer in a software component and packages which have ABAP language version ABAP for Cloud Development. Consequently all objects must have ABAP language version ABAP for Cloud Development.

Key user objects are generated by key user tools (typically one extensibility item which you create in key user tools consists of many objects). These objects reside in packages that are separated from packages from developer extensibility (and from classic extensibility) and they are managed completely by the key user tools. The packages have ABAP language version Standard and the objects have either ABAP language version Standard of ABAP for key users.

We recommend to consider SAP Note 2478895 - ATO Package Lost in Upgrade.

I am developing in the ABAP language version "ABAP for Cloud Development". Do I have access to key user objects?

In general, objects developed with developer extensibility (ABAP language version ABAP for Cloud Development) and key user extensibility objects are separated. But there are some exceptions that are described in the following blog post Layering of Key User Extensibility and Developer Extensibility and in the SAP Help Portal documentation Key User Extensibility and Developer Extensibility.

Developer Extensibility, SAP S/4HANA Cloud ABAP Environment (aka Embedded Steampunk)

What is Embedded Steampunk? How does it relate to developer extensibility?

Embedded Steampunk is a new extensibility option for ABAP developers available for SAP S/4HANA Cloud Public Edition (version 2208) and SAP S/4HANA 2022 (both Cloud, private edition and on-premise) often referred to as developer extensibility (in contrast to key user extensibility). Embedded Steampunk allows to develop ABAP-based extensions which are cloud-ready and upgrade-stable avoiding adaptation efforts after an SAP upgrade or version change. Embedded Steampunk enables the development of tightly coupled extensions directly on the SAP S/4HANA system. SAP offers a public interface consisting of released objects and local public APIs that extensions can use to access services offered by the underlying ABAP platform and the SAP S/4HANA business objects. Extensions are implemented with the help of the ABAP RESTful Application Programming Model (RAP).

Is Embedded Steampunk an embedded instance of Steampunk?

Embedded Steampunk is not an instance of SAP BTP ABAP Environment (Steampunk) embedded into an SAP S/4HANA Cloud subscription. Embedded Steampunk is an extensibility option offered by SAP S/4HANA Cloud that inherits all capabilities of Steampunk such as RAP, the development against upgrade-stable public APIs and released objects and extension points. A developer logs on directly to the SAP S/4HANA Cloud system and develops ABAP extensions directly on top of the SAP S/4HANA technology stack. Both Steampunk and Embedded Steampunk are based on the ABAP Cloud development model.

Can Embedded Steampunk be downported to lower-level releases (< 2022)?

No, the technology and content (SAP S/4HANA APIs and so on) are only available for release >= 2022.

Do extension apps and extensions to SAP objects in Embedded Steampunk have an impact on performance?

Extension apps and extensions to SAP objects in Embedded Steampunk run on the same SAP S/4HANA Cloud technology stack. Therefore, they can have a performance impact like in private cloud or on-premise deployments and need to be implemented carefully.

What are the advantages of using Embedded Steampunk in comparison to side-by-side Steampunk?

Extensions implemented in Embedded Steampunk run on top of the SAP S/4HANA Cloud technology stack. All requests against local public APIs and released CDS views are executed directly on the SAP S/4HANA Cloud application server. Roles in the underlying SAP S/4HANA Cloud system can be reused. This approach is optimal for tightly coupled extensions.

Is Embedded Steampunk released for SAP S/4HANA 2022 on-premise?
How should customers enable "Embedded Steampunk" for SAP S/4HANA Cloud, private edition and SAP S/4HANA on-premise?

As of SAP S/4HANA 2022 on-premise customers can configure "Embedded Steampunk” in their SAP S/4HANA system as described in the Set Up Developer Extensibility online documentation on SAP Help Portal.

Public APIs

Should customers mitigate missing local APIs by using Steampunk with remote APIs?

No, tightly coupled extensions shall be implemented with Embedded Steampunk following the 3-tier model and wrappers.

How can customers request missing APIs?

Customers can request missing APIs through the SAP Influence channel: https://influence.sap.com/sap/ino/#/campaign/2759

What does upgrade stability for the APIs mean?

No changes are made to the signature of an API that are incompatible (requiring adaptation) from a customer point of view. The underlying implementation might change, but the semantics of the interface remain unchanged.

Where can customers find a list of all public APIs and released objects?
Where can customers find a list of stable SAP APIs for tier 2 development?

SAP released the list of Classic ABAP Cloud APIs,which can be leveraged in the Cloud API enablement layer (tier 2). See the blog post Classic APIs for Tier 2 ABAP Cloud Development in SAP S/4HANA Cloud Private Edition.

Most of the OData released APIs are still on classic ABAP, not really RAP models. What is the roadmap from SAP on this?

Default for new APIs is OData v4 based on RAP. All published OData V4 APIs on SAP API Business Hub are based on RAP. It is not planned to migrate all existing OData V2 APIs to V4 in a single effort. This will be an iterative process whenever API changes are required.

3-tier extensibility model

How shall customers transform large portions of legacy code to ABAP Cloud?

Customers should follow the guidelines as laid out in the Extensibility Guide (chapter 6): retire unused code using the custom code management tools, renovate or innovate existing code to be ABAP Cloud compliant.

Does the 3-tier extensibility model replace the former Extensibility Guide for SAP S/4HANA Cloud, extended edition, see the SAP Note 2920697?

Yes, customers should follow the guidelines laid out in the new Extensibility Guide.

Which governance should be set up to enforce the 3-tier extensibility model?

Authorizations should be set up so that developers use the language version "ABAP for Cloud Development". In addition, ABAP test cockpit checks should be regularly scheduled. Details are explained in the Extensibility Guide.

Why is RAP mandatory in tier 1?

RAP brings a lot of advantages: reduction of TCD, standardization, stateless model with draft-based context, one business object for several exposure channels, standard programming model for SAP S/4HANA and so on.

Are regression tests after an upgrade still necessary?

Testing after an upgrade especially in private cloud and on-premise deployments are still necessary, but the upgrade effort can be dramatically reduced when adhering to the 3-tier model. In public cloud customers can opt-in for a test upgrade to detect upgrade issues at an early stage.

Which UI technologies shall be used in tier 1?

SAP Fiori is the standard UI technology for tier 1. Key user adaptations also belong to tier 1.

Can SAP objects be released by the customer?

SAP objects which are not released can be wrapped into a custom object (of tier 2) which can be released for cloud development. For more details how to accomplish this see the guide ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud, private edition, and SAP S/4HANA.

Are there any plans to provide a solution to migrate custom apps to RAP model which are currently based on ABAP programming model for SAP Fiori?

Yes, we plan to provide tool support to migrate BOPF based Fiori apps to a RAP compatible model (the result of this migration will be a RAP wrapper).

How can we control usage of ABAP Cloud in 3-tier development?

ABAP Test Cockpit will help you to control usage of ABAP Cloud within the 3-tier development. For more details see the blog How the ABAP Test Cockpit supports you to adopt ABAP Cloud.