In this blog, we are going to explore SAP S4/HANA Extensibility options available for both On-Premise and Cloud Editions. I have read multiple posts and have visited numerous SAP’s official websites in order to completely understand this extensibility framework. I couldn’t find all the required information together. This actually motivated me to write this, my very first one. I would like to thank all the SCN Contributors who have helped me, in writing this post.You can find all the relevant information related to S4/HANA Extensibility here.
But before we start I will brief you about SAP S4/HANA Platform.
Without wasting time, lets begin.
SAP S4/HANA Platform
An ERP Business Suite 4 designed and developed to run only on SAP HANA Database Platform. This new suite is built on advanced in-memory platform with columnar data storage and offers a personalized user experience with SAP Fiori. In the image above it is depicted that the HANA platform has the same architecture just as its predecessor ECC R/3.
SAP Fiori UX is generally used as front end – the Presentation Server .
SAP S4/HANA where are business rules and objects exists – the Application server. SAP HANA Database where all database based functionalities and tools can be used – the Database Server.
Further SAP S4/HANA Platform can also be linked to SAP HANA Cloud Platform using SAP HANA Cloud Connector.
SAP S4/HANA Editions
The S/4HANA product offering consists of two editions:
SAP S/4HANA On-Premise SAP S/4HANA Cloud
The licensing model is traditional in which the entity has to pay a preliminary price to obtain the software with an annual maintenance costs.This system is fully customizable from standard to custom objects.System located on the company’s server provides opportunities for more effective monitoring and configuration than cloud edition.Perfect for large enterprises with very well-proven business processes.
It has subscription licensing model in which the entity has to pay a subscription price per month or quarterly.It’s not fully customizable as compare to on-premise edition. There are some customization restrictions. I will explain that in detail, in this post.Users can take advantage of S4/HANA Platform without needing the hardware, databases or IT staff required for the on-premises version.Perfect for mid-size enterprises.
Now as we all have basic knowledge on SAP S4/HANA Platform and editions available, we can efficiently differentiate which edition offers high degree of functionality and ease.
Personally I think on-premise edition is the best, it might be expensive over cloud edition but has full scope of various business modules which are till now still missing from cloud edition both private and public and is being planned by SAP to be implemented soon and another reason is the extensibility framework which is very limited to cloud version as compare to the on premise edition, since in cloud editions the major part is implemented and hosted as Software as a Service (SaaS) on SAP servers. It is actually somehow very difficult for users to customize objects based on current business requirements. No matter how many standard business processes are there already from SAP, at some time the business could need their own extended functionality at a point eventually and for that on-premise is the whole package with all SAP S4/HANA capabilities from SAP HANA Cloud Platform which is also available with the cloud edition.
S4/HANA On-Premise & Cloud Edition Types
On-Premise Editions are offered in 2 types :
- SAP S/4HANA AnyPremise Private Cloud managed by SAP (HEC)
- SAP S/4HANA AnyPremise: On-Premise or managed by cloud provider Hyperscalers
Cloud Editions are offered in 2 types :
- Private Cloud (Single-Tenant Edition)
SAP S/4HANA Cloud Extended Edition (EX)
- Public Cloud (Multi-Tenant Edition)
SAP S/4HANA Cloud Essentials Edition (ES)
S4/HANA Extensibility Framework
- In-App Extensibility
Built in the same system (or software stack) as the enhanced application.This category is further subdivided into:
Key User Extensibility – using in-apps options.
Classic Extensibility – using development tools and techniques (e.g.transaction SE80,Eclipse, BAdIs) which are also available in ECC Business Suite. Full flexibility of extensions developed with ABAP code through the ABAP in Eclipse IDE( HANA Studio). I hope all of us are familiar with this extensibility. The full APAP Extensibility without any restriction is allowed for on-premise edition and for cloud edition limited ABAP extensibility is allowed.
- Side-By-Side Extensibility with SAP Cloud Platform using
Java or Node.JS, powered by the SAP Extension SDK
The ABAP Environment
Key User Extensibility Tools
Completely web-based (developed along the Fiori principles and technology) tools and targeted for the key users and therefore easy to use. No deep technical knowledge is required.The modifications are lifecycle-stable as these modifications will still work when the system is updated.
In-app (key user )extensibility capabilities are exposed by extensibility Cockpit – an app directly integrated in fiori Launchpad that allows developers to browse through data and process models and visualize extensibility options for apps.
Now lets see some key user extension capabilities.
(This feature is available as of S/4HANA (cloud) for selected UIs )
- As a key user you can change the layout of you tables and forms directly in the running UI in – UI Adaptation Mode.
- You can also hide fields in a form, table, or filter, hide groups and areas
- Rename labels , Add field to UI from field repository
- Move form field or UI group, create new groups and move fields
- combine fields into one line, split combined fields
- Define new filter and table variants
In this image we can see Adaptation Mode with Drag & Drop Configuration
We can start the adaptation mode from the menu under your account information under “Adapt UI”.
There is one more configuration other than drag and drop configuration called as form-based configuration in which you can also configure your tables, forms, etc. You can start this UI with the “gearwheel” icon. The form-based configuration will be replaced by the drag-and-drop “runtime adaptation mode”, but may be still in place for more advanced configurations in the future.
Using Custom Fields and Logic Fiori app, you can add and edit custom fields. You can
- Create and edit custom fields (extend the SAP table, application, CDS views and OData services)
- Delete an existing custom field (deletion is not possible if a field has been transported)
- Manage the usages of a custom field such as other UIs, reports, forms (print and e-mail forms), service interfaces (OData, SOAP, BAPI, IDOC), processes (data flows), search fields.
- Define fields of type associations to custom business objects or to SAP standard business objects.
- Extend SAP CDS Views and OData-Services with SAP fields.
The Custom Fields and Logic Fiori app completely hides the technical details of the underlying software stack (for example database table, CDS views, OData services) from you as a key user. Together with the UI adaptation mode, you can simply add a new field end-to-end with a few clicks.
Custom Business Logic
In the Web-based ABAP Editor, you can
- Create simple ABAP program logic, supported by syntax highlighting, code completion, syntax checking and other state-of-the art editor features
- Create a draft version of the program logic, test this locally, save the input values of the test as variants, publish, edit, reset to the last published version, delete existing custom logic
- Use released CDS views and release ABAP classes in the program logic
- Call a web service that runs on SAP CP from custom code
- This feature is available for released enhancement options. As of 1711 SAP offers more than 80 enhancement options.
Web editor in the Custom Fields and Logic Fiori app, you as a key user can easily add business logic to existing enhancement options.
Custom CDS Views
Custom CDS views can be used in three extensibility scenarios:
- Create an analytical data source (which you can use in a custom analytical query) What we do in SQ01
- Expose the custom OData service as an OData service (which you can use in an external app or integration scenario) What we do in UI5 Apps
- Create a re-use view (which you can use in another custom CDS view or in custom logic) What we do in SE11
The Custom CDS View app allows you to:
- Display a list of all pre-delivered data sources (VDM CDS views) and already existing custom CDS views
- Preview the available data sources (CDS views)
- You can create your own data access by making use of a Core Data Service view (CDS view). CDS views allows you to model data access without changing the underlying database tables. They are used to combine and arrange the table fields of multiple data sources. The same time you can also add metadata like semantics or a just define a new label for a certain field.
- With the Adobe Forms Designer and the Maintain Form Template Fiori app, you can create new form templates:
- as a copy of a SAP standard form
- based on an existing data source (OData service)
- based on an extended OData service using already existing fields and associations from published CDS views
- With the Maintain E-Mail Templates Fiori app you can create new e-mail templates
- based on an existing data source (CDS View)
- based on an extended SAP data source (CDS View)
Custom Tiles and Catalog Extensions
- With the Custom Catalog Extensions Fiori app, you can extend SAP Fiori catalogs.
- Add custom business object UI to a SAP Fiori catalog
- Add a Smart Business KPIs or Report to a SAP Fiori catalog
- Add a Analytical Design Studio Application to a SAP Fiori catalog
- Add a Custom Tile to a SAP Fiori catalog
- Add a Analytic Cloud Story to a SAP Fiori catalog
With the Custom Tiles Fiori app, we can create new Fiori Launchpad tile with a static URL. But only when we have created an external application (e.g. on SAP Cloud Platform) and want to create a tile with a URL link to this external application.
And like these extensibility options there are more options available, I have discussed the vital options as a part of RICEF concepts which objects are frequently used in business scenarios. So now we all are familiar with key user extensibility tools, and this is available for both on-premise and cloud editions.The figure below will help you to understand in-app extensibility briefly.In this image the R3 Architeture is there starting from presenation server then application server to database server.Based on these servers what all can be extended and to what extend is dedicated, as we can enhance the apps to some extent allowed by SAP.
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
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 validations
- Expose business object as OData service for side-by-side extensibility
SAP Cloud Platform is the platform-as-a-service (PaaS) offering the customers, partners, and developers to use and build side-by-side extensions by leveraging the services available in both Neo (SAP Web-IDE) and Cloud Foundry environments(Node.js Framework).Typically used for building an extension for any cloud solution from SAP. Developers can use Java, HTML5, or the native extended application services of SAP HANA, combined with the under-lying open-API layer and powered by the speed of SAP HANA.So whatever customization or new developments happens can be made analytically powerful after integrating different & versatile features offered by SAP on HANA Cloud Platform using Cloud Platform SDK.
The figure below will help you to understand side-by-side extensibility briefly.
S1: Custom UI on HANA Cloud Platform
- Custom Fiori UI5 apss, build with SAP Web IDE, running on HCP with SAP pre-defined released OData service.
- Use of UI5 technology, templates, editors
- Build UI5 applications with offline support.
S2: HCP Application
- This is the point where we can connect with HCP and take out advantages of the features available based on our app development.
- Integration Scenarios benefit from SAP prepackaged integration content as reference templates to quickly realize new business scenarios.
S3: Custom UI on HCP or HCP app w/ custom OData service
- Same as S1 and S2, but with custom OData service built with in-app extensibility tools.
S4: New HCP Service called from S/4 Extension (not available for S/4HANA Cloud)
S5: Analytics on HCP (Replication) (not available for S/4HANA Cloud)
Extensibility as per Editions