KEMBAR78
Key User Extensibility Overview | PDF | Object (Computer Science) | Databases
0% found this document useful (0 votes)
101 views33 pages

Key User Extensibility Overview

Uploaded by

sandaey5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
101 views33 pages

Key User Extensibility Overview

Uploaded by

sandaey5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Key User Extensibility

ABAP Platform Product Management, SAP


November 2024

PUBLIC
Content

Motivation for the Extensibility Concept in S/4HANA


Extensibility Spectrum and SAP S/4HANA Extensibility Scenarios
Key User Extensibility Tools
▪ UI Flexibility ▪ Analytics Extensibility – KPI Design

▪ Custom Fields ▪ Analytics Extensibility – Custom Analytical Queries (Query Builder)

▪ Custom Business Objects ▪ Analytics Extensibility – View Browser

▪ Custom Business Logic ▪ Custom Catalog Extensions


▪ Custom Tiles
– Custom Reusable Elements: Custom Code Lists
▪ Custom Communication Scenarios
– Custom Reusable Elements: Custom Libraries
▪ Custom Forms
– Custom Business Logic: XCO Library
▪ Extensibility Cockpit
– Tracing
▪ Maintain Translations
▪ Custom CDS Views
▪ Extensibility Inventory Application
▪ Lifecycle Management: Export/Import Collection
PUBLIC 2
SAP S/4HANA Extensibility

SAP Build Apps


Low Code

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

Classic SAP BTP, ABAP


Extensibility 1 environment

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

Decoupling and lifecycle stability


On-stack extensibility Side-by-side extensibility
on SAP Business Technology Challenge
Platform (SAP BTP) • Software is always patched and upgraded based on a fixed
UI UI
schedule and new innovations must be introduced easily.

Application App Solution


• Only extensibility that does not block SAP software updates and
continues to work after an update without manual steps is
Database DB
allowed
Decoupled, lifecycle-stable extensions
• Custom extensions are lifecycle stable - that is, the software
lifecycle of extensions is decoupled from the systems of records
(clean core):
− Modification free
− Clash free
− Released APIs, events, and extension points used
− Compliant with zero-downtime principles

PUBLIC 4
Motivation for Key User Extensibility in SAP S/4HANA

CLASSICAL EXTENSIBILITY DE-COUPLING AND LIFECYCLE STABILITY


Custom Code Development and Extensions today Key User Extensibility
• Modifications of SAP code • Custom fields and tables, customer analytics
and forms, business logic, … SAP
• Extensions calling SAP code SAP
S/4HANA S/4HANA
Cloud
On-premise
• Web-based key user tools
(no APIs available)
• Based on stable extension points and APIs
• Software updates require SAP
S/4HANA
On-premise
major adoption effort in customer/partner code

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

Empowering the key user


Developer
• Create and change complex business logic
Challenge • Rich, modern IDE functionality, including
• Line-of-business departments drive the debugging, code checks, quality tools

Task complexity
• Support of big projects and teams
implementation of (cloud and IT) services.

Solution • Performing simple tasks in an easy way


• Easy to use and lifecycle stable
• Key-user extensibility tools are used by business • WYSIWYG and instant testing included
• Low entry barrier
departments that should easily apply non-
disruptive extensibility tasks without risk. Key user, business expert,
implementation consultant

Feature richness
PUBLIC 6
Extensibility personas

Business expert,
Developer implementation consultant,
key user

Integrated development environment (IDE) Low-code/no-code tools

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

OData Service OData Service OData


OData (Open Data Protocol)
is an OASIS standard that defines the best
practice for building and consuming RESTful
Custom Business Objects

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

entities) in the database. The enhancements


Database Table Database Table
I5

include annotations, associations, and (SQL)


expressions.
SAP Key User Extensibility

PUBLIC 9
Key User Extensibility: UI Flexibility

With the UI Adaptation Mode, you can


• 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 by drag & drop, create new


groups and move fields into

• Combine fields into one line, split combined fields

• Define new filter and variants for tables

• App variants: Instead of saving your changes made in UI


adaptation in your original app, you save them in a new app
(= app variant).

• Embedding Content: Embed content from external


applications or websites to your app, for example, external
videos or maps. The content is then added to an IFrame.

UI Adaptation Mode in SAP Fiori Launchpad


PUBLIC 10
Key User Extensibility: Custom Fields

