Skip to Content
Technical Articles
Author's profile photo Thomas Schneider

SAP S/4HANA Extensibility: A Learning Journey

In this blog post, I want to make proposal for a learning journey with reference to learning material and links.

This blog post was completely rewritten on October 2022 to reflect the release of the developer extensibility (“SAP S/4HANA Cloud Environment”, or “Embedded Steampunk”). In June 2023 I added the aspects of “ABAP Cloud”.

As a small disclaimer, I want to point out, that this blog post focused on the ABAP-based extensibility options. This is because ABAP is in my comfort zone, and I want to leave the topics of the other extensibility options on SAP BTP to the experts in this domain.

This blog post is organized in 6 sections

  1. Get an Overview on The Extensibility Concept
  2. Key User Extensibility
  3. Developer Extensibility (aka SAP S/4HANA Cloud Environment or “Embedded Steampunk”)
  4. Classic Extensibility
  5. SAP BTP ABAP Environment (aka “Steampunk”)
  6. SAP BTP: Other Environments

Please note that this is collection of links to specific documents and resources. Please do not ask questions in the comments section of this document but refer to the specific documents or the community and ask your questions on specific extension tasks and tools there!

1. Get an Overview on The Extensibility Concept

As a first step, get a basic understanding of the extensibility concept for SAP S/4HANA. The basic buildings blocks of the extensibility concept are:

  • “On-stack” extensibility using
    • key user extensibility tools
    • developer extensibility (aka SAP S/4HANA Cloud Environment or “Embedded Steampunk”, introduced with SAP S/4HANA Cloud 2208 and SAP S/4HANA 2022)
    • classical extensibility (aka classic ABAP custom development)
  • Side-by-side extensibility with SAP BTP using
    • SAP BTP ABAP Environment
    • SAP BTP: other environments and services, such as Java or Node.JS, powered by the SAP Extension SDK, …
  • ABAP Cloud is the ABAP development model to build cloud-ready business apps, services, and extensions. It covers developer and key user extensibility with SAP BTP and SAP S/4HANA and works with public cloud, private cloud, and on-premise.

To understand the extensibility concept, I recommend:

To understand ABAP Cloud, read the blogs of my colleagues, namely ABAP Cloud and ABAP Cloud – What Does It Comprise? for a starting point.

The whitepapers include also the recommendation when to use which extensibility option.

The SAP Application Extension Methodology provides methodology for assessing customer extension use cases and defining an extension target solution in a structured and formalized way. It provides a structured, technology-agnostic approach for customers and partners to define an organization-specific extension strategy. It covers challenges like ‘clean core’, ‘cloud readiness’, and ‘future proof’.

2. Key User Extensibility

The key user extensibility tools are a major pillar of the extensibility concept of SAP S/4HANA. They are designed for the cloud, but also made available in the on-premise / private cloud edition.

Key User Extensibility is available

  • in SAP S/4HANA Cloud, public edition
  • in SAP S/4HANA (on-premise) and SAP S/4HANA Cloud, private edition and extended edition
  • (Note: for short, I will write SAP S/4HANA OP/PCE for SAP S/4HANA (on-premise) and SAP S/4HANA Cloud, private edition)

2.1 Get an Overview

In my blogs I introduce the key user extensibility tools:

2.2 Teasing Videos

Laying back for a moment, you might enjoy some videos to get a visual impression on extensibility look and feel:

2.3 Getting It All Together in a Textbook or in a Training

Schneider, Thomas; Wolf, Werner: Erweiterungen für SAP S/4HANA (in German) SAP PRESS 2018. (in German): https://www.rheinwerk-verlag.de/erweiterungen-fur-sap-s4hana_4613/

Extending SAP S/4HANA Cloud and SAP S/4HANA: https://open.sap.com/courses/s4h7/

Key Technical Topics in a System Conversion to SAP S/4HANA https://open.sap.com/courses/s4h14 -> Week 3, Units 3, 5, and 6

2.4 Documentation

Before you start developing, it might be helpful to have a look into the documentation (Note: Language and Version of the documentation can be selected in the right upper corner of the screen.):

Key User Extensibility Tools in SAP S/4HANA Cloud, public cloud edition
https://help.sap.com/viewer/p/SAP_S4HANA_CLOUD -> Product Assistance -> English -> Extend and Integrate Your SAP S/4HANA Cloud -> Extensibility -> Key User Extensibility

