Skip to Content
Product Information

SAP S/4HANA Extensibility Tutorial


Extensibility / flexibility covers a broad spectrum of topics that allows customers to adopt standard business software to their business needs. The spectrum spans topics from business configuration, UI/forms/report layout adoption, custom fields, objects and logic, integration, custom terminology and translation to customer-specific help.


In order to get familiar with the functionalities you can go through the following tutorials, which is intended for extensibility developers at customer as well as partner side.



To be able to work with extensibility apps your user needs business roles that are authorized for the corresponding business catalogs

Business Catalog Name Business Catalog ID Description Supported Applications
Extensibility  SAP_CORE_BC_EXT This business catalog enables you to create and maintain custom fields and custom logic, custom business objects, and custom CDS views. Custom Business Objects, Custom Fields and Logic, Custom CDS Views, Custom Catalog Extensions, Custom Communication Scenarios
Software Collection Export  SAP_CORE_BC_SL_EXP This business catalog enables you to add extension items to a software collection and export the software collection. Manage Software Collection
Software Collection Import SAP_CORE_BC_SL_IMP Import Software Collection

After having assigned your business roles with the right catalog authorizations you’ll have the needed applications on your Home Page within the Extensibility group.


Extension Transportation

See how to transport your solution from development to productive system.

Tutorial Parts for Custom Solution Extensions

Create custom business objects (former parts I to II)

This tutorial group shows you how to build a simple custom application as a key user in S/4HANA Cloud using ABAP extensibility. Create a custom business object structure and persistence, then generate a UI to be exposed as a SAP Fiori Launchpad application, and finally implement logic to control the application. You will also see how to generally adapt SAP Fiori user interfaces.

Part III: Custom Code List (Bonus Plan)

Learn how to create and make use of a Custom Code List data type.
In the example a release status code list is created and used in bonus plan UI and Logic.

Part IV: Associated Business Objects (Bonus Entitlement with – Plan & Sales Order)

Learn how to let a second Custom Business Object work with the first and a standard Business Object.
In the example a manager wants to create a Bonus Entitlement (= bonus calculation) based on sales volume.

Part V: Custom Fields (Product)

Learn how to create Custom Fields at a standard business object and add them to its UI.
In the example a product manager wants to maintain a bonus percentage and validity period at the product to increase its sale.

As there are two ways to create custom fields, the tutorial shows both separately.

Part V: (A) Custom Field – via extensible Application (Product)

This way is easier, if you have no information about the business context and data source of the UI you want to add a field to initially.

Part V: (B) Custom Field (Product) – via Extensibility Application

This way is faster, if you know business context and UI data source, especially, if you want to create several fields. If you want to add a custom field to several UIs you only can enable them for all in the explicit extensibility application.

Part VI: Product @ Bonus Plan

Learn how to deepen the structure of a custom business object by creating a sub node.
In the example a manager wants to define a list of bonus relevant products at the Bonus Plan.

Part VII: Custom Fields – Logic

Learn how to use custom fields by reading their data.
In the example the Bonus Entitlement is enhanced by calculating an additional bonus for relevant sold products (percentage of the sales volume for them)

Part VIII: Custom Business Object exposure as External Web Service (Bonus Plan)

Learn how to expose a custom business object as web service for integration of a solution with other systems.
In the example all Bonus Plan data shall be exported to an Excel file.

Execute an Outbound Service from Custom Business Object Logic

Learn how to call an external service of SAP API Business Hub from inside the logic implementation of a custom business object.
In the example the Bonus Entitlement will be enhanced by a feedback functionality. The manager’s feedback will be translated automatically into English by calling the externally available service “Machine Translation API” of SAP.

Create Custom UI for S/4HANA Cloud

This tutorial group shows you how to create a simple custom UI for S/4HANA Cloud using SAP Cloud Platform’s SAP Web IDE. This side-by-side approach gives you more possibilities than the in-app generated UI from the very first tutorial group on top.
First you will learn how to set up your SAP Cloud Platform Neo Subaccount for SAP Web IDE including configuration on SAP Identity Authorization Service. Then your S/4HANA system and the that subaccount will get connected to build a custom UI in SAP Web IDE. That custom UI will get deployed to S/4HANA Cloud and finally made available as new application there.

You must be Logged on to comment or reply to a post.
  • Hi Ulrike,


    Nice Blog.Well versed explanation with step by step.

    I have question,Can we do with same steps for Extensibility of the S/4HANA On-Premise 1610 App.




    • Hi Babu,

      you can do most of the things the same way in On-Premise, but there are some differences so far.

      On-Premise restrictions, which need to be done by yourself in backend:

      • No Custom Business Object’s UI generation -> can be done with WEBIde
      • No Catalog Extensions / authorization for Application inclusion to Fiori Launchpad -> roles, Fiori catalogs must be created via PFCG, Launchpad designer
      • OData-/Web Services need to be exposed by yourself on the gateway
      • Lifecycle management: transportation itself is done as known in on premise, our apps support assignment to packages and transport requests. Additionally own namespaces can be created.

      Additional On-Premise functionality

      • Legacy extension fields can be enabled for key user tools, for example to use them in SAP Fiori Applications
      • SE80 integration including detachment of a Custom Business Object to be able to develop it further and more flexible there

      I hope this helps.



  • Hi Ulrike,

    First of all thanks for sharing this great content.

    Two questions:

    1. Where do we do the Code block development ? Is it In-App or side by side.
    2. For the side by side development, how do we access the SCP (SAP Cloud Platform) and HCI ? Is there an App to get in to SCP ?

    We are using S/4HANA Cloud SandBox system for developing some custom scenarios. Example: Adding COPA characteristics and then do a G/L upload to run COPA reports.

    Regards and Thanks.

    -- D.



  • Hi Ulrike,

    Thanks for sharing the great content.

    as per my requirement, I have to fetch the plant and storage location address details using address number in S4 Hana cloud, for that, am not able to read the data from I_Address view because of its a standard entity.

    please suggest is there any alternate approach avail for reading the data? or else is there any view avail for storing the address details.

    Please suggest,


    Sathya eathakota