Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
ThomasSchneider
Product and Topic Expert
Product and Topic Expert
[2018-05-15] Update.

S/4 HANA comes with a new extensibility concept. SAP has announced the new extensibility concept in a white paper published some weeks ago (S/4HANA Extensibility – The new White Paper). A major pillar of the extensibility concept is the key user extensibility tool set that is part of S/4 HANA. Other extension scenarios are supported by SAP HANA Cloud Platform (HCP), e.g., integration of SAP- and non-SAP cloud solutions or development of Fiori like UI’s using Web IDE. You will find an overview in the white paper mentioned above and many more useful links here: SAP S/4HANA Extensibility: A Learning Journey.

In this article, I want to share some insight into the key user extensibility tools. But at first, let me summarize the most important facts.

The S/4HANA key user extensibility tools follow the principle of leading cloud services (see for example the SAP cloud services of SuccessFactors, Ariba, Cloud for Customer and SAP Business ByDesign, but also services of SAP’s competitors). So they are designed for the cloud, but also made available in the on-premise edition:

  • They are completely web-based (developed along the Fiori principles and technology) and targeted for the key users and therefore easy to use.

  • The artifacts created with key user tools are lifecycle-stable. This means, they are based on public, stable APIs and technology so that they will continue to work without adaptation after the next upgrade.


After this short introduction, let me introduce the tools in detail:

UI Flexibility


As a key user you can change the layout of you tables and forms directly in the running UI in 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, create new groups and move fields into

  • combine fields into one line, split combined fields

  • Define new filter and table variants

  • This feature is available as of S/4HANA version 1506 (cloud) for selected UIs




Figure: UI Adaptation Mode - Adaptation Mode with Drag&Drop Configuration

 



Figure: UI Adaptation Mode - Form-based Configuration UI

 

The UI adaptation mode has two different implementations:

  • A drag-and-drop "runtime adaptation mode", in which you can configure the UI via drag and drop. The following video https://youtu.be/-0W_fvzpJZk and the related document http://scn.sap.com/docs/DOC-68081 nicely shows the features of the adaptation mode. You can start the adaptation mode from the menu under your account information under "Adapt UI".

  • A form-based configuration UI in which you can 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.


Custom Fields


In the 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.

  • 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 that are available in CDS views in "lower layers" of the virtual data model (VDM) (tab “Data Source Extensions” in the Custom Fields and Logic app)


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.

This feature is available for released SAP business contexts. As of version 1711 SAP offers more than 150 extensible business contexts (including business partner, product, sales document, project, ...). Additional SAP business contexts will be enabled for custom field extensibility in subsequent versions.

Documentation:  General Functions for Key Users -> Extensibility (link see end of this blog) -> Custom Fields and Logic

See also the video in the documentation: (-> Extensibility Scenarios -> Creating Extension Items and Transporting Them)

 



Figure: Custom Fields Fiori App

 

Custom Business Logic


In a state-of-the-art Web editor in the Custom Fields and Logic Fiori app, you as a key user can easily add business logic to existing enhancement options.

The Web editor completely hides the technical details of the underlying enhancement technology (e.g. SAP BAdIs) from you as a key user. It provides an easy way of exploration of APIs with key user documentation, and syntax check, syntax highlighting, code completion. Testing capabilities are included.

As programming language wit use a Cloud- and key user enabled version of the ABAP language optimized for:

  • Robustness / security / data consistency: For example, the following statements are not allowed: any DB operation except selects from released views, spawning new tasks, dynamic programming, code generation

  • Simplicity: For example, obsolete ABAP statements are removed from the syntax


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 and release ABAP classes in the program logic

  • Call a web service that runs on SAP CP from custom code


This feature is avaiable for released enhancement options. As of 1711 SAP offers more than 80 enhancement options.

Documentation:  General Functions for Key Users -> Extensibility (link see end of this blog) -> Custom Fields and Logic

See also the video in the documentation: (-> Extensibility Scenarios -> Creating Extension Items and Transporting Them)

 



Figure: Custom Business Logic Fiori App

 

Custom Business Objects


