Show TOC

SAPUI5 Flexibility ServicesLocate this document in the navigation structure

SAPUI5 flexibility services allow you to manage smart control changes and provide personalization functions for your SAPUI5 applications.

SAPUI5 flexibility services allow you to 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 variants and other content in the USER layer, no specific authorization is required.

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

To create, change, and delete variants and other content 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.

Caution

If you want to define your own roles, make sure to always create them based on the authorization object /UIF/FLEX with authorization field /UIF/KEYU = 'X'.

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 BSP 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

To transport content from the layered repository (for example, from a test system to a productive system), a valid ABAP transport with a task for the user must exist.

The file is then automatically added to the transport request by the layered repository.

Logging

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