In the Create Custom Business Objects in SAP S/4HANA Cloud tutorial group it is shown how to create a custom business object and generate a UI (user interface) in SAP S/4HANA Cloud, public edition.
Some restrictions apply for SAP S/4HANA and SAP S/4HANA Cloud, private edition (both referred to as SAP S/4HANA from now on). This blog will show how to handle these restrictions and complement the tutorial group in SAP S/4HANA since release 2022.
The restrictions are:
Note that there exist two different deployment options for SAP Fiori (see documentation: Deployment Options):
When you set up a new SAP S/4HANA system, the recommended setup of SAP Fiori is the embedded scenario. Therefore, this blog focuses on the steps that need to be performed in an embedded deployment scenario. For standalone (hub) deployment, the steps are quite similar and there are just minor differences. For instance, when activating the OData service, the corresponding system alias needs to be selected. These differences will not be detailed in this blog since they are not specific to custom business objects. However, it will be explicitly mentioned what steps need to be performed on the SAP Fiori front-end server.
If you want to develop content as a key user in your SAP S/4HANA development system and that content shall be transportable to other systems like test and productive systems you must set up the Adaptation Transport Organizer, short ATO. For instance, you must specify a prefix or namespace that shall be used for the extensions and define a local package where the extensions are stored initially. ATO provides the option to use a default setup. In this case, the prefix is ZZ1_and the local package is TEST_YY_KEY_USER_LOCAL. How to set ATO up is described in documentation: Configuration Information: Adaptation Transport Organizer.
At creation, key user objects are put to the local package and are not transportable as you can see in App “Register Extensions for Transport” (see documentation)
Custom Business Object is not transportable
To be able to transport the Custom Business Object you must create a package first or decide for a matching existing one (see documentation: Configure Software Packages). In the “Configure Software Package” App you next add a registration for your chosen package and configure it for Automatic Request and Task Handling. For instance, you can configure that a transport request and tasks shall be created automatically if needed.
Configure Software Package
Now you must reassign your custom business object from the local package to the registered package and make it transportable by that.
Custom Business Object is transportable
After development is finished you release your transport request in via the Transport Organizer transaction (code: SE09).
If you have a custom business object you have to tick the “Back End Service” feature for that (see tutorial: Create the UI for a Custom Business Object > Step 1: Generate UI). By this you have defined a service to build a UI on. Its name can be seen below the ticked “Back End Service” feature once it got published.
Custom Business Object Backend Service Details
However, the service is still not ready to use for UI development yet. You must expose this OData V2 service on the SAP Fiori frontend-server for usage next, see documentation “Activate and Maintain Services”.
Create a new package and transport request on the SAP Fiori frontend-server. The package can be created via the Object Navigator transaction (code: SE80) or the Package Builder transaction (code: SE21). Even if the SAP Fiori front-end server is embedded, do not put the front-end server related objects to the package that contains the custom business object, since service exposure artefacts (and UI and launchpad artefacts later) cannot be managed via ATO and this provides a clear separation between frontend and backend artifacts.
This registration activates the service and makes it ready to use.
As you could see before, the Custom Business Object does not provide the feature to generate a User Interface in SAP S/4HANA.
Instead, you must implement the UI yourself with either Business Application Studio or Visual Studio Code and deploy it to the SAPUI5 ABAP repository of the SAP Fiori front-end server. How to do that using Visual Studio Code you can see in tutorial: Create a SAP Fiori Online Shop App and Deploy it
Following differences will arise:
After the deployment, the app is available in the SAP Fiori front-end server of the SAP S/4HANA system. To make it accessible to users,
To achieve that you can follow tutorial: Add the Online Shop Fiori Application to FLP. Following differences will arise:
For more detailed information refer to the SAP Fiori Launchpad documentation.