Key User Extensibility on SAP S/4HANA Cloud – Adding Custom Business Logic
Key User Extensibility on SAP S/4HANA Cloud and SAP S/4HANA On-Premise – Adding Custom Business Logic
|16-Aug-2021||Updated latest screenshots and content|
|03-Jun-2020||Updated latest screenshots and content|
|17-Jan-2019||Updated latest content|
|Blog updated for|
|SAP S/4HANA Cloud||2105, 2108|
|SAP S/4HANA On-Premise||1909, 2020|
|SAP S/4HANA Cloud Extended Edition||
Read SAP Note 2936504
How to enable In-app extensibility Fiori apps in SAP S/4HANA Cloud, extended edition
Key User Extensibility on SAP S/4HANA Cloud and SAP S/4HANA On-Premise – Adding Custom Business Logic – Part 4
Target Audience – Business Experts, Key Users, Developers
To demonstrate Custom Logic let’s take the standard Fiori App to Create Customer Projects under Project Management. This is a simple demonstration; however, more complex logics can also be created provided such Enhancement Options are provided for a Business Context.
Also, this app for demo is only available in SAP S/4HANA Cloud. However, whatever you will learn is also applicable for SAP S/4HANA On-Premise
Scenario – When we start creating a new customer project, the standard does not automatically generate a Project ID. To check this, go back to Blog 3 and you would notice, Project ID is manually provided
Click the tile to create a customer project and try to save without giving a Project ID. You would notice an error is issues as system expects you to enter a Project ID.
For this demo we will see how we can implement the custom logic so that a number is auto-generated by the system and this field is auto-populated.
Let’s see how to do this.
Choose the tile – Custom Logic this time.
Once in, go to the tab Custom Logic.
You may see already some implementations in the list. Click on the ‘+’ icon to create a fresh Enhancement Implementation. Once you click that icon, following pop-up will appear. Fill the details as required.
Under BAdI Description, you will find many BAdIs are listed. However, for our scenario, we need to pick the following as shown below
Let’s understand few details related to above.
Business Context – means for which data set enhancement implementation will be applicable. When this enhancement is implemented, it is integrated with the parent application at the specified and designated point
Enhancement Option – is just like any other enhancement implementation point where an app can be extended
Name – is any meaningful name given to the enhancement implementation that will appear in the list above
Next choose the Business Context, and already available Enhancement Option. Give a meaningful name and hit Create
Please note that the Identifier name here is generated automatically by the system, however, you can still change it
Once you hit create, system takes you to ABAP Web Editor where you can write the enhancement code. As you see in the below screen shot, the system gives you a draft code pre-generated code which you can publish or make any other changes to it.
In this same window you can also test your code. Once satisfied, you can then save and publish.
Once you click on Test you would see some value being returned in the parameter ‘engagementProject’. This shows that the logic is working fine.
The ABAP Web Editor also has a syntax check feature and will highlight it with red mark. Some examples see below –
It is also important to note that, the capability of the ABAP Web Editor is restricted ABAP and no database create, update, delete statements etc. is allowed. Also, there is no direct access allowed to database tables. Instead, you can use released CDS views in the select statement. See screenshots below.
For more details about Restricted ABAP, see below link –
Now let’s go ahead and publish our implementation. Click on the Publish button
Now let’s go back and try to create a new customer project. You will notice that Project ID is now automatically generated as soon as you fill the first field – Customer
Visit SAP teched Online for more interesting videos: http://sapteched.com/online
Some more helpful links –
Congratulations you have just finished Key User Extensibility – Adding Custom Business Logic to the standard S/4HANA Fiori UI app using Key User tools!
Rohit Khan, S/4HANA Regional Implementation Group
Thank you for reading through these blogs!