In-app enhancements in SAP S/4HANA are striking because of their simplicity. These enhancements are implemented in the same system, connections to other systems aren’t necessary, and latency is reduced.
Furthermore, you can use the existing application as a base and use the powerful ABAP Dictionary, which contains the CDS, to create table views, for example.
You don’t necessarily need any development know-how for enhancements as the following enhancement options for users (in ascending power) are also available:
- End-user extensibility
- Key-user extensibility
The key-user extensibility in particular provides the options shown in this figure.
Enhancements carried out by central key users impact all users of the system, who can in turn make specific adaptations. The traditional extensibility of the ABAP source code is only available on-premise and is mainly included for compatibility reasons.
End-User Enhancements
End-user enhancements can be implemented directly in SAP Fiori apps. These enhancements are user-specific and don’t affect other users of the SAP S/4HANA system. Simple enhancements include customizing screen layouts or selection fields, simple column operations, and basic settings for object-based navigation. These enhancements can only be carried out in specifically prepared applications, and you can access enhancements via the cogwheel icon in the application (see figure below). You can even customize the cogwheel icon in most SAP Fiori screens.
Key-User Enhancements
SAP also provides enhancement options that can partially be implemented using modeling procedures, which is useful when customizing UIs or supplementing custom fields or tables. In a new enhancement mode, you only need basic development know-how to modify the calculation logic without directly changing the application code. One of the advantages of this method is that you don’t have to adapt enhancements manually when maintaining your SAP software. As a result, operating costs are reduced compared to traditional, code-based enhancements. In contrast to end-user enhancements, key-user enhancements affect all system users. Remember that a specific authorization is required for these key-user enhancement options. This authorization needs to be defined in application catalog SAP_CORE_BC_EXT and assigned in accordance with the application role.
Advantages of Key-User Enhancements
Key-user enhancements use modeling rules that won’t need subsequent adaptations for maintenance operations.
Key-user enhancement options are selected via SAP Fiori tiles, which are predefined by SAP. Among others, the following options are provided.
Customizing UIs
Similar to end-user customization, you can change the layout of SAP Fiori apps. Examples include hiding fields, renaming identifiers, rearranging blocks, and creating selection variants. These activities don’t require any development know-how. To customize a UI, in the application that you want to change, select the user icon in the upper left of the screen first. You can then change the UI using the Adjust UI icon.
Field Extensibility
In the business contexts provided for that purpose, you can define additional fields for the application to use (see next figure). Select the Userdefined fields and logic tile in the Extensibility group in the SAP Fiori launchpad. These fields not only are displayed on the UI but can also be stored in the SAP data model and are thus available for database views, searches, and other operations.
Table Extensibility
Besides new fields, you can also define and use custom tables in SAP S/4HANA. Similar to custom fields, custom tables are created within SAP S/4HANA and integrated into UIs. The application then exchanges data with the tables. A custom table is a special kind of user-defined business object.
Business Objects
You can define specific business objects for your enhancements. Business objects are sets of tables between which you define relationships. In addition, you can point an interface to access this newly created business object. Doing so enables you, for example, to access these business objects when specifying calculation logic. To access business objects, select the User-defined business objects tile in the Extensibility group.
Adjusting the Calculation Logic
You may often find it necessary to check the meaning of entered or displayed data, to specify defaults, or to trigger exception handling. Another example of calculation logic adjustments are specific calculation procedures that aren’t provided in the SAP standard. In these cases, additional logic can be inserted in the relevant applications.
The logic is defined in a code-based implementation via a web editor.
In the editor, the syntax is simplified in comparison to traditional ABAP, so that detailed ABAP know-how isn’t required. For this adaptation, use the User-defined fields and logic tile in the Extensibility section and then the User-defined logic tab. However, you’ll require some development knowledge to do so. Compared to traditional enhancement options, you’ll be provided with numerous commands and instructions in this tile. You can also save these enhancements and export them to other systems.
Transport of Enhancements: In general, key-user enhancements should be implemented and tested in a quality assurance system first. To transport verified enhancements to the production system, you can follow this export and import procedure: After developing your enhancement, select the Export software collections tile in the Transport management group. Here, assign your extension to a software collection. This can then be exported.
Now, in the target system, select the Import collection tile in the Transport management group where you can import the previously exported enhancement. Note that export and import are usually performed by a software logistic administrator, so this activity requires specific roles with access to the application catalogs SAP_CORE_BC_SL_EXP (for exporting) and SAP_CORE_BC_SL_IMP (for importing).
Additional Information on Enhancement Options: Further options are available in addition to the described enhancement options. For more details, see the section on Extensibility in the product documentation.
Traditional Extensibility
In on-premise SAP S/4HANA, you can still enhance or even modify the ABAP source code using the tools from the traditional SAP Business Suite, such as the ABAP Workbench. While this approach offers the maximum freedom to develop your own custom enhancements, interactions regarding maintenance operations in the system will often be necessary. When implementing new SAP corrections, you’ll always have to adjust your enhancements to the SAP Notes. As a result, you need to install corrections in close cooperation with your development department. When migrating to SAP S/4HANA, you should also consider how custom enhancements can be implemented using the new options. You don’t have to do this for all existing enhancements; it’s subject to individual consideration.
In addition to these more formal enhancement options, SAP S/4HANA also provides comprehensive applications for defining custom data analyses or creating custom forms.
Editor’s note: This post has been adapted from a section of the book Migrating to SAP S/4HANA: Operating Models, Migration Scenarios, Tools, and Implementation by Frank Densborn, Frank Finkbohner, Martina Höft, Boris Rubarth, Petra Klöß, and Kim Mathäß.
Comments