Key User Extensibility Overview
Key User Extensibility Overview
PUBLIC
Content
ABAP Cloud
SAP S/4HANA
SAP Build Process
Cloud Integration
Key User
SAP Build
Extensibility
SAP BTP Work Zone
SAP S/4HANA
Seamless
On-Stack integration Side-by-Side
Extensibility
Extensibility
Pro Code
ABAP Cloud
SAP S/4HANA
SAP Build
CAP 2
Cloud
Developer Code
Extensibility
ABAP Cloud
1 SAP S/4HANA Cloud Private Edition and on-premise only; not clean core compliant
PUBLIC 2 SAP Cloud Application Programming Model 3
Decoupled and lifecycle-stable extensibility in SAP S/4HANA
PUBLIC 4
Motivation for Key User Extensibility in SAP S/4HANA
Developer Extensibility
• On-stack developer extensibility of S/4HANA
• ABAP RESTful Application Programming
SAP
model for the development of SAP Fiori apps S/4HANA
Cloud
• High developer productivity with Eclipse-based
ABAP development tools SAP
S/4HANA
• Based on stable extension points and APIs On-premise
PUBLIC 5
Developer and key-user extensibility: Motivation
Task complexity
• Support of big projects and teams
implementation of (cloud and IT) services.
Feature richness
PUBLIC 6
Extensibility personas
Business expert,
Developer implementation consultant,
key user
PUBLIC 7
Developer and key-user extensibility: Layering
Key-user objects
▪ Are fully managed by key user extensibility tools
Key-user extensibility objects
▪ Can be displayed and debugged, but cannot be
edited with ABAP development tools
Access for selected scenarios
▪ Are separated by name range, software
component, and ABAP package
Developer extensibility objects Access between key user and developer
extensibility objects is restricted
(see documentation).
PUBLIC 8
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 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
• Publish business objects, edit business objects that have already been
published
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 SAP 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 Post
▪ SAP S/4HANA Extensibility: All You Need to Know (last update 2024)
PUBLIC 32
Thank you.
Contact information:
© 2024 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material.