3.4    Extensibility in SAP S/4HANA

Every enterprise is unique, not just in the specifications for its products or services, but in its employees, its goals, and thus its business process structures. In the ideal case, business software supports such uniqueness and the resulting differences because these details differentiate the enterprise from its competitors.

To date, SAP has supported differentiation to the greatest extent possible with its software: SAP provided released interfaces and disclosed the source code of the entire application. Moreover, SAP offered SAP NetWeaver Application Server ABAP, which is a development environment in the application system. SAP provided several options for integration with other applications, for example, using SAP Process Orchestration (PO). With this portfolio, SAP has created an optimally customizable solution with scalable enhancement options. Third-party providers also appreciate this extensibility and can deliver supplementary functions for standard SAP solutions. When planning your migration to SAP S/4HANA, you should always pay attention to the solution’s extensibility.

In SAP S/4HANA, SAP has emphasized this extensibility, which has been adapted according to SAP’s simplification philosophy for products. Particular attention was paid to allowing customization without comprehensive programming knowledge but also provide the flexibility required for significant enhancements. In SAP S/4HANA, these concepts were improved. Doing so, disadvantages coming from extending the standard software to individual requirements are minimized. In the past, the high degree of flexibility in SAP ERP could lead to risks that had to be considered individually in each specific case: Comprehensive enhancements entailed projects involving several parties within the enterprise and sometimes implementation partners as well. This, an enhancement could take some time before it could actually be used. When enhancements were implemented, the next risk was in the operation of the software: During the lifecycle of the software, hotfixes and planned updates to the default software are usually installed. Testing modified and custom developments in this constantly updating software lifecycle can involve a great deal of effort.

Consequently, the extensibility in SAP S/4HANA has been adapted to accelerate the implementation of enhancements and reduce the costs of these enhancements. In particular, modifying the default SAP code can be avoided in most cases. For this purpose, SAP S/4HANA provides tool-based enhancement options in the applications themselves, as well as platform-based enhancement options outside the software product. These functions support the following characteristics:

[+]  Extensibility of SAP S/4HANA

You can customize SAP S/4HANA using various enhancement procedures.

To implement this extensibility, SAP follows two approaches:

Both approaches complement each other and can be combined. Figure 3.9 compares the two enhancement approaches. These approaches are described in detail in the following sections.

Enhancement Options in SAP S/4HANA

Figure 3.9    Enhancement Options in SAP S/4HANA

The in-app and side-by-side approaches involve various levels. The deeper the level, the greater the impact on the software lifecycle. Not all options are available in all deployment options (see Section 3.3.4).

3.4.1    Side-by-Side Enhancements

The characteristic of side-by-side enhancements is that they use SAP Cloud Platform (previously, SAP HANA Cloud Platform [SAP HCP]). SAP Cloud Platform is a PaaS solution from SAP. In addition to the SAP HANA database, this solution contains comprehensive tools for developing, testing, integrating, and operating the software. As a PaaS product, the technical operation of SAP Cloud Platform is ensured by SAP, which reduces the workload on the internal IT department. By default, each new release of SAP software is ready for integration with SAP Cloud Platform.

Enhancements on this platform can be carried out using various implementation approaches, such as Java code, HTML5 commands, and SAP HANA database queries. SAP Cloud Platform does not provide an ABAP development environment. Consequently, this enhancement approach is particularly suited to developing custom user interfaces and integrating additional steps into SAP Standard business processes.

[+]  Side-by-Side Enhancements

The enhancement options based on SAP Cloud Platform are ideal for creating custom user interfaces or additional business process steps.

User Interfaces

The SAP Fiori user interfaces are written with HTML5 and are based on central SAP libraries (SAPUI5). The software development process for HTML5 applications differs from the development in ABAP, which is the language used to implement the SAP S/4HANA application logic. Therefore, SAP S/4HANA does not contain a development environment for HTML5. Instead, SAP provides an optimized development environment for SAP Fiori user interfaces via SAP Cloud Platform. In addition to development tools such as an editor, this also includes tools for packaging and deploying the user interfaces developed.

Business Processes

SAP S/4HANA enables you to supplement existing business processes with your own business logic and data. In most cases, you’ll only need to adjust the SAP Standard processes to your specific business requirements. In some cases, however, your processes deviate so much from those of your competitors that this deviation can no longer be mapped by in-app enhancements. SAP Cloud Platform is the ideal enhancement solution here, allowing you to build complex custom applications using Java and then integrate them with SAP S/4HANA. Communication with the platform is via web services.

The PaaS solution already contains the required integration infrastructure for both cases: a central integration middleware with SAP HANA Cloud Connector and SAP Gateway for integration with SAP Fiori. Consequently, SAP Cloud Platform is the optimal basis for enhancements—not only for SAP S/4HANA but also for other applications in the landscape.

Extending SAP S/4HANA via the SAP Cloud Platform uses SAP’s APIs (Application Programming Interfaces), including the following:

The traditional interfaces are included for compatibility reasons and only released for the enhancement of SAP S/4HANA, on-premise. The number of interfaces released is continuously increasing.

3.4.2    In-App Enhancements

In-app enhancements are striking because of their simplicity: These enhancements are implemented in the same system, connections to other systems are not necessary, and latency is reduced. Furthermore, you can use the existing application as a base and use the powerful ABAP Dictionary, which contains the Core Data Services (CDS), to create table views, for example.

You don’t necessarily require any development know-how for enhancements. The following enhancement options are available to users (with increasing capabilities):

The key-user extensibility in particular provides the options shown in Figure 3.10.

In-App Extensibility

Figure 3.10    In-App Extensibility

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 applications. These enhancements are user-specific and do not 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 3.11). You can even customize the cogwheel icon in most SAP Fiori screens.

End-User Enhancements for User Interfaces

Figure 3.11    End-User Enhancements for User Interfaces

Key-User Enhancements

SAP also provides enhancement options that can partially be implemented using modeling procedures, which is useful when customizing user interfaces or supplementing custom fields or tables. In a new enhancement mode, you only require 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 the application catalog SAP_CORE_BC_EXT and assigned in accordance with the application role.

[+]  Benefits of Key-User Enhancements

Key-user enhancements use modeling rules that will not 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:

[»]  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 tile Manage software collections in the Extensibility group. Next, assign your enhancement to a software collection, which you can then export.

Now, in the target system, select the tile Import software collection in the Extensibility group where can import the previously exported enhancement.

Note that export and import should be carried out by a software logistic administrator, and as a result, 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 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 at http://bit.ly/v1448031.

Traditional Extensibility

In SAP S/4HANA, on-premise, 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.

In addition to these more formal enhancement options, SAP S/4HANA also provides comprehensive applications for defining custom data analyses or creating custom forms.

3.4.3    Checking Custom Enhancements When Migrating to SAP S/4HANA

When you plan to migrate to SAP S/4HANA, you should analyze existing adaptations to the current system: