Show TOC

SAPUI5 Flexibility ServicesLocate this document in the navigation structure

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 allow you to manage smart control changes, provide personalization functions for your SAPUI5 apps, and work in multiple layers and store entities in a layered repository. This allows, for example, customers to create their own SAPUI5 entities based on the delivery of SAP without having to modify existing entities in a lower layer.

Flexibility services offer you various options for your SAPUI5 applications, for example, features that are available for the following SAPUI5 controls:

  • SmartVariantManagement
  • SmartTable
  • SmartForm
Technical Background

The flexibility services enable the communication between the layered repository and the browser and, in particular, the storing and retrieving of variants.

Note For the flexibility services, the same browsers and platforms as for the sap.ui.comp library are supported. The services run on the ABAP front-end server and NetWeaver 7.31 SP11 or higher.

Layers

The following layers are available in the repository:

  • VENDOR

    Stores SAP content, for example, SAP-delivered variants.

  • CUSTOMER

    Stores customer-specific adaptation settings and variants. The content is stored separately for each client.

  • USER

    Stores customer-specific adaptation settings and variants. The content is stored separately for each user.

Authorizations

To load variants and other content changes to the client via the //SAP/BC/UI5_UI5/**/COMPONENT-CHANGES.JSON file, the SAPUI5 component name for which data is requested is provided with the request. The system checks in the SAP Fiori launchpad target mapping for the current user and whether the component has been assigned to the user.

To create, change, and delete any content in the USER layer or variants in the CUSTOMER layer, no specific authorization is required.

Note Make sure the user has the required authorizations for transports.

To adapt the SmartForm control in the CUSTOMER layer, ABAP authorization object /UIF/FLEX with authorization field /UIF/KEYU = 'X' is required.

Note

This authorization is needed for a key user who can make changes for all users in a specific client, such as adding and hiding groups and fields in the SmartForm control.

Role SAP_UI_FLEX_KEY_USER in transaction PFCG already contains the authorization required and is delivered by default.

Note

If you want to define your own roles, make sure you copy SAP_UI_FLEX_KEY_USER and always create them based on this role.

Setup

To enable remote access to the layered repository, you must activate the following ICF nodes in transaction SICF in the target system:

  • /SAP/BC/UI5_UI5

    Required to load the */COMPONENT-CHANGES.JSON file and load SAPUI5 libraries from the MIME repository and SAP Fiori applications from the SAPUI5 ABAP repository.

  • /SAP/BC/LREP

    Required to create, change, and delete variants and other content.

The /UI5/UI5_INFRA_APP/REP_DT_PUT virus scan profile must be active to use the layered repository and the SmartVariantManagement control for the handling of variants.

For more information about virus scans, refer to the SAPUI5 Security Information.

Master Language

Each file in the layered repository has a master language. The master language is the same as the logon language of the user who has created the file (for example, a variant). If the file is changed later on, you can only change the file in that language.

Note If you do not change the file in the same language, and the file contains translatable texts, these changes can only be saved to the translation tables of the layered repository in the master language. Additional languages that you require need to be added using the ABAP translation tools.

The logon language of a user and thus master language of new files in the repository depend on the following:

  • The URL parameter sap-language
  • The browser language settings

The URL parameter overrides the browser language settings.

Transports

If you work with two sytems, a test and a productive system, it is best to make your changes in the test system and then transport them to the productive system by pressing Transport and then selecting the relevant transport in the popup. To transport content from the layered repository, a valid ABAP transport with a task for the user must exist in transaction SE09. The file is then added to the transport request by the layered repository.

If ATO (Adaptation Transport Organizer) is enabled in a cloud-based environment, you do not need a transport request in the backend. Instead, the transport will be generated automatically in the background.

Logging

The logging for creating, changing, or deleting content is done using the application log in transaction SLG1 (log object /UIF/LREP).