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.