Key User Extensibility Tools in SAP S/4HANA (OP/PCE): https://help.sap.com/viewer/p/SAP_S4HANA_ON-PREMISE -> Product Assistance -> English -> Enterprise Technology -> ABAP Platform (or SAP Netweaver in older releases) -> Developing on the ABAP Platform -> Development Concepts and Tools -> Extensibility -> Key User Extensibility

UI Adaptation Tools for Key Users:
Adapting SAP Fiori UIs at Runtime – Key User Adaptation – SAP Help Portal

Fiori Extensibility Documentation: Extensibility – SAP Library
In the Fiori Appl Library ( Fiori Apps Library ) you can find the information on the extensibility for Fiori apps. Open the App Details for a Fiori app, and go to section Implementation Information, Extensibility.

2.5 Get Your Fingers Dirty: Tutorials, Best Practices, How-Tos

Now, you want to create some in-app extensions.

Sample Scenarios: The SAP Extensibility Explorer for SAP S/4HANA Cloud shows many real-life sample scenarios (for in-app extensibility and for side-by-side extensibility) written by application experts.

Tutorials:

Additional tutorials, tutorial-like blogs, and microlearnings, some of which I want to mention here:

2.6 Understand the Differences Between On-Premise/PCE and Public Cloud

As mentioned, the key user extensibility tools are designed for the cloud, but also made available in the OP/PCE edition. However, there are some differences between public cloud and OP/PCE:

  • Different UI/OData (Gateway) setup (embedded vs. hub scenario)
  • Different setup of Identity and Access Management (IAM) and Communication Management
  • Different transport setup (between dev, q, and p systems)

As a consequence, key user tools work differently in some areas (e.g. in OData-Publishing and UI) or are not available in OP/PCE at all (key user tools IAM/COM). Please refer to the documentation for public cloud and OP/PCE.

3. Developer Extensibility

Developer extensibility (aka SAP S/4HANA Cloud Environment or “Embedded Steampunk”) was introduced with SAP S/4HANA Cloud, public edition 2208 and SAP S/4HANA (OP/PCE) 2022.

3.1 Get an Overview

The following blogs give and overview on the new developer extensibility in the context of the different environments:

3.2 Documentation

Developer Extensibility Tools in SAP S/4HANA Cloud, public cloud edition
https://help.sap.com/viewer/p/SAP_S4HANA_CLOUD -> Product Assistance -> English -> Extend and Integrate Your SAP S/4HANA Cloud -> Extensibility -> Developer Extensibility

Developer Extensibility Tools in SAP S/4HANA (OP/PCE): https://help.sap.com/viewer/p/SAP_S4HANA_ON-PREMISE -> Product Assistance -> English -> Enterprise Technology -> ABAP Platform (or SAP Netweaver in older releases) -> Developing on the ABAP Platform -> Development Concepts and Tools -> Extensibility -> Developer Extensibility

ABAP Cloud – Technical Use Cases and Recommended Technologies: https://www.sap.com/documents/2023/05/74fc05e6-747e-0010-bca6-c68f7e60039b.html

UI Development in SAP S/4HANA Cloud, public cloud edition: UI Development

UI Development in SAP S/4HANA (OP/PCE): UI Technologies

3.3 Getting It All Together in a Training/Learning Map

The Learning Journey Develop Extensions Using SAP S/4HANA Cloud, ABAP Environment provides concrete examples you can implement.

3.4 Get Your Fingers Dirty: Tutorials, Best Practices, How-Tos

The SAP Community SAP S/4HANA Cloud ABAP Environment | SAP Community provides a Product Overview, but also Hands-On Experience tutorial and a Q&A forum on the SAP S/4HANA Cloud Environment.

On the SAP Extensibility Explorer for SAP S/4HANA Cloud, you can find examples for developer extensibility, e.g.

And there are some blogs:

3.5 Understand the Differences Between On-Premise/PCE and Public Cloud

As mentioned, the developer extensibility tools are available in the public cloud and OP/PCE edition. However, there are some differences between public cloud and OP/PCE:

  • Different UI/OData (Gateway) setup (embedded vs. hub scenario)
  • Different setup of Identity and Access Management (IAM) and Communication Management
  • Different transport setup (between development, test and production systems)