With the Custom Business Objects Fiori app, you can create and manage custom business objects. A custom business object is a hierarchical set of database tables with an API for creation, retrieval, update and deletion of data. You can provide business logic in a Web editor using the Cloud-enabled version of ABAP (same as for Custom Business Logic).

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 that have not yet been transported to your production system

  • Create CDS views, OData services and UI to enter data through a UI or data load from other customer systems

  • 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 (features: see Custom Logic)

  • Write to custom business objects from custom logic (BADIs, Custom business object determinations)

  • Publish business objects, Edit business objects that have already been published, reset business objects to their last published version, copy or delete an existing custom business object (deletion is not possible if a custom business object has been transported)

  • Perform a trace


Documentation:  General Functions for Key Users -> Extensibility (link see end of this blog) -> Custom Business Objects

See also the video in the documentation: (-> Extensibility Scenarios -> Creating Extension Items and Transporting Them)

 



Figure: Custom Business Objects Fiori App


 

In S/4HANA Cloud Marketing edition, you can fill data into Custom Business Objects using an OData service (e.g. from a third-party system) and use the Custom Business Objects as Segmentation worksets in the Segmentation Modelling app to filter contact data with SAP HANA views.

As of version 1608 (Cloud) you can expose Custom Business Objects as OData Services for consumption in SAP Cloud Platform of other external clients.

KPI Design


With the KPI design Fiori apps, you can define new KPIs for your organization based on CDS Views / ODATA Services:

  • Modify SAP delivered KPIs 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 so that they are available during analysis at runtime.

  • Navigate to transactional apps to take action based on your analysis


Custom Analytical Queries (Query Builder)


With Version 1605, the Query Builder app was renamed to Custom Analytical Queries. With the Custom Analytical Queries Fiori app, you can create and manage 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

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


You can build custom analytical queries on top of:

  • Released cube views of the SAP delivered Virtual Data Model (VDM).

  • You own custom CDS cube views (created with the Custom CDS Views app, see below)


Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Custom Analytical Queries



Figure: Query Builder Fiori App

 

Custom CDS Views


If you need access to data in your system in a way the system does not offer so far, you can create your own data access by making use of a Core Data Service view (CDS view). CDS views allows you to model the 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 add metadata like semantics or a just define a new label for a certain field.

With the Custom CDS View app, you as a key user can model company-specific data access on top of public CDS views. You can build Custom CDS views on top of:

  • Released views of the SAP delivered Virtual Data Model (VDM). As of version 1711 SAP offers more than 800 released views (including business partner, product, sales orders, project, ...).

  • You own 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)

  • Expose the custom OData service as an OData service (which you can use in an external app or integration scenario)

  • Create a re-use view (which you can use in another custom CDS view or in custom logic)


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)

  • Create new custom CDS views

    • Choose a primary data source

    • Add one or more associated data sources according to your needs

    • Select the fields and associations that should be used in the new custom CDS view

    • Perform changes on the properties ("annotation" such as aggregation behavior, semantics) of the fields

    • Create calculated fields such arithmetical calculations, case statements, conversions

    • Display the parameters of the selected data sources if they contain such



  • Publish custom CDS views, edit views that have already been published, reset to their last published version, delete custom CDS views


As of version 1702 (Cloud) you can expose CDS views as OData Services for consumption in SAP Cloud Platform of other external clients.

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Custom CDS Views



Figure: Custom CDS Views Fiori App

 

Custom Forms


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)


The forms extensibility tools are available as of S/4HANA version 1506 (cloud) and 1511 (on premise). Selected SAP forms scenarios are enabled for creating new forms for version 1506 and in subsequent versions.



Figure: Maintain E-Mail Templates Fiori App

 

Custom Tiles


With the Custom Tiles Fiori app, you can create a new Fiori Launchpad tile with a static URL. The use case is here, that you 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.
(Note: tiles for applications created by the in-app tools, for example for custom business objects and Smart Business KPIs, are created directly in the respective Fiori app.)

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Custom Tiles

Custom Catalog Extensions


With the Custom Catalog Extensions Fiori app, you can extend SAP Fiori catalogs. The following use cases are supported:

  • 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


By extending the Fiori catalog the respective custom Fiori tile is assigned to 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.

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Custom Catalog Extensions

Custom Communication Scenarios


With the Custom Communication Scenarios Fiori app, you can expose custom OData services for consumption in SAP Cloud Platform of other external clients. You can expose OData services for:

  • Custom Business Objects (created with the Custom Business Objects Fiori app)

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


