After discussing the general concepts in the first blog of this series, side-by-side extension in the second, and classic and managed extensibility in the third, this blog introduces the most exciting feature in the all-new SAP S/4HANA extensibility framework: key-user extensibility.
Adding fields to a business process is a common requirement. Before the introduction of key-user extensibility, this was surprisingly complicated. Adding a field to the database table, to the user interface and to the business process required (at least) three different user exits (to use the generic term). Key-user extensibility integrates all of these steps into one approach.
The UI users (or IT staff, depending on the setup) can change to ‘personalization mode’ to perform several tasks: hiding and renaming fields and adding new custom fields from a field repository, moving fields and UI blocks and defining new filter and table variants (I1 in the picture below). New custom fields can be added to the field repository from the personalization mode as well. In addition new custom fields can be added into reports, forms and email templates (I3).
The second step is the extension of the business logic to process the new custom field (I2). The frontend (UI5) app communicates with the application using an OData service which can be extended to process the new custom field. This is available in the same context using a restricted set of ABAP statements (limited to published views and APIs). These tools can also be used to add the new custom field to CDS views for reporting (I3) and generally extend business logic in the same way BAdIs allow today (I4).
All of these extensions are performed as separate objects with reference to the underlying base object. This approach follows well-established principles in object-oriented programming (inheritance) and ensures a modification-free system. Unique namespace in every layer of the architecture will allow for multiple implementations of the same extension (e.g. starting with a solution template that adds new custom fields and then adding additional new custom fields as part of the implementation project. This ‘layering’ of extensions is not available today but will be added later (possibly in Q4/2015).
For more information SAP has released a white paper that covers these topics in more detail.
In the next blog of this series, we will discuss what these changes mean for current SAP Business Suite customers and how to define a roadmap to get to SAP S/4HANA.