Technical Articles
SAP S/4HANA Cloud Key User Extensibility – Introduction to Custom Business Objects – Part 1
Latest revisions | |
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 |
Extensibility Framework
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 |
Tip –
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 |
Administrator | SAP_BR_ADMINISTRATOR |
Configuration Expert | SAP_BR_BPC_EXPERT |
Analytics Specialist | SAP_BR_ANALYTICS_SPECIALIST |
Once you have assigned the app to the user, it should appear as a tile something like below.
Key-User Extension tools apps
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.
Custom Business Object representation
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.
Custom Business Object in system
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.
Part 1: Introduction to Custom Business Objects
Part 2: Create a Custom Code List for a Custom Business Object
Part 3: Create a new Custom Business Object
Part 4: Create a custom UI and maintain data in Custom Business Object
Hello Rohit,
Thanks for such informative blog. This blog inspired me to get some hands-on with this in-app extension. I successfully published a Business object by checking the UI Generation, but the link Go to Generated UI is not enabled. Can you please help me?
Thanks,
Sankeerth
Hello Sankeerth,
Thank you very much for good words. Much appreciated!.
Ok, so if you created a CBO on SAP S/4HANA (OP), then this functionality is not available there. However, if you did it on SAP S/4HANA Cloud, then it takes a while to get the generated link. I hope by now when I am replying to you the link would be generated for you.
Regards
Rohit
Thanks for responding to my comment Rohit. I am working on SAP S/4HANA Cloud system, the link is still not generated yet. I even created couple more CBOs, I don't see any difference in those too.
Please find the screenshot of logs of published CBO.
Thanks,
Sankeerth
Hi Sankeerth,
In that case, I would advise you to raise a ticket to SAP under component - BC-SRV-APS-EXT-BO. Please forward the ticket number to me as well and I can keep track of it as wel.
Thanks for your understanding.
Regards
Rohit
Hi Rohit,
Thanks for the advice. The link is enabled now. I really appreciate your quick replies to my comment.
Thanks,
Sankeerth
Hi Rohit,
Nice blog.!
Just curious to know, what values does it bring to on-premise system development approach or is it even applicable for on-premise S4 Hana system.
Thanks,
Naga
Hello Naga,
Very good question. To answer it in simple words, it is just revolving around the concept of Key-User and providing a tool to quickly develop and adapt rather than going the route of full involvement of a developer. Also, one another interesting point to note is that CBO in OP is restrictive in nature in comparison to CBO on OC.
Thanks
Rohit
Hi Rohit,
Did S/4 extensions course in opensap, Following your RIG series in Hana Academy. Great work.. thanks for that..
I could create KPI's etc and add them to Launcpad.
I had subscribed to AWS - s/4hana 1610 instance. I dont have a catalog for Identity and Access Management.
Is there any way to add the Business Catalog SAP_CORE_BC_EXT for 1610 instance.
Regards,
Kumar
Hello Kumar,
In the SAP S/4HAHA OP version, you have to create your own roles, catalog and tiles according to the documentation described here -
https://help.sap.com/viewer/9a281eac983f4f688d0deedc96b3c61c/1610%20003/en-US/a7414a03fde44103bc32a310a5efadd2.html
Cheers
Rohit
Hi Rohit
I am working on SAP S/4 HANA. Is it not possible to maintain entries in custom business object if we are not on S/4 HANA Cloud?
Regards
Kiran
Hello Kiran,
Yes, you can. You also have the key-user tools available on S4H to create CBOs.
You can refer to this link to know more about the CBO on S4H.
Best Regards
Rohit
Hi Rohit
I have created CBOs, But I am not able to maintain entries, as I am not getting "Go to Generated UI" link. The reason is, I am not working on S4H Cloud. Hence I am not getting "maintain url". My question is how to maintain table entries if I am working on S4H and not on cloud.
Regards
Kiran
Hello Kiran,
That is a good question. Since 'Generated UI' link is not there in S4H, you would need to create the UI using Fiori templates in SAP Web IDE on SAP Cloud Platform. Since you already have the service generated for the CBO, you will use this to generate the Fiori app.
Hope this helps!
Regards
Rohit
Hello Rohit,
Thanks a lot !!! Yup, It helped me !!!
Regards
Kiran
Does this blog also apply to SAP Public Cloud?
Thanks
Yes Mark Hallett.
Hello Rohit Khan ,
Do you expect SAP to provide a migration tool for the Se11 tables to Custom Business object in future ?
Thanks,
Vijay
Hi Vijaya, Not in the roadmap as of now.
Regards
Rohit
H Rohit,
This can be implemented in this S4/HANA OP verions ? What steps need to follow? Any documentation ?
Hi Sajith Puthanpurayil ,
Yes, it can be implemented in SAP S/4HANA OP.
You can refer this link for further details.
Kind regards,
Rohit