In the Custom Fields App, you can


• Create and edit custom fields (extend the SAP table, application,
CDS views and OData services)

• Delete an existing custom field

• Manage the usages of a custom field such as other UIs, reports,


forms, service interfaces, processes, search

• Define fields of type

• Text, number, amount, quantity, time, date, timestamp, …

• Value help views based on fixed code list or based on CDS view

• Association to custom business objects or to SAP standard


business objects

Key User Fiori App Custom Fields: Create

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

• You can overwrite the SAP Fields Label and Tooltip

• If an SAP Field has a value help this value help is also provided

Key User Fiori App Custom Fields – Data Source Extensions

PUBLIC 12
Key User Extensibility: Custom Business Objects

In the Custom Business Objects app you can


• Create your own business objects and the corresponding database tables

• Add fields to business objects, delete fields and business objects

• Create CDS views, OData services and UI to enter data through a UI or


data load from other customer systems
For UI creation in on-premise and private cloud, see SAP note 3458562

• Create multiple sub-nodes for one business object

• Define fields of type association to other custom business objects and to


SAP standard business objects

• Implement custom logic on node level, write to custom business objects


from custom logic

• Publish business objects, edit business objects that have already been
published

• Reset business objects to their last published version


Key User Fiori App Custom Business Objects
• Copy or delete an existing custom business object

• Use Change Documents and Data Access Management


PUBLIC 13
Key User Extensibility: Custom Business Logic

In the ABAP Web Editor you can use


• Easy exploration of extension points, key user documentation

• Syntax check, syntax highlighting, code completion

• Draft (sandboxing) / published, testing included

• ABAP Language Version for Key Users

• Robustness / security / data consistency

• For example, the following statements are not allowed:


any DB operation except selects from released views,
parallel processing, dynamic programming, code
generation

• Simplicity: obsolete ABAP statements are removed from


the syntax
Key User Fiori App Custom Logic

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

Key User Fiori App Custom Reusable Elements

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

Key User Fiori App Custom Reusable Elements

PUBLIC 16
Key User Extensibility: Custom Business Logic
XCO Library
Extension Components (XCO Library)
• String/XString: simplifications when working with
strings/xstrings.

• UUID: effectively work with UUIDs, e.g. translate between


different UUID formats

• Regular expressions: match strings against patterns or extract


substrings that match certain criteria.

• Time Library: standard abstractions for working with temporal


values.

• JSON: work with JSON data, e.g. creation of JSON strings


(both from ABAP data structures and from scratch), conversion
of JSON strings to ABAP

PUBLIC 17
Key User Extensibility: Custom CDS Views

Create 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

• Define drill downs to analyze the KPIs to better understand your


business situation

• Apply filters on the drill down to narrow down to your area of


interest.

• Save the filtered analysis to launch the same analysis at a later


point in time

• Define associations between KPIs and reports so that they are


available during analysis at runtime.

• Navigate to transactional apps to take action based on your


analysis

Key User Fiori App Manage KPIs and Reports

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

• Copy a query from a SAP delivered standard analytical query

• Add or remove or customize field defined in the query (defining


new labels for a field, display data as key or text, show or hide
result rows etc.)

• Add or remove filters (pre-configured fixed value filters or user


input values filters)

• Create parameters to read the values from the user

• Create calculated / restricted / converted measures

Key User Fiori App Custom Analytical Queries • Define Hierarchies

• Testing included: Preview the results by executing the report (in


Design Studio)

PUBLIC 21
Key User Extensibility: Analytics Extensibility
View Browser
View Browser
• Search for CDS views and display details

− SAP and custom views

− Filter by view type, release status, etc.

− Free text search

• Create/manage analytical applications

• Display of content

• Show the details of 5500+ released CDS views


• State for release SAP S/4HANA Cloud 2111
Key User Fiori App View Browser

PUBLIC 22
Key User Extensibility: Custom Catalog Extensions

With the 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 Query Application to a SAP Fiori catalog

• Add a Custom Tile to a SAP Fiori catalog

• Add a Analytical Cloud Story to a SAP Fiori catalog

• Custom Inbound Service App: Customers can call an inbound


service via oAuth

By extending the Fiori catalog the respective custom Fiori tile is


Key User Fiori App Custom Catalog Extension
assigned to the selected Fiori catalog, and the tile appears in the Fiori
Launchpad.

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

