Explaining the Extensibility Possibilities, Depending on the SAP S/4HANA Version

Objective

After completing this lesson, you will be able to realize which extensions, in-App and side-by-side, are available depending on the SAP S/4HANA versions

Possibilities of Extensibility Depending on the SAP S/4HANA Version

In particular, we will look at the following topics in this lesson:

  • User interface enhancement
  • Data model enhancement - add custom fields to a standard SAP business object
  • Data model enhancement - custom Core Data Services (CDS) views
  • Business logic enhancement
  • Custom development – apps
  • Output – print forms and emails

Key User Tools in SAP S/4HANA

For each SAP S/4HANA edition the possible extension techniques are listed below.

Key user extensibility describes the possibility to implement enhancements with predefined apps. It also includes the possibility of restricted programming with restricted ABAP.

Note

  • Everything that is possible in SAP S/4HANA Public edition is also possible for both SAP S/4HANA Private edition and SAP S/4HANA on-premise.
  • Everything that is possible in SAP S/4HANA Private is also possible for SAP S/4HANA on-premise.

The screenshot illustrates the available extensibility options.

User Interface Enhancement

The figure illustrates the possibilities of user interface enhancements on the area of UI adaption, and Custom UI, see explanations below.

The following table gives further details about User Interface Enhancement options:

Details about User Interface Enhancement options

UI TechnologyPublic EditionPrivate EditionOn-premise

All

Personalization

For some UI elements, users can make changes themselves. For example, for tables, it is possible to change the fields displayed, the order of the columns or the overall sort order. If the requirements are user-specific, then consider any personalization options first.
Includes all from leftIncludes all from left
 

Configuration /Settings

To apply changes more widely, there may be associated configuration or settings relating to the app. These may control, for example, what fields are displayed, either read only or mandatory. It's worth checking if such a configuration is available ahead of using other techniques. If the app being changed is available in SAP S/4HANA Cloud (essentials edition) then the related settings may be available there also, however this is not guaranteed.

Includes all from left

Includes all from left

SAPUI5 Fiori Apps

Run Time Adaptation (RTA)

Used to make simple changes like hiding or adding fields or rearranging fields.

Web-based IDE - hide controls

Suitable if you only need to hide some UI controls, but the app does not support Run Time Adaptation. Note that using a Web-based IDE to change the UI of a standard app is not supported in SAP S/4HANA Cloud (essentials edition).

Includes all from left

  

Web-based IDE - extension points.

Use predefined extension points to change the app. These are documented in the SAP Fiori apps library.

Includes all from left

  

Web-based IDE - replace views.

If the available extension points are not sufficient, then the entire view may be replaced with a custom one. The custom view may be created as a copy of the standard one. The disadvantage of this approach is that any improvements to the standard screen supplied through updates, or SAP Notes, will not automatically be applied to the custom one – if needed they would have to be applied manually.

Includes all from left

Web Dynpro Apps

Including Floorplan Manager apps

 

SAP Screen Personas or Web Dynpro customizing

Includes all from left

Web UI Apps

For example SAP S/4HANA for Customer Management, SAP Solution Manager, and SAP ChaRM

 

SAP Screen Personas or Web UI Configuration Tool

Includes all from left

Data Model Enhancement - Add Custom Fields to a Standard SAP Business Object

The figure illustrates at which places custom fields can be added. See the explanations below.

Further information about the figure:

Public Edition / Private Edition

Key user extensibility
Use the Custom Fields and Logic app to define additional custom fields for a given business context. The app can extend, not only the underlying database tables, but also any associated CDS views and OData services.

On-premise

Use predefined customizing includes (CI_*)
These are predefined, include structures present in some standard SAP tables, in which custom fields may be added. The fields may be defined through customizing (hence the name), for example, in finance the CI_COBL "coding block" structure. It may also be possible to add fields to the includes directly. All custom field names must be in the customer namespace, for example, starting "ZZ", to avoid any clashes with SAP fields which may be added in the future.
Use an append structure
Additional fields may be added to standard SAP tables, without modification, using an append structure. These are not predefined and they may be added to any table. Fields should again be in the customer namespace (see above). Typically, such a change would be made along with associated UI and business logic enhancements. In some cases, SAP have provided "How to" guides describing all the steps required. Append structures may also be used to attach search helps, or define foreign keys for existing standard fields.
Extension includes
These may be used to add custom fields to an app's OData service, if the app cannot be changed through custom fields and logic. Technically these are provided as DDIC includes in standard structures, which can be extended using an append structure.

Direct table modification is not allowed, but regardless should never be necessary, as fields can always be added using an append structure.

Data Model Enhancement - Custom CDS Views

