S/4HANA Extensibility: Use Case Overview
In this post I want to share the overview picture on the S/4HANA extensibility use cases that we presented in our 2016 TechEd session DEV108 “Extensibility Framework for SAP S/4HANA: End-to-End Scenario”.
The first version of the use case overview shows the layers of a modern SAP Fiori application: Fiori Launchpad, Fiori interface, OData service, ABAP application, HANA database.
I will not dig into the details of these layers, here are just some key words on the layers:
SAP Fiori: is a collection of apps with a simple and easy-to-use experience for broadly used SAP software functions that work seamlessly across devices – desktop, tablet, and smartphone.
- SAP Fiori Principles: role-based, simple, coherent, delightful, responsive/adaptive
- SAP Fiori Design including Visual Design, Information Architecture and Interaction Patterns
- SAP Technologies for SAP Fiori (mainly SAPUI5)
OData (Open Data Protocol): is an OASIS standard that defines the best practice for building and consuming RESTful APIs.
- It provides a vendor-neutral, Web-based API that fully complies with the design principles of Representational State Transfer (REST).
- OData is extensible. This allows SAP to supplement the data types and annotations used by OData with extra information from CDS.
CDS (Core Data Services): is a key component of the SAP S/4HANA architecture for levering qualities such as:
- Capture and share business-rich data models using the HANA relational model
- Enrich the data models with specific semantics e.g. for UI, draft, analytics, search, actions and events. It’s also enabling the S/4HANA APIs
- Leverage HANA optimally in most relevant scenarios
- Enable and standardize esp. zero downtime, verticalization, extensibility, access control (based on ABAP authority objects)
- Integrate into ABAP programming model and improve development productivity
- Exposure of ABAP CDS models and data to SAP Cloud Platform e.g. for Business Objects Cloud and extension apps
The following picture shows the as in-app extensibility use cases.
I1 UI Adaptation
- Add new field, hide field, change label, …) for UIs w/ smart controls (smart filter, table, form)
I2 Custom Fields
- Add custom field to database, application, CDS, and OData
I3 Custom Analytics/Forms
- Custom analytical queries, custom CDS views, tile/role extensibility for custom queries
- Expose analytical views as OData service for side-by-side extensibility
- Custom forms (Adobe print forms and e-mail templates)
I4 Custom Business Logic
- Custom enhancement implementation with restricted ABAP
I5 Custom Business Objects
- Custom tables, custom business objects w/ OData, (default) UI, and determinations/validations
- Expose business object as OData service for side-by-side extensibility
I6 Custom Fiori Uis
- Custom Fiori UI, build with SAP Web IDE, and deployed into the ABAP UI5 repository with SAP pre-defined released OData service or custom OData Service
The use cases are supported for S/4HANA (on premise) and for S/4HANA Cloud (apart from I6). Details on these use cases can be found in my blog: The Key User Extensibility Tools of S/4 HANA.
The following picture I am adding the side-by-side extensibility use cases:
S1: Custom UI on SAP Cloud Platform
- Custom Fiori UI, build with SAP Web IDE, running on SAP Cloud Platform with SAP or custom OData service
- Use UI5 technology, UI5 templates, editors, testing capabilities
- Build UI applications with offline support.
- Deploy to your SAP Cloud Platform account (or to SAPUI5 ABAP repository = I6)
S2: SAP Cloud Platform Application
- Benefit from open standards and from a partner ecosystem that contribute value to existing solutions and services
- Integration Scenarios, benefit from SAP prepackaged integration content as reference templates to quickly realize new business scenarios.
S3: SAP Cloud Platform Application
- SAP Cloud Platform application (same as S2) consuming SAP or custom OData service
S4: SAP Cloud Platform Service called from SAP S/4HANA Extension
S5: Analytics on SAP Cloud Platform (with data replication)
S6: Launch app from SAP Cloud Platform Service Fiori Launchpad and vice versa
S6: Event management: consume an SAP S/4HANA event on SAP Cloud Platform
You can find a selection of links that dig deeper into the different scenarios here: SAP S/4HANA Extensibility: A Learning Journey.
I was searching for the keyword explanation s1- s6 and l1 to l6. I got it here. Great thanks a lot 🙂 I need to go to recordings as well 🙁
I have few question here :
1. When are the list of whitelisted APIs getting released . If it is, could you help me with the link ?
2. Classic extensibility - Where will this fall in the above diagram in l1 to l6.
sorry for the late reply, I simply overlooked the messages after the blogs were migrated to the new SCN.
Recordings: there are some recordings in the documentation, see the links in my blog https://blogs.sap.com/2016/01/15/extensibility-of-s4hana-helpful-links/. Unfortunately not for all.
Hi Thomas Schneider,
I have a basic question, would really appreciate if you could give a brief insight to it.
So in this new framework,how would be address the situations were we usually change the backend classes and FMs which were like the "core" of the business process?
this will be not possibe in the Cloud edition. In the Cloud edition, only de-coupled extensions (e.g. BAdI implementations are possible).
In the on-premise edition, you can still use the traditional ABAP development tools and methods, as used in the Business Suite.
Best regards, Thomas
Great blog. Thx for sharing
Thanks for collating all the vital information in one place. Great help.
Great blog ,very useful information !!
having studied your diagrams carefully, I conclude:
Replication is also not possible for S/4HANA Cloud.
So, if one were to go for the S/4HANA Cloud Option, you would create OData Services on the HCP, make them available to the S/4HANA Cloud.
I am assuming both the S/4HANA Cloud and the HCP would be accessing the same HANA Database (which is below the "table Level" shown in your diagram). If this assumption were false, I would not understand, how HCP apps would get any data to process for the S/4HANA Cloud...
Kindly tell me, whether my thoughts are correct.