With the Custom Tiles Fiori app, you can


• Create a new Fiori Launchpad tile with a static URL

Use Case: You have created an external application (e.g. on SAP


Business Technology Platform) and want to create a tile with a URL
link to this external application

Key User Fiori App Custom Tile

SAP S/4HANA Cloud Public Edition only

PUBLIC 24
Key User Extensibility: Custom Communication Scenario

Custom Communication Scenario


• Configuration for custom inbound services for:

• Custom Business Objects (created with the Custom Business


Objects Fiori app)

• Custom CDS views (created with the Custom CDS Views Fiori
app)

• Configuration for custom outbound services


• Called in custom code

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

• Create a custom communication scenario in the Custom


Communication Scenarios Fiori app. You can combine multiple
OData services in one scenario.

SAP S/4HANA Cloud Public Edition only • Create a communication arrangement in the Custom
Arrangement Fiori app.
PUBLIC 25
Key User Extensibility: Custom Forms

Adobe Forms Designer: Create a new form template


• 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

E-Mail Template Designer Create a new e-mail template


• Based on an existing data source (CDS View)
• Based on an extended SAP data source (CDS View)

Adobe Form Designer and E-Mail Template Designer

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

• Show the details of


• 3500+ extensible CDS views
• 1000+ extensible OData service
• 1000+ extensible BAdIs
• (extensible with the key user tools)

Key User Fiori App Extensibility Cockpit

PUBLIC 27
Key User Extensibility: Maintain Translations

With the Maintain Translations Fiori app, you can


• Maintain translations for key user objects, e.g. custom CDS views
and custom analytical queries

Note: Some key user apps provide translation capabilities in the app
itself.

Key User Fiori App Maintain Translations

PUBLIC 28
Key User Extensibility: Extensibility Inventory Application

Extensibility Inventory Application


• You can display an overview of your extensibility items and view
associations or dependencies between various extensibility items
• You can see how importing or exporting extensibility items affect
other extensibility items
• Following information is provided in every extensibility item view:
− Name and type of extensibility item, date, last change, person who
performed it, status of extensibility item (deleted, imported and/or
exported)
− Uses: Other extensibility items that the extensibility item in question uses,
their name and type, further extensibility items that are used by or use
these extensibility items
− Used by: Other extensibility items that the extensibility item in question is
used by, their name and type, further extensibility items that are used by
these extensibility items
− Change history full history of changes made to the extensibility item in
Key User Fiori App Extensibility Inventory Application question (in the cloud versions only)
• You can download item dependencies

PUBLIC 29
Key User Extensibility: Lifecycle Management

Export Software Collection


• Create collections of extensibility items and export them from the
quality system
• Check the consistency of items in a collection
• Merge collections
• Add notes during export
• Lock collections and lock changes of items in collections

Import Collection
• Import collections into a production system

Key User Fiori App Export Software Collection

SAP S/4HANA Cloud Public Edition only

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

• Custom Catalog Extensions, Custom Tiles → SAP Fiori Launchpad Designer

• Custom Communication Scenario: Configuration of RFC/HTTP Destinations (SM59)


PUBLIC 31
Extensibility of S/4HANA - Helpful Links
1. White Papers: SAP S/4HANA Extensibility for Customers and Partners
▪ Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions (updated 2024)

2. Blog Post
▪ SAP S/4HANA Extensibility: All You Need to Know (last update 2024)

3. SAP S/4HANA Cloud – Documentation


▪ S/4HANA Cloud: Extend and Integrate Your SAP S/4HANA Cloud -> Extensibility
▪ Fiori Extensibility Documentation: Personalizing and Adapting Apps
▪ Inside the user assistance documents, see the videos with a tour on the available extensibility tools:
– Creating Custom Fields
– Creating Customer Applications

4. SAP S/4HANA (On Premise) – Feature Description


▪ https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE > Product Assistance (English) > SAP S/4HANA Enterprise Technology > ABAP Platform > Developing on
the ABAP Platform > Development Concepts and Tools > Extensibility
▪ Fiori Extensibility Documentation: Personalizing and Adapting Apps
▪ In the Fiori Appl Library (Fiori Apps Library) you can find the information on the extensibility for Fiori apps. Open the App Details and go to Implementation
Information, Extensibility.

PUBLIC 32
Thank you.
Contact information:

ABAP Platform Product Management, SAP

© 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.

You might also like