Skip to Content
Product Information
Author's profile photo Ulrike Liebherr

SAP S/4HANA Extensibility Tutorial

Introduction

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.

Tutorial

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.

Prerequisites

Authorization

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 – Custom Business Objects
SAP_CORE_BC_EXT_CBO

Custom Business Objects

Custom Logic Tracing

Extensibility – Custom Catalog Extensions
SAP_CORE_BC_EXT_CCE

Custom Catalog Extensions

Custom Tiles

Extensibility – Custom Communication Scenarios
SAP_CORE_BC_EXT_CCS
Custom Communication Scenarios
Extensibility – Custom Reusable Elements
SAP_CORE_BC_EXT_CRE
Create and maintain Custom Libraries or Custom Code Lists.

Custom Reusable Elements

Custom Logic Tracing

Extensibility – Custom Fields
SAP_CORE_BC_EXT_FLD
Create and maintain custom fields at standard business objects and enable them in available business object usages

Custom Fields (tab in deprecated Custom Fields and Logic app)

Custom Reusable Elements (when custom fields support Custom Code Lists)

Software Collection Export
 SAP_CORE_BC_SL_EXP
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.

Essentials

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.

Assigned tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Syam Babu
      Syam Babu

      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.

       

      Thanks,

      Syam

      Author's profile photo Ulrike Liebherr
      Ulrike Liebherr
      Blog Post Author

      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.

      Regards

      Ulrike

      Author's profile photo Former Member
      Former Member

       

      Hi Ulrike,

      Do you have any documentation on how to perform similar steps in On-Premise system?

      Thanks,
      Ram

      Author's profile photo Ulrike Liebherr
      Ulrike Liebherr
      Blog Post Author

      Dear Ram,

      please excuse the big delay, but finally we are able to offer you the instructions for our On-Premise extensibility hands-on workshop in last years TechEds. That workshop teaches the same example as the Cloud tutorials here, but of course shows the backend or platform parts whenever needed

      S4H161@SAP TechEd 2017 - Extensibility Frameworks of SAP S/4HANA: Build Custom Business Objects

      Best Regards

      Ulrike

      Author's profile photo Former Member
      Former Member

      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.

       

       

      Author's profile photo Anil Vempati
      Anil Vempati

      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,

      Thanks

      Sathya eathakota