Clean Core Concepts: Try out Custom Business Objects Instead Of Custom Z Tables
As part of my journey with applying S/4HANA's clean core extensibility concepts, I'm looking into Custom Business Objects which are a great replacement for custom tables. This article is an introduction to the Custom Business Object and serves as a guide to get started.
❓ What do you mean by Clean Core Extensibility?
SAP S/4HANA extensibility is evolving. Custom business objects is part of SAP's In-App Extensibility framework. For more information read my post on In-App extensibility.
With current and future versions of S/4HANA you can make enhancements to the system with no-code/low-code Fiori in-app extensibility tools without using the traditional Z space approach in transaction codes like se80. These enhancements are kept within SAP's framework and have support for future system upgrades.
✋ What are Custom Business Objects?
Custom Business Objects is a tool used to create your own business objects for use in database tables or as the basis for custom applications.
If SAP S/4HANA does not have the tables or fields you require to store your business data, you can use this Fiori app to:
- Define your data structure and fields
- Generate your UI and expose it's own Fiori app
- Assign the Fiori app to particular business catalog
- (Optional) Add custom logic, like calculations or validation
- (Optional) Change Documents
🖼 Impressions
This is definitely a way more modern approach to custom tables where you can simply design, generate a set of fields to suit your business needs. Within Custom Business Objects there's a log showing objects that gets generated. It looks like under the hood CDS views are generated with associated CRUD enabled UI. These objects are also transportable so that you build once and move through your landscape. I like it!
🤔 How should they be used?
Custom Business Objects is a good candidate to replace maintenance views (sm31) on top of custom tables or if you've used a table like TVARV to store values beyond it's intended use to store variables in selection criteria or other uses you may have.
This tool is available in on-premise and cloud versions of S/4HANA.
📚 Reference Documentation
Take note that there's a few considerations you might want to review before getting started:
SAP Note: 3094619 goes into details that entries can't be transported.
🛠️ What's the best way to learn Custom Business Objects
I definitely suggest start off with the hands on tutorials ABAP developers - there's no substitue for actually getting hands on with the tool itself:
🙋🏻♂️ I might need additional help!
If your organization needs a helping hand on implementing clean core architecture with SAP S/4HANA, please feel free to reach out to me at ben@ben-kwong.com