SAP S/4HANA Cloud – Key User In-App Extensibility

 

In my previous Blog I shared with you how to set up an SAP S/4HANA Cloud system and enable users to Log-in through the SAP Cloud Identity service.

 

As per the SAP Activate Methodology for S/4HANA Cloud, Fit-To-Standard workshops should help you to identify Fits and Gaps in the customer needs in order to avoid extensions and custom development.

In the real world, this is not always possible. Conscious of this, SAP has developed an advanced Extensibility Technology to allow extensions and integrations with the S/4HANA Cloud core.

It’s worth highlighting here that S/4HANA Cloud Extensibility is not really Fiori Extensibility, (which could be a subject for another Blog). It’s a comprehensive set of tools, platform and methodologies to allow customers to immediately benefit from them.

In this second Blog I’m going to take you through the In-App Extensibility concept and functionalities:

  • UI Adaptation
  • Custom fields
  • Data Source Extension
  • Custom Logic
  • Custom Business Objects
  • Custom CDS Views
  • Custom Analytical Queries
  • Custom Forms and Emails templates

SAP S/4HANA Cloud – Key User In-App Extensibility

The extension in this scenario is implemented in the same system as the enhanced app and enables business experts and key users with no deep technical knowledge to implement common extensions to serve the customer needs extending the functional scopes of S/4HANA Cloud.

 

Tip: The Side-by-Side extensibility is meant to weave external content, which could be SAP Cloud solutions or third-party applications, into S/4HANA Cloud.  It requires more technical knowledge and the use of SAP Cloud Platform. This is going to be showcased and illustrated in the third Blog.

 

 

Lets start! 🙂

 

UI Adaptation

 

Key Users can personalize the SAP S/4HANA Cloud UIs to which they have access with no impact to other users. This can be done from Adapt UI in the User section, while you are displaying an app, in this case Product Master app.

 

SAP S/4HANA Cloud – Key User In-App Extensibility

 

The app is switched to UI Adaptation mode, where you can perform your changes, save, publish or reset to the standard state.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

What you can do in the UI Adaptation mode is basically:

  • Add an available field from the associated Business Object to the UI. You can also Rename, Remove, Cut & Paste or change the position of an existing field or label in the UI.

SAP S/4HANA Cloud – Key User In-App Extensibility

  • You can do the same with a Group of fields. You can create a custom one, add fields in it, remove or change its position in the UI.
  • You can add available Tabs or sections and change their position.
  • In the Navigation mode, in addition to navigating to standard apps, you can make a Link navigate to a custom app which has been extended or developed.

 

Custom fields

 

When the Associated Business Object to the UI does not offer the field you need as a Key User, you can create a new field from the Add button in the previous screenshot and SAP does all the magic for you!

It updates structures, tables, CDS Views, oDATA and the UI in order to make it available, editable and storable.

The Custom Fields and Logic app is opened and the Business Object to which the UI is associated is selected. You can specify the name, Tooltip, Type, Length …

SAP S/4HANA Cloud – Key User In-App Extensibility

Note: The available Business Objects you can extend depend on your S/4HANA Cloud License.

 

After creating and publishing, you can enable or disable the usage or search relevance of the field in UIs and Reports. You can also check where it is used and maintain the Translation texts.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

Tip: Since Master data product Filter is enabled, the field is available to apply for filters in the Product Master app.

 

Data Source Extension

 

Data Sources are CDS Views which can be used for Analytical reports, oData consumption, Mail and Forms Templates, KPI, etc.

You can go to Data Source Extension to use this new custom field or just extend an existing standard Data Source. For example, you can extend the Manage Usage Decisions data source:

SAP S/4HANA Cloud – Key User In-App Extensibility

 

 

Custom Logic

What is referred to as BAdI in On-premise, is known as Custom Logic in S/4HANA Cloud. In the same Custom Fields and Logic app, SAP offers a list of Business Contexts which could be enhanced at specific points.

 

SAP S/4HANA Cloud – Key User In-App Extensibility

Once the New Enhancement Implementation is created you can code your Logic in the tiny editor where you can update values of custom fields for example.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

Note: Later, I will talk more about the editor and its limitations.

 

Tip: If you look for the Custom Fields and Logic app in the SAP Fiori apps reference Library, filtering by Product Suite set to S/4HANA Cloud, you can find out the Business Catalog (SAP_BC_CORE_EXT) which should be assigned to the Key Users to enable them to add a Custom field.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

Custom Business Objects

 

