Show TOC

Layered RepositoryLocate this document in the navigation structure

Offers the separation of content between different layers.

The separation of content allows a customer to, for example, apply changes to an existing entity and to store these changes in the CUSTOMER layer without modifying the underlying entity that is not owned by the customer. This concept ensures the lifecycle stability over release cycles: Vendor, customers, and users, store changes for an entity in their respective layer and the changes are applied to the original entity only at runtime and the original file remains unchanged. The layered repository stores the logical information for the changes that shall be applied to the original entity in a JSON-based file.

The layered repository calls the client API to create, update, and delete these variants and calls the REST services to update the back end system.

The following layers are available in the repository:

Layer name




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



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



Stores SAP content, for example, SAP-delivered variants


The layered repository can, for example, be used to manage changes for smart controls where users can modify a control and store these modification as a variant. Examples for such changes are filter values, the visibility of a field, or the order of columns in a table. By saving these changes in the variant control management, a user creates a new variant and the information is stored in a json file in the USER layer.

System Requirements and Authorizations for Using the Layered Repository

The layered repository has the following system requirements:

  • Browsers and platforms: See sap.ui.comp library

  • Services: ABAP front-end server and SAP NetWeaver 7.31 SP 11 or higher

To use the layered repository, the following authorizations are required:

  • 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 content in the USER layer or variants in the CUSTOMER layer, no specific authorization is required.

  • To adapt the SmartForm and ObjectPage controls 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. 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 you copy SAP_UI_FLEX_KEY_USER and always create them based on this role.

Note Make sure the user has the required authorizations for transports.
Enabling Remote Access to the Layered Repository

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

  • /SAP/BC/UI5_UI5

    This node is required to load the */COMPONENT-CHANGES.JSON file and the SAPUI5 libraries from the MIME repository as well as the SAP Fiori applications from the SAPUI5 ABAP repository.


    This node is required to create, change, and delete variants and other content.

Securing the Layered Repository

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

For more information about virus scans, refer to the application help on the SAP Help Portal at Start of the navigation path Security Information End of the navigation path.

Transporting the Changes to the Productive System

We recommend that you work with two systems, a test and a productive system, make your flexibility changes in the test system, and transport them from the test system to the productive system. For this, choose Transport in the relevant user interface and select the relevant transport in the popup. The transport function is inactive in the productive system.

Note If a key user makes changes in the productive system, overlaps between these changes and the changes that have been made in the test system may occur. To avoid this, do not assign any key user authorizations in your productive system.

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 back end. Instead, the transport is generated automatically in the background. For more information, refer to the application help on the SAP Help Portal at Start of the navigation path SAP NetWeaver Library: Function-Oriented View Next navigation step SAP Fiori Apps for SAP NetWeaver 7.50 Next navigation step Implementing SAP Fiori Apps for SAP NetWeaver 7.50 Next navigation step App-specific Implementation Information Next navigation step Setting Up Adaptation Transport Organizer End of the navigation path.

Change Logging

All actions that create, update, or delete content or fetch changes for an external reference are logged to the standard ABAP application log in transaction SLG1 (log object /UIF/LREP). For deleting the log, use transaction SLG2.

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 specific language.

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.

Caution If you do not change the file in the master language, and the file contains translatable texts, these changes cannot be saved to the translation tables of the layered repository. If you still want to save those changes, you need to override the logon language using the URL parameter sap-language.

Additional languages that you require need to be added using the ABAP translation tools.