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

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

  • SAP Cloud Platform application (Java, JavaScript, ABAP) running on SAP Cloud Platform
  • 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.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Tejas Chouhan
      Tejas Chouhan

      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.


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

      Hi Tejas,

      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 Unfortunately not for all.

      Your questions:

      1. We are working on tools for publishing APIs and extension spots. External APIs (web services) are already listed on the SAP API Business Hub, select SAP S/4HANA Cloud or SAP Hybris Marketing Cloud . For APIs for in-app extensibility (business contexts, CDS views, classes) we are working on a tool. As of today, you can only find them in the respective key user tools in the system.
      2. Classic extensibility: is still possible in the on premise version, not possible in S/4HANA Cloud. For the on premise version, I would see this in parallel to the use cases I1 - I6. So there are the same use cases, but you would use the "classical" development tools (SE80, ADT).

      Best, Thomas



      Author's profile photo Former Member
      Former Member

      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?




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

      Hi Devashish,

      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



      Author's profile photo Monika Patel
      Monika Patel

      Great blog. Thx for sharing

      Author's profile photo Ashok Srinivasan
      Ashok Srinivasan

      Thanks for collating all the vital information in one place. Great help.

      Author's profile photo Mandar Deshpande
      Mandar Deshpande

      Hi Thomas

      Great blog ,very useful information !!


      Author's profile photo Mario Wolf
      Mario Wolf

      Dear Thomas,


      having studied your diagrams carefully, I conclude:

      • S4/HANA Cloud can only consume an OData Service, which is being made available on the SAP (HANA) Cloud Platform.  Case S2 in your third diagram.

      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.


      Kind regards


      Mario Wolf.