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

SAP S/4HANA Extensibility: A Learning Journey

Already three years ago, I published a blog  Extensibility of S/4HANA – Helpful Links. In this blog, I want to make proposal for a learning journey with reference to learning material and links. As a small disclaimer, I want to point out, that in-app extensibility and the SAP CP ABAP Environment is in my comfort zone rather than Java/Node.JS development. This is why the respective session are more or less detailed.

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:

  • In-app extensibility using
    • key user extensibility tools
    • classical ABAP custom development
  • Side-by-side extensibility with SAP Cloud Platform using
    • Java or Node.JS, powered by the SAP Extension SDK
    • SAP BTP ABAP Environment

New in 2021, SAP announces the SAP S/4HANA Cloud ABAP Environment.

To understand the extensibility concept, I recommend:

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

2. In-app Extensibility

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

2.1 Get an overview

In my blogs I introduce the key user extensibility tools:

2.2 Understand The Differences Between On-premise And Cloud Editions

As mentioned, the key user extensibility tools are designed for the cloud, but also made available in the on-premise edition. If you use the on-premise edition or the SAP S/4HANA Cloud, Single tenant edition, you should know about the specific details here.

First, Cloud and on-premise systems have some differences, which are reflected in the key user extensibility tools, for example:

  • Different transport setup (between dev, q, and p systems)
  • Different Gateway setup (embedded vs. hub scenario)

Second, in the on-premise version, you can use key user extensibility tools and classical ABAP development tools in parallel, which leads to the question when to use what and how to manage the dependencies between objects from created with key user extensibility tools and with classical development tools.

The document Guidance for Extensibility in SAP S/4 HANA Cloud, Extended Edition provides a very detailed list of guidelines for extensions techniques, which can be used in a SAP S/4HANA Cloud, Extended Edition edition. But I think this document is also useful for developers of SAP S/4HANA (on premise) as a guidance for choosing the right extensions techniques. The white paper provides also some information (section 5.1) on this topic.

The document Recommendations for greenfield implementations of RISE with SAP S/4HANA Cloud, private edition describes the recommendations for SAP S/4HANA Cloud, private edition.

2.4 Teasing Videos

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

2.5 Getting It All Together In a Text Book Or In a Training

Schneider, Thomas; Wolf, Werner: Erweiterungen für SAP S/4HANA (in German) SAP PRESS 2018.
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

Extensibility for SAP S/4HANA (Classroom, Virtual Live Classroom)
https://training.sap.com/course/s4d425-extensibility-for-sap-s4hana-classroom-020-us-en/

2.6 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
https://help.sap.com/viewer/p/SAP_S4HANA_CLOUD -> Product Assistance -> English -> Extend and Integrate Your SAP S/4HANA Cloud ->  Extensibility

Key User Extensibility Tools in SAP S/4HANA (on  premise): 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

Classical Extensibility: Developing on the ABAP Platform
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

ABAP (Language documentation)

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.7 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.

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

TechEd sessions (registration required):

Tutorials:

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

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

3.1 Getting Started With The SAP Cloud SDK

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

3.2 Text Book 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.3 Get Your Fingers Dirty: Tutorials, Best Practices, How-tos

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.

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: https://www.sap.com/extends4.

In the Best Practices Explorer you can find best practices on side-by-side extensibility, for example https://rapid.sap.com/bp/#/browse/scopeitems/1RW.

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:

4. Side-by-Side Extensibility With SAP Cloud Platform ABAP Environment

Since September 2018, ABAP as a programming language together with the rock-solid ABAP server is available in the SAP Cloud Platform.

4.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.

4.2 Documentation

4.3 Get Your Fingers Dirty: Tutorials, Best Practices, How-tos

You can find the tutorials on SAP Cloud Platform ABAP Environment here.

5 How To Find APIs And Extension Points

Your extensibility project can only work, if you find the right APIs and extension points. I have written a dedicated blog on this topic, which collects all places where you can find information on APIs and extension points for SAP S/4HANA: S/4HANA Extensibility: How to Find APIs and Extension Points.

 

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...."