As a consequence, tools work differently in some areas (e.g. in OData-Publishing and UI) or are not available in OP/PCE at all (e.g. ADT editors for Cloud IAM/COM). Please refer to the documentation for public cloud and OP/PCE.

4. Classic Extensibility

Classical extensibility (aka classic ABAP custom development) is available in SAP S/4HANA (OP/PCE). It refers to SAP’s classic custom ABAP development model that you as customer or partner can use to extend ABAP-based on-premise SAP solutions.

Classic Extensibility Tools in SAP S/4HANA (OP/PCE): https://help.sap.com/viewer/p/SAP_S4HANA_ON-PREMISE -> Product Assistance -> English -> Enterprise Technology -> ABAP Platform (or SAP Netweaver in older releases) -> Developing on the ABAP Platform -> Development Concepts and Tools -> Extensibility -> Classic Extensibility

The SAP Community Network, ABAP Extensibility topic page is the landing page for ABAP Extensibility-related topics.

 

5. Side-by-Side Extensibility with SAP BTP ABAP Environment

Since 2018, ABAP as a programming language together with the rock-solid ABAP server is available on SAP BTP (SAP BTP ABAP Environment).

5.1 Get an Overview

The following blogs provide an overview on SAP Cloud Platform ABAP Environment:

The official product page SAP Cloud Platform ABAP Environment shows information on features, pricing, and resources.

5.2 Documentation

5.3 Get Your Fingers Dirty: Tutorials, Best Practices, How-Tos

