SAP S/4HANA Cloud Key User Extensibility – Introduction to Custom Business Objects – Part 1
|25-Jan-2022||Updated content as per latest updates|
|10-Aug-2021||Updated latest screenshots and content|
|03-Jun-2020||Updated latest screenshots and content|
|17-Jan-2019||Updated latest content|
Target Audience – Key Users of SAP S/4HANA Cloud, On-Premise and Developers
In some of my previous blogs on the topic of Key User Extensions, I introduced you to the concept of extensions in the SAP S/4HANA and how we can add new custom fields or add new custom business logic. In this blog series, we will go a step further and we will see how to use another key user tool in SAP S/4HANA Extensibility called as – Custom Business Objects.
Before getting started with the app –
Refer following links for App Implementation of this app in both SAP S/4HANA Cloud and On-Premise Systems
|In SAP S/4HANA Cloud||Setting up Key User Extensibility (1N9)|
|In SAP S/4HANA||App Implementation: Custom Business Objects|
If you are working in SAP S/4HANA Cloud, you can assign any of the following roles. These are example roles provided by SAP. You can use these as a template to create your own role
|Business Role||Business Role ID as delivered by SAP|
Once you have assigned the app to the user, it should appear as a tile something like below.
Understanding the Custom Business Object –
In simple words, custom business objects is a way to create data base artifacts. Imagine a scenario, where you are a SAP S/4HANA Cloud customer and you have a requirement to create custom database table for storing some data or use the database for running through some business logic where you want to refer the values in the database table and then perform certain action. It is important to note that as a cloud customer you would not have access to SE11 (Data Dictionary). This is one of the reasons why SAP introduced this tile so that you can create custom database table.
Creating a custom business object just does not create a simple database table; You can also create hierarchical database tables and it also allows you to have many other possibilities like creating a custom maintenance UI (equivalent to SM30 on On-Premise system), OData service so that you can also maintain the values from outside the S/4HANA environment.
See the below figure which will give you more insight into the various capabilities offered by this tile.
Let’s understand each of the components of the business object one-by-one and its relevance to using the same for custom requirement.
Starting first, as we know by now, using the tile ‘Custom Business Object’ will enable you to create a custom (hierarchical) database table. Once you are done with the first step and defined a new custom business object, you would notice all other options like – Determination and Validation, User Interface, Back End Service, etc. will be enabled for you. As you notice from the above figure, it starts with the first node of the business object, which is nothing but a structure that has set of fields defined. In addition, you can have further sub-nodes or child nodes that are structures with a set of fields. As we see in the figure above, the first node in the custom business object is – ‘Performance’ and then it has further sub-node ‘Actors’ and ‘Actors’ will have some set of fields. Also, note that, the node ‘Performance’ too would have some set of fields.
The following screen shot is from the actual custom business object.
Let’s us now understand the various components of the custom business object.
Determination and Validation – can be used to implement the logic in which you want to do something when the business object node instance is created, edited and saved. In addition, this can also be used to do validation and display error messages. Please note that before you can use this option, the custom business object must be in published state
User Interface – Checking this checkbox will generate a maintenance UI (akin to SM30 in On-Premise). You would need this UI to maintain the field values in the custom business object. Also, to provide this UI to the users for maintenance, you would need to assign it to the custom catalog. Once the UI is assigned it will appear as a tile in the users Fiori Launchpad. Note that this option is not available in SAP S/4HANA On-Premise. In this case you will have to manually create a new UI by first exposing the CBO as an OData and then develop a new UI with SAP Business Application Studio.
Back End Service – check this flag in case you would like to maintain the custom business object from outside. Selecting this checkbox will generate an OData API that can be consumed from SAP S/4HANA system. Once the API is generated you can set up the Communication Arrangement (this option is applicable for SAP S/4HANA Cloud) and then generate a new Fiori UI using SAP Business Application Studio. With this you can achieve CRUD operation from external source. In case of SAP S/4HANA On-Premise, you can expose the generated OData via SAP Cloud Connector.
Go to Generated UI – This link will be enabled, once the custom business object is completely published and backend assets are also generated properly. Clicking this link will open up the maintenance UI where you can store values
Maintain Catalogs – Use this link to create a tile and assign the application to the catalog. Once done the catalog can be assigned to the user and the maintenance UI will appear as a tile on the user’s Fiori Launchpad
Congratulations you have successfully understood the basics of custom business objects in SAP S/4HAHA Cloud!
Rohit Khan, S/4HANA Regional Implementation Group
Let’s stay connected – Rohit on LinkedIn
To keep yourself updated with latest on extensibility, follow this SAP Community Page – ABAP Extensibility
Click below for the Part 2 this blog series.