Key User Extensibility Overview
Key User Extensibility Overview
PUBLIC
Content
Developer
Extensibility
(Clean Core)
Secured
connectivity
SAP BTP
Key User
Extensibility SAP S/4HANA User Interface
Rules / Workflow Side-by-Side
(Clean Core) Process / Events Extensibility
Data Replication
(Clean Core)
Classic
Extensibility1
1 SAP S/4HANA Cloud, private edition and on premise only; not “clean core”
PUBLIC 3
Motivation for Key User Extensibility in SAP S/4HANA
Developer Extensibility
• On-stack developer extensibility of S/4HANA
• ABAP RESTful programming model for the
SAP
development of SAP Fiori apps S/4HANA
Cloud
PUBLIC 4
Motivation for Key User Extensibility in SAP S/4HANA
PUBLIC 5
Motivation for Key User Extensibility in SAP S/4HANA
Task complexity
Solution
• Extensibility tools are used by in business • Perform simple tasks in an easy way
departments that should easily apply non-disruptive • Easy-to-use and life-cycle stable
• WYSIWYG / instant testing included
extensibility tasks without risk. • Low entry barrier
• In particular for: Key User, Business Expert,
− UI Adaptations Implementation Consultant
− Custom fields and tables
− Custom analytics and forms
− Custom business logic (cloud ABAP Web editor) Feature Richness
PUBLIC 6
Extensibility Spectrum
Functional Scope
Personalization
Layering
Key User Extensibility
PUBLIC 7
SAP S/4HANA Key User Extensibility Scenarios
Fiori Lauchpad
Fiori Launchpad SAP Fiori
I6 Custom UI
is a collection of apps with a simple and easy-
Custom User User Interface
to-use experience for broadly used SAP
Interface (Fiori) (Fiori) software functions that work seamlessly across
I1 UI Adaptation devices – desktop, tablet, and smartphone.
Frontend
Backend: ABAP Server
APIs.
I3
Custom Fields
Analytics / Forms
Application Application
(ABAP | CDS) (ABAP | CDS) CDS (Core Data Services)
I4 Business Logic CDS is a modeling environment which provides
a data definition language (DDL) for defining
semantically rich database tables/views (CDS
I2
PUBLIC 8
Key User Extensibility
Overview
UI Custom Custom
Key User Custom
Tools
Adaptation Business Business
at Runtime Fields
Object Logic
Custom
Custom
Analytical KPIs Forms
CDS View
Queries
PUBLIC 9
Key User Extensibility: UI Flexibility
• Rename labels
• Value help views based on fixed code list or based on CDS view
PUBLIC 11
Key User Extensibility: Custom Fields
Data Source Extensions
In the Custom Fields App (Data Source Extension tab) you can
• Extend SAP CDS Views and OData-Services with SAP fields that are
available in CDS views in “lower layers” of the virtual data model
• This is also possible for Custom Fields available in CDS views in “lower
layers” of the virtual data model
• Important to know: Fields exposed via Data Source Extensions are always
Read Only fields
• If an SAP Field has a value help this value help is also provided
PUBLIC 12
Key User Extensibility: Custom Business Objects
PUBLIC 14
Key User Extensibility: Custom Reusable Elements
Custom Code List
Custom Code List
• A code list consists of code values (example: enUS) and code
value descriptions (example English (US))
• Code values descriptions can be translated
• You can reuse a code list in several custom business objects
• You cannot modify or delete code values of code lists that are
transported
PUBLIC 15
Key User Extensibility: Custom Reusable Elements
Custom Libraries
Custom Libraries
• With Custom Reusable Elements you can modularize and structure
your custom code
• You can create Custom Libraries and organize your methods
• This application is specifically designed for custom code reuse
• Key Features:
• Create a new custom library
• Add a method to your created custom library
• Add details to your method
• Use global variables in custom re-use libraries: create a buffer
across business logic events
• Test your custom code, save and publish your custom code and
method
PUBLIC 16
Key User Extensibility: Custom Business Logic
XCO Library
Extension Components (XCO Library)
• String/XString: simplifications when working with
strings/xstrings.
PUBLIC 17
Key User Extensibility: Custom CDS Views
• You can use the app to create custom CDS views for different purposes:
• Cube or Dimension views to be used in analytical scenarios
• General custom CDS views to be reused for view building in various scenarios
• External APIs define a service that can be consumed externally via OData
• Value Help Views used in Custom Fields and Custom Business Objects
• Data Extraction views to enable full extraction capabilities with Custom CDS Views
• With the app, you can create or modify a custom CDS view by, for instance by:
• adding fields from multiple data sources
• creating your own calculated fields such arithmetical calculations, case statements,
conversions
• refining the properties (such as aggregation behavior, semantics) of the selected
fields
Key User Fiori App Custom CDS Views
• creating and maintaining parameters for the usage within your view
• adding filters in order to refine the result set
• Editing a custom CDS view is an assisted process with scenario specific guidance and
checks.
• After publishing your CDS View, you can preview the results in the built-in data preview
or in the Customer Data Browser
PUBLIC 18
Key User Extensibility: Tracing
Tracing
• Tracing can be used to see which determinations, validations and
actions of which custom business object and nodes are being
processed in which order.
• You can also trace values of the input, output and changing
parameters of validations, determinations, actions and the duration
of their execution
• By creating a new trace you are able to select a name and define
properties:
• Retention date: until when a trace information will be available
• Lifetime: activate time for a trace
• Select user: e.g. communication user in case of an incoming
web service call
• You can start and stop the tracing
Key User Fiori App Custom Logic Tracing
• The result view of your trace will also be listed
• The icon on the trace overview indicates the status of the whole
trace
PUBLIC 19
Key User Extensibility: Analytics Extensibility
Manage KPIs and Reports
KPI design Fiori apps
• Adapt SAP delivered KPIs and reports by copying them and
adjusting to your business needs
PUBLIC 20
Key User Extensibility: Analytics Extensibility
Custom Analytical Queries (Query Builder)
Create Custom Analytical Queries
• Create a query based on a released SAP analytical data source
(CDS views of type cube) or a custom analytical data source
PUBLIC 21
Key User Extensibility: Analytics Extensibility
View Browser
View Browser
• Search for CDS views and display details
• Display of content
PUBLIC 22
Key User Extensibility: Custom Catalog Extensions
In the Fiori Launchpad, you can use the “Personalize Home Page”
feature to add custom tile to one or more launchpad groups.
SAP S/4HANA Cloud, public edition only
PUBLIC 23
Key User Extensibility: Custom Tiles
PUBLIC 24
Key User Extensibility: Custom Communication Scenario
• Custom CDS views (created with the Custom CDS Views Fiori
app)
OData exposure
• When creating a Custom Business Object or a Custom CDS
Key User Fiori App Custom Communication Scenario
Views, select the „OData Service“ flag in the respective Fiori app
SAP S/4HANA Cloud, public edition only • Create a communication arrangement in the Custom
Arrangement Fiori app.
PUBLIC 25
Key User Extensibility: Custom Forms
PUBLIC 26
Key User Extensibility: Extensibility Cockpit
Extensibility Cockpit
• Search in business contexts for extensible objects (UI OData
services, APIs, CDS views, business scenarios form/email
templates, …) and BAdIs
• Navigation to creation of custom fields and BAdI implementation
from the search result list
PUBLIC 27
Key User Extensibility: Maintain Translations
Note: Some key user apps provide translation capabilities in the app
itself.
PUBLIC 28
Key User Extensibility: Extensibility Inventory Application
PUBLIC 29
Key User Extensibility: Lifecycle Management
Import Collection
• Import collections into a production system
PUBLIC 30
Key User Tools in S/4HANA On Premise
Key User Tools are available in S/4HANA Cloud and in on-premise, with some differences
In both versions, the tools provide access to released APIs and extension points only
All objects created by Key User Tools are visible in ABAP Development Tools / ABAP Workbench
• Objects can be analyzed, tested, debugged
• Objects follow the “normal” ABAP authorization concept (S_DEVELOP, …)
• Change is not recommended, behavior of the key user tools after backend changes are not defined
Objects created by Key User Tools are managed with customer transport with “classical” transport tools (correction
and transport system, CTS)
Recommendation: keep the objects managed by key user tools and by ABAP Development Tools separated!
The following key user tools are not available in on-premise. Instead of using these apps, the respective on-premise
tools are used
2. Blog Posts
▪ Key User Extensibility Tools of S/4HANA last update 2021
▪ S/4HANA Extensibility Use Case Overview (2016)
▪ SAP S/4HANA Extensibility: A Learning Journey last update 2023
PUBLIC 32
Thank you.
Contact information:
ABAP Platform Product Management, SAP
Follow us
www.sap.com/contactsap
www.sap.com/germany/contactsap