You can find the tutorials and other material on SAP BTP ABAP Environment in the Learning journey for SAP BTP ABAP Environment (https://help.sap.com/learning-journeys/49047e7668844d419ccee567923a475e) and in the tutorial navigator Tutorials for SAP Developers for SAP BTP ABAP Environment.

6. Side-by-side Extensibility with SAP Cloud Platform using Java or Node.JS

As mentioned before, this blog post is focused on the ABAP-based extensibility options. This is because ABAP is in my comfort zone, and I want to leave the topics of the other extensibility options on SAP BTP to the experts in this domain.

3.1 Textbook and Training

Herzig, Philipp; Heitkötter, Henning; Wozniak, Sander; Argawal, Akhil; Wust, Johannes: Extending SAP S/4HANA. Side-by-Side Extensions with the SAP Cloud Platform SDK. SAP PRESS 2018.
https://www.sap-press.com/extending-sap-s4hana_4655/

Extending SAP S/4HANA with SAP HANA Cloud Platform:
https://open.sap.com/courses/hcp3a1

Create and Deliver Cloud-Native SAP S/4HANA Extensions
https://open.sap.com/courses/s4h13

3.2 Get Your Fingers Dirty: Tutorials, Best Practices, How-Tos

In the SAP Leaning Journeys, you can find a number of learning journeys for SAP BTP environments, development tools, and services. Start the browser for SAP Learning Journeys, e.g. for the developer role: Learning Journeys – Overview (sap.com) . In this browser, you can find learning journeys, for example for:

  • SAP S/4HANA Cloud Extensions on SAP BTP, SAP Cloud SDK, CAP Programming Model
  • Environments, e.g. Cloud Foundry and Kyma,

For Java and Node.JS, the SAP Cloud SDK (fka SAP S/4HANA Cloud Extension SDK) supports you with libraries and an SDK that makes it easy to consume the APIs and events and achieve Cloud qualities for your applications. The document SAP Cloud SDK Overview is the central landing page for the SAP Cloud SDK. The document SAP Cloud SDK Overview contains a tutorial on how to create an extension application with SAP Cloud SDK. You can find the tutorials on SAP Cloud SDK here.

On the SAP Extensibility Explorer for SAP S/4HANA Cloud, you can find examples for developer extensibility, e.g.

The Localization Toolkit for SAP S/4HANA Cloud provides tutorials/how-tos for country & language-specific extensions.

Last, but not least, there are additional tutorial-like blogs, some of which I want to mention here:

 

Assigned Tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Lindsay Russell
      Lindsay Russell

      Is there any information anywhere about how a customer can translate their extensions?

      Author's profile photo Thomas Schneider
      Thomas Schneider
      Blog Post Author

      Yes, ususally you can find this in the documentation of the extensibility tool, for example for custom business object, custom fields or for Fiori UI development (I18N).

      Author's profile photo Wei Wu
      Wei Wu

      Very comperihensive sharing. Thank you so much.

      Author's profile photo Amin Hoque
      Amin Hoque

      Hello Thomas

      Great blog. I also found this blog with a worked example helpful:

      https://blogs.sap.com/2019/04/15/sap-s4hana-cloud-extensibility-engraving-sample-scenario/

      Kind regards

      Amin Hoque.

      Author's profile photo SAIRAM TRIPATHY
      SAIRAM TRIPATHY

      Hi Thomas,

      Great document ,I worked in JAL 2008 where I learned SAP performance optimisation and scalability approach from you.Now I am reading all this where I am working on this.

      Thanks for your document.

      Regards,

      Sairam

      Author's profile photo Sandeep Yashwant Dixit
      Sandeep Yashwant Dixit

      Is there some document giving difference between S4 HANA Cloud and S4 Hana On-prem version for In-APP extensibility features ,development  scenarios

      Author's profile photo Guru Ayarekar
      Guru Ayarekar

      Hello Thomas,

      Nice blog.

      Great resources given by you for study/learning.

      Thank you so much.

      Author's profile photo Joao Paulo Flores Carmo Dos Reis
      Joao Paulo Flores Carmo Dos Reis

      Hi Thomas,

      I've a question/doubt regarding ABAP strategy, It's possible to have only on-premise an ERP or SAP S4HANA with a SAP Netweaver side-by-side extensions here I have all my main custom code. All the blogs of documentation always talk about BTP, except "ABAP Steampunk is going all-in" the part were it wrote "... Steampunk is a great option for loosely coupled side-by-side extensions or for partners offering SaaS solutions written in ABAP. This is somewhat comparable to the solutions that were running side-by-side on NetWeaver. Let’s take a short trip back in time.            

      In the on-prem world, customers could adapt SAP software by modifying it, or by writing custom code that could make use of any SAP object (red in the drawing). There was no dedicated stable and public interface, and that was exactly the reason for annoying upgrade hiccups. With NetWeaver Standalone, it was at least possible to write loosely coupled extensions with a lifecycle separated from the ERP core....".

      What I'm not sure if this still is possible for S4HANA.

       

      Thanks in advance

      Regards.

      JoaoPauloReis

      Author's profile photo Thomas Schneider
      Thomas Schneider
      Blog Post Author

      Hi JoaoPaulo,

      this is a very general question. If you start to read the documenents I linked in this blog, you will also find a lot of information on in-app extensibility. And there is now also a edicated stable and public interface for stable extensions. See e.g. my blog Restricted ABAP and SAP S/4HANA On-Premise | SAP Blogs

      Best regards,

      Thomas

      .

       

      Author's profile photo Joao Paulo Flores Carmo Dos Reis
      Joao Paulo Flores Carmo Dos Reis

      Thanks for the quick reply Thomas,

      If I read correctly from your blog, my case is 3 and 4, we still have clients that don't want to go to cloud or can't go to cloud due to security restrictions. Conclusion, if I understand your blog we still can have side-byside extensibility even for SAP S/4HANA on-premise and netweaver (same version as the NW 754 or 755), i.e., that need to match the same ABAP version of the S/4HANA, I can I have this scenario. Correct?

       

      Thanks in advance

       

      Regards,

      Joao Paulo Reis

      "...Before closing, I would like to point out in which cases the use of restricted ABAP can be helpful in on-premise systems:

      1. You plan to move some custom applications to SAP Cloud Platform ABAP Environment
      2. You plan to move to SAP S/4HANA Cloud completely, or we plan to carve out a specific part of your SAP system and move it to SAP S/4HANA Cloud.
      3. You do not have plans to move to SAP S/4HANA Cloud in the near future, but want to empower your business departments to use key user tools to make their extensions, such as custom fields, custom analytics, small logic enhancements, on their own, instead of requesting it from a central IT department or provider.
      4. You do not have plans to move to SAP S/4HANA Cloud in the near future, but want to reduce the adaptation and test effort that comes along with SAP updates, and thus want to enforce custom code to use released, stable SAP APIs.

      For use case 1 (move custom applications to SAP Cloud Platform ABAP Environment), I recommend reading the blog How to check your custom ABAP code for SAP Cloud Platform ABAP Environment. It explains in detail how to use ABAP Test Cockpit (ATC), the SAP Fiori App Custom Code Migration, and the new ATC Cloud readiness checks.

      … to be continued with more details on use cases 2, 3, and 4...."