In this app, you can create your custom Business Objects (BO) and their corresponding database tables, CDS Views and oData.

Let’s create a Custom BO which will be used in the third Blog in the Side-by-Side Extensibility scenario!

Example: A BO to manage the product discounts hierarchy.

  • Navigate to Custom Business Objects app and click on New
  • Enter the name of your Custom BO and the Name in Plural and click on Create.
  • Maintain the following data:
    • Determination and Validation: To add custom logic before Save and After modification. This can be done only if the custom BO is Published.
    • UI Generation: To generate an application based on the custom BO to create and maintain the BO data.
    • Service generation: To generate an oData service which can be consumed by SAP Cloud Platform or third-party apps or services.
    • Can Be Associated: To create a hierarchy and navigation capability from the custom BO to other child nodes.
    • System Administrative data: If you want to let the system store data like timestamps or user names for logging purposes

SAP S/4HANA Cloud – Key User In-App Extensibility

  • Go to Fields and Logic and maintain the fields and their types you need for your custom BO

 

SAP S/4HANA Cloud – Key User In-App Extensibility

 

SAP S/4HANA Cloud – Key User In-App Extensibility

Tip: Note that Discount field is a Code List defined separately in the same Custom Business Objects app.

SAP S/4HANA Cloud – Key User In-App Extensibility

  • Save Draft and Publish.

SAP S/4HANA Cloud – Key User In-App Extensibility

  • Once published, you can add custom Logic to the Before and After events.

SAP S/4HANA Cloud – Key User In-App Extensibility

  • Click on Before Save and Create a Draft Version and add some code. Example: validate that the Discount percentage, From Quantity and To Quantity are not missing.

 

SAP S/4HANA Cloud – Key User In-App Extensibility

Note: For security reasons, the ABAP statements, Business Objects and tables you can use are limited. You can use the Importing parameters, custom BO or the class API cl_abap_context_info:

SAP S/4HANA Cloud – Key User In-App Extensibility

Tip: You can test your code using Variants for the importing parameters. You get the exporting parameters on the bottom of the editor:

SAP S/4HANA Cloud – Key User In-App Extensibility

  • Publish. Now your Custom Business Object is ready for use and Consumption. Navigate to your app available in the Extensibility Custom Apps and Services Launchpad Group.

 

  • Enter some values for your Custom Business Object:

SAP S/4HANA Cloud – Key User In-App Extensibility

SAP S/4HANA Cloud – Key User In-App Extensibility

Note: In the third Blog, we will consume this Custom Business Object from the SAP Cloud Platform as an oData service.

Custom CDS Views

 

You can create custom CDS Views on the top of existing standard SAP CDS Views of your own custom CDS Views and expose them to oData or Analytical Reporting tools.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

In terms of the CDS View Data definition, in the Custom CDS Views app you might need to define:

  • oData exposure
  • Analytical Exposure
  • Associations between underlying CDS Views
  • Selected Fields
  • Input Parameters
  • Filters

Note: In the third Blog, we will see how to consume Custom CDS Views, whether created from this app or whether coming from the Custom Business Objects.

 

Custom Analytical Queries

 

This app allows you to create new Custom Analytical Queries like CDS Views intended for Analytical and reporting purposes, with the addition that it allows you to display and analyse data into a meaningful grid.

Tip: Custom CDS Views flagged as Analytical are available as Data sources for Custom Analytical queries.

 

Custom Forms and Email Templates

As part of the Output Management, these two apps allow you to Create Custom Forms and Email Templates based on existing standard SAP ones or totally new templates you can create and design.

An existing Data Source, which can be standard or custom, can be assigned to your template to use its fields.

 

SAP S/4HANA Cloud – Key User In-App Extensibility

SAP S/4HANA Cloud – Key User In-App Extensibility

For the Forms Templates, you need to download an existing template or create a new one, and use Adobe LiveCycle Designer to edit and adapt to your needs and then upload to the app.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

Tip: You can use the Manage Logos and Manage texts apps to create logos and texts reusable within your templates.

SAP S/4HANA Cloud – Key User In-App Extensibility

 

As you can see, the Key User In-App Extensibility tool-kit is rich in apps and capabilities to allow you to implement your needs in your same S/4HANA Cloud system.

In the next Blog, I will show how you can use the SAP Cloud Platform to develop Side-by-Side apps and how external content can easily be integrated within your S/4HANA Cloud.


Please reach out to our sales team at sales@advantco.com if you have any questions.