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:
The flexibility services enable the communication between the layered repository and the browser and, in particular, the storing and retrieving of variants.
The following layers are available in the repository:
Stores SAP content, for example, SAP-delivered variants.
Stores customer-specific adaptation settings and variants. The content is stored separately for each client.
Stores customer-specific adaptation settings and variants. The content is stored separately for each user.
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.
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.
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.
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'.
To enable remote access to the layered repository, you must activate the following ICF nodes in transaction SICF in the target system:
Required to load the */COMPONENT-CHANGES.JSON file and load SAPUI5 libraries from the Mime Repository and SAP Fiori applications from the BSP repository.
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.
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.
The logon language of a user and thus master language of new files in the repository depend on the following:
The URL parameter overrides the browser language settings.
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.
The logging for creating, changing, or deleting content is done using the application log in transaction SLG1 (log object /UIF/LREP).