To expose custom OData services SAP Cloud Platform of other external clients, you have to do three steps:

  1. When creating a Custom Business Object or a Custom CDS Views, select the „OData Service“ flag in the respective Fiori app

  2. Create a custom communication scenario in the Custom Communication Scenarios Fiori app. You can combine multiple OData services in one scenario.

  3. Create a communication arrangement in the Custom Arrangement Fiori app. In the communication arrangement, you maintain the technical user that is used by the client. By activating the communication, the system activates the service endpoint and authorizes the technical user for the services that are bundled in the communication arrgangement.


The OData Service and the custom communication scenario is created in the Q system and tranported to the P system (see section Lifecycle Management). The communication arrangement is a system configuration setting that is maintained separately in the Q system and in the P system.

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Custom Communication Scenarios

For additional information, see my blog: https://blogs.sap.com/2016/10/19/s4hana-extensibility-connect-sap-s4hana-cloud-sap-hana-cloud-platfo...

Lifecycle Manaement


As mentioned in the introduction, key user tools are available in cloud and on premise (based on the feature roadmap). However, lifecycle management is different for the objects created with the key user tools.

In the cloud version, the transport of adaptations from the test to the production system is performed by the key user with Fiori apps without interaction with the service provider and outside of the maintenance window of the service provider. The extensibility transport tools are available as of S/4HANA version 1506 (cloud).

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Export Software Collection, Export Software Collection

See also the video in the documentation: (-> Extensibility Scenarios -> Creating Extension Items and Transporting Them)

In the on-premise version, customer manages SAP updates and customer transport with “classical” transport tools (correction and transport system, CTS).

Documentation:  General Functions for Key Users  (link see end of this blog) -> Extensibility -> Configure Software Packages, Register Extensions for Transport

 



Figure: Manage Software Collections  Fiori App

 

Exploring Extensibility Options


Extensibility depends on released extension options (in tables, CDS views, services, business logic, …) and programming interfaces (CDS views, ABAP classes). So having the right tools is only one part of the story. To build extensions, you need APIs and extension points.

I have written a dedicated blog on S/4HANA Extensibility: How to Find APIs and Extension Points.

 

Further Information


If you are interested in additional information on key user in-app extensibility, you can refer to the following material:

The Key User Extensibility Tools of SAP S/4 HANA - Overview Presentation

White Paper SAP S/4HANA Extensibility for Customers and Partners

S/4HANA Extensibility: Use Case Overview

SCN S/4HANA Extensibility: Scenario Diagrams

SAP S/4HANA Extensibility Tutorial

You can find the product assistance on  key user in-app extensibility here:

You can select your preferred language and version in the right upper corner of the screen.

If you are interested in information on Side-by-Side Extensibility with SAP Cloud Platform, refer to:

Extending SAP S/4HANA Cloud

SAP S/4HANA Cloud SDK – SAP S/4HANA Extension Development Made Simple

 

Getting Started with In-app Extensibility Tools


SAP S/4HANA Cloud


In the Cloud edition, the system is completely pre-configured. Fiori catalogs, tiles and roles are pre-configured and can be assigned immediately in the "Maintain Business Users" Fiori app. To get access to the key user extensibility tools, assign the the following catalogs the respective users:

  • Extensibility (SAP_CORE_BC_EXT)

    • UI Flexibility

    • Custom Fields and Logic

    • Custom Business Objects

    • Custom CDS Views

    • Custom Tiles

    • Custom Catalog Extensions

    • Custom Communication Scenarios



  • Query Design (SAP_CA_BC_ANA_AQD_PC)

    • Custom Analytical Queries



  • Output Management (SAP_CORE_BC_OM)

    • Maintain Email Templates

    • Maintain Form Templates



  • Manage Software Collection

    • Manage Software Collection,



  • Import Software Collection

    • Import Software Collection




 

SAP S/4HANA On Premise


In the on-premise version, you have to create your own roles, catalog and tiles according to the documentation. For details, see the product assistance: App-Specific Implementation and Configuration Information (for Extensibility apps). (You can select your preferred language and version in the right upper corner of the screen.)

The following extensibility tools are available in the on-premise version:

  • UI Flexibility

  • Custom Fields and Logic

  • Custom Business Objects

  • Custom Analytical Queries

  • Configure Software Packages

  • Register Extensions for Transport

  • Custom CDS Views

  • Maintain Email Templates

  • Maintain Form Templates


 
46 Comments