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
- the ABAP Environment
To understand the extensibility concept, I recommend:
- Read the whitepaper “SAP S/4HANA and SAP S/4HANA Cloud Extensibility for Customers and Partners”
- Watch the video lecture week 3, lesson 3, “Extensibility Overview and Guidance” of the openSAP course “SAP S/4HANA Development and Integration” (to be published)
The whitepaper (section 3.3) and 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:
- The Key User Extensibility Tools of S/4 HANA
- Extensibility – ABAP Platform
- S/4HANA Extensibility: Use Case Overview
- SCN S/4HANA Extensibility: Scenario Diagrams
- S/4HANA Extensibility Concept Details: Restricted ABAP
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.
2.4 Teasing Videos
Laying back for a moment, you might enjoy some videos to get a visual impression on extensibility look and feel:
- Video: Adapting the User Interface of SAP Fiori Apps at Runtime
- Video: Extending Fixed Assets Master Data in SAP S/4HANA Cloud
- Video: Custom Business Objects (Creating a CBO, Adding Business Logic)
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.
Extending SAP S/4HANA Cloud and SAP S/4HANA:
Key Technical Topics in a System Conversion to SAP S/4HANA
https://open.sap.com/courses/s4h14 -> Week 3, Units 3, 5, and 6
Microlearnings on openSAP: https://open.sap.com/microlearning -> Microlearning for SAP S/4HANA -> Technology Topics
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 (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) -> General Functions for Key User -> SAP Fiori Applications -> 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)
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.
Tutorials: You can find the tutorials on extensibility here. Most tutorials deal with the creation of various aspects around a “bonus plan” application.
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.
Last, but not least, there are additional tutorials and tutorial-like blogs, some of which I want to mention here:
- Create Custom Business Objects in S/4HANA Cloud
- SAP S/4HANA Cloud Extensibility: a series of tutorial by Rohit Khan: link1, link2, link3
- Adding Field in standard Fiori apps of S/4HANA with Custom Fields and Logic, Adding Field in standard Fiori apps of S/4HANA with Data Source Extensions
- SAP S/4HANA Cloud Extensibility – Engraving sample scenario
- Fiori for S/4HANA – Adapting Terminology in SAP Fiori apps via Key User tools
- Usage of OData Service of Custom Business Object
- How to delete multiple CBO entries
- Information Retrieval for Custom Business Objects
- Data Access Management for Custom Business Objects
- Extending Custom Business Object with Business Rules Logic in S/4HANA Cloud using SAP Cloud Platform Business Rules
- Simple application to convert number to words in SAP S/4HANA Cloud
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.
Extending SAP S/4HANA with SAP HANA Cloud Platform:
Create and Deliver Cloud-Native SAP S/4HANA Extensions
3.3 Get Your Fingers Dirty: Tutorials, Best Practices, How-tos
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.
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:
- SAP S/4HANA Extensibility: How to Connect Your SAP S/4HANA Cloud to SAP Cloud Platform (II): Recommendations
- Video: Side-by-Side Extensibility (New UI)
- SAP S/4HANA Cloud – Side-by-Side Extensibility
- Setup of CPI iFlow with Custom Business Object
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.
- ABAP Development on SAP Cloud Platform
- Application Operations in the ABAP Environment
- ABAP for SAP Cloud Platform (Language 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.