SAPUI5 flexibility services enable functions for different user groups to personalize SAP Fiori apps, adapt their user interface at runtime, and develop new apps.
The service store user-specific data and client-wide data in a special repository on an ABAP server, which is called layered repository.
Prerequisites of SAPUI5 Flexibility Service
The following are prerequisites of the SAPUI5 flexibility service:
- Server: ABAP front end server and SAP NetWeaver 7.31 SP 11 or higher
- The following ICF node must be activated:
- For creating shared variants:
- ABAP authorization object /UIF/FLEX with authorization field /UIF/KEYU = 'X' is required
- A transport request with a task assigned to the user is required
Currently, SAP Fiori supports variant management only when the back end system is SAP NetWeaver AS ABAP.
The figure, Selection of Variant, shows two screenshots of the two different ways to select variants.
The Selection Variant stores filter conditions for users.
After filtering the data, a user can save the condition as a variant. The following items are options for a selection variant:
- Name: Name of the variant
- Default: Select this variant when user entering the report
- Execute on Select: Execute query immediately after user select the variant
- Shared: Shared variant, a transport request must assigned when set a variant to shared
A user can manage their variants by clicking the Manage button.
The figure, Presentation Variant, shows two screenshots of two different ways variants are presented.
Smart Variant Management
In the manifest.json file, the smartVariantManagement variable is set to true by default, or false based on the option selected in the SAP Business Application Studio. It can be changed in the manifest as shown below:
When smartVariantManagement is set to true the app looks like below. Notice the red box
Disable Variant Management
To disable the variant management function, edit
manifest.json in the SAP Business Application Studio, locate the domain
sap.ui.generic.app, and modify code as shown the figure, Disable Variant Management.
Transport Request for Shared Variants
A transport request, with a task assigned to the user, should be prepared before creating a shared variant. In
SE10, you can find LRepository content in your task.
LRepository objects are client dependent, so either a workbench request or a customizing request is required.