The figure illustrates the possibilities of user interface enhancements on the area of ABAP/CDS. See explanations below.

Public Edition / Private Edition

Key user extensibility
  • Use the Custom CDS Views app. This allows a custom view to be created using data from other published views. Quantities/values may be aggregated. Input parameters and filters may be defined.
  • Side-by-side extensibility could mean replicating data tables to SAP S/4HANA in the SAP Business Technology Platform and building a CDS view on top of them there. It could also mean extracting data out to a separate SAP Business Warehouse (SAP BW) system or other data warehouse, to build views on it there.

On-premise

Classic extensibility
A CDS view may be defined using the ABAP development tools in Eclipse. In this case the CDS data definition language is coded directly and therefore more sophisticated selection logic may be implemented.

Business Logic Enhancement

The figure illustrates the possibilities of user interface enhancements on the area of Business Logic. See explanations below.

Public Edition / Private Edition

Key user extensibility
  • Use Custom Logic app to implement a BAdI, using restricted ABAP.
  • Side-by-side extension may be used in combination with Custom Logic app, to implement more sophisticated logic, involving an external service. Note that side-by-side extension does not provide any additional extension points for standard apps. Any extension is still limited by the input and output parameters provided in the BAdI interface.
On-premise
  • It is recommended to apply Clean Core policy. Technically you can still use a classic extensibility technique with a stable enhancement point that does not require a modification key. For example, ABAP BAdIs (SE18/SE19), AMDP BAdIs to enhance standard SQL script procedures, SMOD/CMOD enhancements, and SAP Business Transactions Events.
  • It is recommended to apply Clean Core policy. Technically you can still use a classic extensibility technique with a stable enhancement point that requires a modification key, for example User Exits like the VOFM routines such as pricing formulas.
  • Implicit enhancements, or enhancement spots. These do not require a modification key, but otherwise are much like modifications. They enable customers to change any SAP code at the start or end of any coding block. In an upgrade, these need to be processed in SPAU_ENH - the risk is that the enhancement point may no longer exist or may no longer have access to the same data.
  • It is recommended to apply Clean Core policy. Technically modifications in the standard SAP code are possible without restriction. In an upgrade, these would need to be processed in SPAU - the risk is that the enhancement point may no longer exist, or may no longer have access to the same data.

Custom Development-Apps

The figure illustrates the possibilities of user interface enhancements on the area of custom Business Objects. See explanations below.

Public Edition / Private Edition

Key user extensibility
  • Use Custom Business Objects app to implement any custom data model required, then generate the maintenance app, and code determination and validation logic, as required, using restricted ABAP.
  • Use Custom Business Objects app as above and then use a web-based Integrated Development Environment (IDE) like SAP Business Application Studio (BAS) or SAP Web IDE , available in SAP Business Technology Platform, to further enhance the UI.
Side-by-side extensibility

On-premise edition

Build the app in the SAP Business Technology Platform. Business logic can be written in Java, Java Script, or ABAP. SAP Cloud SDK may be used to integrate with SAP S/4HANA Cloud Public and Private Edition, where needed, for example, calling OData services and BAPIs.

  • Classic extensibility, using the ABAP RESTful Application Programming framework.
  • Classic extensibility, using the BOPF framework. This is the same application framework underlying the Custom Business Objects app, but by working directly in this framework, with classic ABAP, it is possible that a more sophisticated application may be built.
  • Classic extensibility, using the BOL/GenIL. When developing Web UI based apps, for example, relating to SAP S/4HANA for customer management; SAP solution manager, implementation of change request management with SAP Solution Manager.
  • Web Dynpro or Floorplan Manager apps, without the BOPF. It is possible, if there is some barrier to use BOPF to define the business object.
  • SAPGUI Dynpro Transactions. Generally, this is no longer recommended for new applications.

Output-Print Forms and Emails

The figure illustrates the possibilities of user interface enhancements on the area of Analytics/Forms. See explanations below.

Public Edition / Private Edition

Key user extensibility
  • Use the Maintain Form Templates app, in combination with Adobe LiveCycle Designer. Data is supplied through an OData service. Separate forms exist for the document headers/footers and for the body content. Adobe LiveCycle Designer is a fully featured, form design tool. For more complex form logic some scripting may be needed, which could be JavaScript.
  • Use the Maintain Email Templates App. Create the required email template based on one predelivered by SAP.

On-premise edition

Classic extensibility
  • Older print form technologies are also supported in SAP S/4HANA on premise and Private editions, including 'classic' Adobe Forms (transaction SFP).
  • Prior to SAP S/4HANA, there was no single and consistent approach to determine email texts. In some cases, it may be possible, through configuration; in others you may need to code an enhancement.

Log in to track your progress & complete quizzes