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.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert
Since the introduction of a 3-system landscape (3SL) in September 2022 for the SAP S/4HANA Cloud, public edition, SAP added a new pillar to the Extensibility landscape: Developer Extensibility, also known as SAP S/4HANA Cloud, ABAP environment. But what can Developer Extensibility do? Can we do classical ABAP programming in SAP S/4HANA Cloud? Can we debug the code? Will Key User Extensibility (in-app extensibility) be of no use anymore? … Lots of questions come to our mind. Today, I would like to present some differentiation scenarios we implemented using Developer Extensibility for SAP S/4HANA Cloud, public edition, hoping it can give you some concrete ideas on the capabilities of Developer Extensibility and the typical business scenarios we can solve using Developer Extensibility.

Before we jump to the examples, I advise you to read this blog that provides a great summary of all extensibility techniques used in SAP S/4HANA Cloud, public edition.

Notes: Please bear in mind, for the cases presented below we are only using Developer Extensibility to build up core differentiation in the presented business scenarios. The UI development of these differentiated business processes is done in SAP BTP, BAS (Business Application Studio). For more details about BAS, you can check the UI Development of Developer Extensibility.


Case I: Mass processing for Work Center

In SAP S/4HANA Cloud, public edition, we have standard Apps for mass processing, like Mass Maintenance for Master Data.  However, we have learned from some of our customers, that they do have requirements for mass processing for certain business objects.

On the API Business Hub, there is a new section called “Developer Extensibility”, where you will find the Business Object Interface:

Business Object Interface part on API Business Hub


With the availability of the Business Object Interface, we can develop custom Fiori applications for mass processing SAP standard business object. Here, we present an example of how we created a new application by leveraging the Business Object Interface of Work Center. With this new app, customers can choose multiple work centers for mass updating of the values of certain fields.

Business Object Interface: Work Center


Custom application “Mass processing for Work Centers”


Choose the fields for mass processing


As you can see above, we selected three fields (Supply Area, Usage, Back Flush) for mass updating, based on the customer requirement. You can also implement other fields for mass updating as long as the fields are supported in the Business Object Interface.

Another thing to mention is, that with the new 3SL in SAP S/4HANA Cloud, public edition, you can now create custom Business Catalogs - something that was not available before. Now users can assign custom applications  to custom business catalogs. This new function will help us to be more precise when creating authorization controls.

Create custom Business Catalog for custom application


Case II: Mass Upload for Purchase Requisition

This is another case of custom application for mass processing: mass upload/creation. In this case, we create a custom Fiori application for Purchase Requisition mass upload. The custom application can create multiple purchase requisitions from an Excel file template. Furthermore, you can define the upload template based on your own requirement. This was implemented using the Business Object Interface Purchase Requisition.

Business Object Interface: Purchase Requisition


Custom application “Purchase Requisition Mass Upload”


Case III: Enhanced Goods Receipt Process

On the API Business Hub, under Developer Extensibility section, you will find a section for Business Add-ins “BAdIs”. Here, you will find the list of all BAdIs that you can utilize to enhance your business process by implementing your own logic.

Business Add-Ins (BAdIs) for Developer Extensibility


Recently, a customer wanted to pass some internal memos to the auto-created inspection lot when posting goods receipt for a purchasing document. We implemented this requirement by using two BAdIs. The first BAdI is MMIM_GR4XY_CHECK_DATA (Check Header and Item Data in Goods Receipts), and we used it to save the internal memo text when posting goods receipt. The second BAdI is BADI_QPL1_CHANGE_AT_CREATE4CLD (Change Inspection Lot Header During Lot Creation), and we used this BAdl to pass the saved internal memo text to the Short Text field of the newly created inspection lot when system creates the inspection lot.

Enter the text to Note field when posting goods receipt


The text will be saved to auto-created inspection lot


Enhanced the goods receipt process by 2 BAdIs


With Developer Extensibility, we can set breakpoints in the code, and easily debug the code. This will make it easier for the developer when troubleshooting is required.


Debug in Eclipse ADT tool


Case IV: Customized Inventory Aging Report

Reporting is one of the commonly used business scenarios in SAP S/4HANA Cloud, public edition. In 2SL, customers usually create custom CDS Views and use the embedded SAP Analytics Cloud (SAP SAC) to create all kinds of reports. With the new 3SL, we can create custom CDS Views using ABAP. We can implement much more complicated business logic using ABAP code that provide us much more flexibility.

The Inventory Aging report is a widely used report by our S/4HANA Cloud customers. We implemented this report in 3SL using ABAP code. We define a custom entity for data storage and implement the complicated logic in a custom Class. Moreover, we defined a maintenance object, in which customer can maintain which movement types will be counted in the inventory aging report.


Define a custom entity


A custom Class to implement the business logic


The customized Inventory Aging Report


While this blog doesn’t cover an exhaustive list of the differentiation scenarios possible using Developer Extensibility, I hope it can give you some ideas for potential future scenarios.

I would like to thank the following colleagues who supported  the implementation of these differentiation  scenarios: rex.xie, hongbowang, riya_yang1, qi.liu4, ecco.liu, summer23, angeladai, joey.li1.

If you would like to see more sample scenarios of Developer Extensibility, I would suggest you to visit SAP Extensibility Explorer.

If you would like to know more details about Developer Extensibility, you can visit the official Developer Extensibility Help Document.


More Information on SAP S/4HANA Cloud, Public Edition:

  • SAP S/4HANA Cloud, public edition, release info here

  • Latest SAP S/4HANA Cloud, public edition, release blog posts here and previous release highlights here

  • Product videos on our SAP S/4HANA Cloud, public edition and SAP S/4HANA YouTube playlist

  • SAP S/4HANA PSCC Digital Enablement Wheel here

  • Early Release Webinar Series here

  • Inside SAP S/4HANA Podcast here

  • openSAP Microlearnings for SAP S/4HANA here

  • Best practices for SAP S/4HANA Cloud, public edition, here

  • SAP S/4HANA Cloud, public edition, Community: here

  • Feature Scope Description here

  • What’s New here

  • Help Portal Product Page here

  • SAP S/4HANA Cloud ABAP Environment Community here

Follow us via @SAP and #S4HANA or follow vincent.zhu