S/4HANA Extensibility – Part 2
In my most recent blog, SAP S/4HANA Extensibility - Part 1, we introduced the concept of Extensibility and how it is taken to the next level with SAP S/4HANA. (If you missed it please take a read!) We explored In-App tools like the Extensibility Cockpit, and Extensibility Inventory. Today, we dive deeper into the topic by exploring additional In-App tools like UI Adaptations at run time, Custom Field and Logic, and Custom Business Objects.
Introducing UI adaptations at run time
UI Adaptation provides the possibility for a user to adapt an application’s user interface.
Before you run the UI (User Interface) adaptions at run time, you will need to enable the Adapt UI (1) mode. You will then be able to perform any of the following operations:
1. Drag and drop the fields to a new group (2)
2. Create a new custom field, create a new group, remove an existing field, and cut and paste the fields from the UI (3)
3. Add a new field from the existing list (4)
4. Change the field labels (5)
5. Combine two or more fields (6)
For an application to be adaptable, its UI should be built based on SAPUI5 flexibility services.
SAPUI5 flexibility services allow you to extend your apps based on your requirements, for example, by creating your own variants or adapting the user interface at runtime.
In particular, SAPUI5 flexibility services enables you to manage smart control changes, provide personalization functions for your SAPUI5 apps, work in multiple layers and store entities in a layered repository. As a user, you’d be able to create your own SAPUI5 entities based on the delivery of SAP without having to modify existing entities in a lower layer.
Introducing Custom Field and Logic
The Custom Field and Logic app allows you to create your own fields and implement custom logic in the standard apps. Using this app, you can create new fields and add them to the applications and their UIs, reports, e-mail templates, and form templates. Note that, to add new fields to the apps, the apps should be enabled for Key-User extensions. To check this, you can refer to the Extensibility Cockpit app and see the available Business Contexts.
This app combines three extensibility options: custom fields, data source extensions, and custom logic.
Under custom fields, you can do the following:
- Create a field for a specific business context
- Make your field available in other languages
- Enable field usage to: Make your fields available for UIs, reports, e-mail templates, form templates, and business scenarios
- Make the content of your field searchable with free-text search
- Specify the aggregation behavior of fields
- Publish fields to your test system
- Edit fields that have already been published
- Discard changes you have done to a field that was already published, and thus reset all modifications to get back to the state of the last published version of a field with one click
- Delete new fields and already transported fields
Custom logic is provided and made possible through available enhancement implementations. Key users can use these (Business Add Ins) implementations to add the new custom logic.
Some of the other things you can achieve through custom logic:
- Create your own implementation by using ABAP for key users
- Implement your custom logic
- Test your custom logic, for example with predefined test variants
- Create filter conditions to define when an implementation is executed
- Publish implementation to your test system
- Edit implementation descriptions that have already been published
- Delete implementations
SAP provides pre-designated enhancement points (in the form of BAdIs) for the available business context, which can be implemented to achieve the custom functionality.
Introducing Custom Business Objects
With the Custom Business Objects (CBO) app you can do the following:
- Create your own business objects and the corresponding database tables are created automatically by the system.
- Use an existing to create a new CBO. A prerequisite is that the existing CBO should be published.
- Create new code lists that can be reused in custom business objects.
- Generate UIs based on custom business objects for maintenance. The UI can be compared to transaction SM30 which is used for table maintenance.
- Create associations between CBOs for reuse.
- Generate OData services for CBOs by selecting the Service Generation option under the General Information tab. After OData is generated, you can work with the CBOs from external environment.
- Publish business objects.
- Edit business objects that have already been published.
- Create multiple sub-nodes for one business object.
- Implement custom logic on node level.
- Reset business objects to their last published version.
- Delete CBOs and custom code lists that have not yet been transported to your production system.
- Trace the runtime of your CBOs and contained logic.
Coming Soon: Part 3 of the SAP S/4HANA Extensibility blog series, where we will wrap up the in-app extensibility tools topic by focusing on the following two sub-topics: Custom CDS Views and Lifecycle Management of in-app extensions.
References: Excerpts From S4C80 – Advanced Extensibility with SAP Cloud SDK