UI Adaptation at Runtime (RTA) in SAP UI5: Boost Agility Without Touching Code

UI Adaptation at Runtime (RTA) enables real-time user interface customization for SAP Fiori UI5 applications without modifying the source code. This approach allows non-technical users, including business end users, to make intuitive UI changes without developer support. All changes made via RTA apply system-wide to all users of the application. These changes are reversible, and users can restore the original version of the application at any time.

If your SAP Fiori UI5 application supports RTA, you can access it by clicking the “Adapt UI” button in the User Actions Menu (top right corner). This action launches a configuration header bar with three main tabs:

  • UI Adaptation: Lets users modify the current view, but navigation to other views, such as dialogue windows or list elements is disabled.
  • Navigation: Enables switching between different UI components and views.
  • Visualization: Displays visible UI changes along with full change history. Users can filter by change type
RTA Configuration header bar

Key features of UI Adaptation at Runtime

Additional options include saving changes, resetting to the original version, undoing/redoing actions, and exiting edit mode. RTA supports a variety of real-time UI changes within SAP Fiori applications. These changes are visually indicated when hovering over UI elements and include options to:

  • Reorder fields and sections using drag-and-drop or modify layout elements like column widths.
  • Remove UI elements temporarily with the option to re-add them.
  • Add new UI components individually or in groups.
  • Edit visible text labels in multiple language versions.
  • Merge or split fields within the same row for layout flexibility.
UI Adaptation mode in SAPUI5 Application (source: Adapting SAP Fiori UIs at Runtime)

How Runtime Adaptation (RTA) Works in SAP Fiori UI5

RTA uses a layered architecture to store UI changes across different user types in SAP Fiori applications (end users, developers). These changes are stored in a versioned repository and associated with stable identifiers and user roles such as:

  • USER – personalization settings unique to each system user.
  • CUSTOMER – UI modifications made by end users through RTA.
  • CUSTOMER-BASE – changes implemented in the source code by developers.
  • VENDOR – system-level changes delivered by SAP.

The original SAP UI5 application remains unchanged, while all RTA-layered modifications are saved in a JSON file. RTA uses client APIs and REST services to display the updated UI, overriding the original view at runtime without altering source code.

Advantages of RTA in SAP FIORI UI5 Applications.

Accelerating SAP Fiori UI5 Development with RTA

The traditional Software Development Lifecycle (SDLC) in SAP UI5 projects is often complex and time-consuming. Every change must be planned, implemented by developers, and finally approved by the client. If the result does not meet expectations, the entire SDLC must be repeated – usually meaning additional costs and delays. RTA allows clients to introduce UI changes quickly without involving developers, increasing project flexibility and reducing delays.

RTA Supports Both Developers and End Users

It may seem that RTA is designed solely to assist non-technical end users – but nothing could be further from the truth. Developers can also make effective use of it. For example, if a client requests to rearrange UI buttons, developers can apply the change instantly via RTA without redeploying the application.

Managing Multiple SAP UI5 Versions with RTA

With RTA, you can create multiple versions of the same application and easily revert to any of them if the client requests it. It is also possible to provide two independent applications that differ only in the user interface for two separate clients.

RTA Performance: Fast and Flexible User Interface Changes Without Compromising Flexibility

RTA improves UI flexibility while maintaining high performance through UI change caching in SAP Fiori.

RTA’s Intuitive UI: Designed for Non-Developers Too

SAP designed the RTA interface to be simple and intuitive, making it accessible even to non-technical users.

Resilience to SAP Fiori UI5 Updates

Because RTA uses stable element IDs and the SAP flexibility mechanism, changes persist after SAP Fiori UI5 updates.

Limitations of RTA in SAP FIORI Applications

Technical Challenges of Implementing RTA Support

While SAP documentation claims that enabling RTA only requires minor configuration, real-world implementation may involve extensive change. As a result, retrofitting legacy SAP Fiori apps to support RTA may not be efficient.

RTA Versioning Issues: Why Managing Versions Can Be Difficult

Although creating new versions in RTA is simple, each saved change generates a new version, potentially creating clutter. Removing them is only possible by using a special transaction performed by a technical user (it cannot be done from within the application view), and even then, it is only possible to delete all versions at once – not a single selected one. This can be quite problematic.

UI Limitations in RTA: What You Can’t Customize in SAP Fiori

While RTA allows layout changes and text edits, it cannot be applied to all UI elements — especially dynamic or custom components. Always evaluate the UI architecture beforehand to ensure compatibility with RTA.

Requirements for Enabling Runtime UI Adaptation in SAP UI5

To enable RTA in a SAP Fiori UI5 application, the following key requirements must be met:

1. Assign the SAP_UI_FLEX_KEY_USER role to the key user to allow UI modifications.

2. In the manifest.json file, set the flexEnabled attribute to true to activate RTA.

3. Use SAP UI5 version which already supports RTA. Older versions must be updated in the manifest.json.

Example of manifest.json fragment enabling RTA:

1{
2	[...]
3    "sap.ui5": {
4    	"flexEnabled": true,
5    [...]
6}

4. Stable IDs for all UI elements – you must ensure that all UI elements are assigned identifiers through the appropriate property or attribute. If this is not done explicitly, SAP automatically generates a dynamic identifier. However, this is insufficient for RTA, as it is not static and may differ each time. Use developer tools to identify and correct unstable or auto-generated element IDs.

Example of adding identifiers for Page and Table:

1<mvc:View xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc">	
2	<Page id="objectPage">		
3		<content>			
4			<Table id="objectTable">			
5			</Table>		
6		</content>	
7	</Page>
8</mvc:View>

5. Use asynchronous methods to load views and components. In the manifest.json, set async = true in rootView and routing configuration. When using a component, ensure that sap.ui.core.IAsyncContentCreation is applied as follows:

1sap.ui.define(["sap/ui/core/UIComponent"], function (Component) {
2	return Component.extend("app.Component", {
3		metadata: {
4			interfaces: ["sap.ui.core.IAsyncContentCreation"],
5			manifest: "json"
6		}
7	});
8});

Summary: Is Runtime UI Adaptation (RTA) Right for Your SAP Fiori Project?

UI Adaptation at Runtime (RTA) allows key users to customize SAP Fiori UI5 applications in real time without modifying the source code. End users can adjust view layouts, reorder UI elements, and edit visible text labels without developer support. RTA provides flexibility, ease of use, update resilience, and the ability to apply UI changes instantly without involving developers. However, RTA has limitations and technical prerequisites, so it may not be suitable for all SAP Fiori projects. As an alternative, developers can use classical SAP Fiori extension mechanisms, which offer broader customization but require more development effort. SAP, however, plans to expand RTA with more integrations and capabilities, including for the cloud version.

Written by
Anna Pogoda

No items found.