Object View Floorplan

Information
The new floorplan for displaying objects in SAP Fiori is the object page. The object page floorplan offers a richer feature set (such as anchors and tab navigation) and is the successor of the object view floorplan.

From version 1.42, the object view floorplan is only allowed in combination with the icon tab bar. As soon as the icon tab bar is available for the object page, this floorplan will be deprecated.

The object view is a floorplan for displaying objects in SAP Fiori. It can either be embedded in a master-detail app (as in typical approval apps) or shown as a full-screen page. This floorplan offers optimal support for multiple devices.

The object view is suitable for both simple objects and more complex, multi-faceted objects. You can use a tab container to present the information in different categories.

For editing, the layout switches to a flat object view. In other words, all the sections that were presented as tabs appear together on one long page. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Object view on a desktop device
Object view on a desktop device

Usage

Use the object view floorplan if:

  • You have objects with up to 5-7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table appears below the tab area.
  • You are building a typical approval app.

Do not use the object view floorplan if:

  • You want to keep the same layout when the app switches between create/edit and display modes. In this case, use the flat object view.

Structure

The object view floorplan comprises the following elements, from top to bottom:

  1. Launchpad shell bar: Always available at the top of SAP Fiori apps.
  2. Application header: Reflects the title of the launch tile, such as Manage Products.
  3. Object header
  4. Tabs (optional): If your content falls into different categories, or you want to display different tables, you can embed the content in an icon tab bar.
  5. Content area: The main part of the screen for displaying your data. You can use lists, tables, tree tables, or charts.
  6. Footer toolbar
Structure of object view floorplan
Structure of object view floorplan

Responsiveness

Object view on a smartphone
Object view on a smartphone
Object view on a tablet
Object view on a tablet
Object view on a desktop
Object view on a desktop

You can use the object view floorplan in both a full screen layout and split-screen layout.

Object view in a split-screen layout (reference app: Manage Products )
Object view in a split-screen layout (reference app: Manage Products )

Tabs

The key element of the object view is the icon tab bar. Each of the tabs shows a certain facet of the object. There are two primary facet types:

  1. Form-based facets display attributes of the object in a form layout (for example, object details or contact details).
  2. Tabular facets show a list of similar attributes or relationships in a list or table structure (such as attachments, contacts, or products).

Defining Tabs

You can define tabs as expandable, allowing users to show or hide the tab content as needed.

You can also define the default tab that is selected when the user opens the application. This might not always be the first tab on the left. However, you should ensure that the tab state is consistent for object views of the same type. This gives the user a coherent user experience when navigating between object views.

The user can switch between the object facets by just switching tabs. You can display additional information below the tabs.

Object view with text-only tabs
Object view with text-only tabs

In the object view, you can use the following tab types:

  1. Icon tabs: Use icons if you only need the standard tabs, such as information, attachments, and notes.
  2. Text only: Use text if you need tabs for other (non-standard) object facets.
  3. Process tabs: You can also use the tab bar to depict a process. In this case, each tab stands for one step.

Guidelines for choosing a tab type:

  • As a simple rule of thumb, if you have to think about which icon fits best, use the text-only type instead.
  • Do not mix the text-only and icon tab types.
  • Do not use separators between the tabs.

Flows and Variants

Create

The create action creates a new object. The corresponding button can either be a plus ( ) button or a button with a meaningful text (such as Add Product). When the user creates a new object, the display changes to a flat object view in edit mode. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

In the flat object view, users can fill out the details and save the object. After saving, the new object is shown using the standard object view. If the user navigates away from the object without saving the entries made so far, the app warns the user with a data loss dialog.

Edit

We recommend using the flat object view in edit mode (as for the “create” scenario above). When the user clicks or taps the Edit button, the floorplan switches from the display mode with tabs to the edit mode with the flat object view. The Edit button is replaced by the Save and Cancel buttons. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Save or Cancel takes the user back to the display mode of the object view with tabs. Cancel discards any changes made, while Save keeps the changes. If the user navigates to another object or navigates away from the edit page without saving, the app warns the user with a data loss dialog.

If the object view does not have any tabs, the page keeps its layout and structure in edit mode. For more information, see manage simple objects.

Exception: If the object view includes tabs, but only a few tabs have editable fields, you can also use in-place editing and keep the structure of the tabs. In this case, the edit button is positioned next to the editable content (see manage parts of an object for details).

Object view – Edit flow behavior
Object view – Edit flow behavior
Display mode - Object view
Display mode - Object view
Edit mode – Object view switches to a flat object view
Edit mode – Object view switches to a flat object view

In addition to the full page edit mode, the flat object view also supports a partial edit flow, where only certain sections switch to edit mode.

The footer toolbar in the object view floorplan is global. Actions in the footer toolbar must not change when the user switches tabs. If you need to include actions that relate to a specific tab (facet), include them in the tab content. For example, if the tab contains a table, offer actions in a table toolbar.

Object view with partial edit in display mode
Object view with partial edit in display mode
Object view with editable section
Object view with editable section
Attachment tab in an object view – Modeless editing
Attachment tab in an object view – Modeless editing

While the edit mode involves switching to a flat object view, some elements support “modeless” editing. These elements can be changed in both display and edit modes.

For example, adding a new attachment is a one-click action that is guided by a dialog. This action can be triggered without switching to edit mode. Any errors that might occur can be handled during this creation process.

If you do not want to switch to a global edit mode, you can encapsulate your action in a dialog. Example use cases include:

  • Editing certain attributes of an element (use a dialog)
  • Adding line items to a tabular facet (use the plus ( ) button and a dialog or create page)
  • Removing a line item (use a one-click action in the table)

Guidelines

  • Do not switch the actions in the footer toolbar when the user switches tabs. The footer toolbar is global and constant. If you have tab-specific actions, place them in the tab content area.
  • You can hide empty tabs, but only if there is no way of adding content to the tab. For example, you still need to show an empty Attachments tab to enable users to upload attachments.
  • Try to persist the selection state of tabs during a session so that the user finds a similar view while navigating between instances.

Visual Design

The object view floorplan has no visual design of its own, but application design and development should ensure that the margins and paddings are similar to the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the object view on a smartphone
Basic layout of the object view on a smartphone
Basic layout of the object view on a tablet
Basic layout of the object view on a tablet
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop – Split screen
Basic layout of the object view on a desktop – Split screen

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Overview – Floorplans, SAP Fiori Elements and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the app finder, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Floorplan is an umbrella term for the overall SAP Fiori UX concept for floorplans. It covers the different layout types, the structure of the controls used, and how to handle different use cases. Floorplans can be built with SAP Fiori elements, or built from scratch (freestyle apps).

An application contains normally several pages. Every page shows a single floorplan, For example, the user starts by filtering a list in the list report floorplan and from there drills into a detail page showing the object page floorplan.

To get a better idea of the different floorplans, read on below.

Overview of Page Layouts

Dynamic Page Layout

Dynamic page layout
Dynamic page layout

The dynamic page is a new layout control and it is designed in a way to support various floorplans and use cases. The layout is full responsive and will be the successor of the full screen layout with additional functionality to have a coherent and consistent snapping header concept that can be adapted throughout all floorplans.

For more information, see dynamic page layout.

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

The new layout for displaying pages in full screen is the dynamic page layout. The dynamic page layout offers more flexibility and integrates features like the snapping header. It is the successor of the full screen layout. Please, check if you could use the dynamic page layout instead. From wave 1.44 (1702) on the full screen layout will be deprecated.

For more information, see full screen layout.

Split-Screen Layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Overview of Floorplans

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page replaced the flat object view floorplan and the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan was the original floorplan used to display simple objects in SAP Fiori. It has since been replaced by the more comprehensive object page floorplan.

From guideline version 1.42, the object view floorplan is only allowed in combination with the icon tab bar.

For more information, see object view floorplan.

Overview of SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. For more information, see the introduction to SAP Fiori elements.

List Report

List report - SAP Fiori element
List report - SAP Fiori element

The SAP Fiori element list report is an instance of the general list report floorplan implemented as a reusable template. Therefore, the guidelines for the list report generally apply. The list report floorplan allows the user to work with large lists of items and take action.

For more information, see list report floorplan (SAP Fiori element).

Object Page

Object page – SAP Fiori element
Object page – SAP Fiori element

The object page floorplan is used to view, edit, and create objects. The object page can also be implemented as a SAP Fiori element. For details about the general floorplan and the SAP Fiori element, see the object page guidelines.

Overview Page

Overview page - SAP Fiori element
Overview page - SAP Fiori element

Based on a specific domain or role, the overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs to view, filter, and react to data in a one-stop-shop page. The OVP employs cards (containers of content) based on smart template technology as a UI framework for organizing large amounts of information on an equal plane within the page.

For more information, see overview page (SAP Fiori element).

Overview of Frameworks

Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources. Users can interactively explore data step by step from different perspectives to analyze and investigate root causes.

For more information, see Analysis Path Framework.

SAP Smart Business Framework

SAP Smart Business drilldown is an analytical app. It enables the user to view and analyze the data of one key performance indicator (KPI).

For more information, see SAP Smart Business Framework.

Flat Object View Floorplan

Information
The new floorplan for displaying objects in SAP Fiori is the object page. The object page floorplan offers a richer set of features (such as anchors and tab navigation) and is the successor of the flat object view floorplan. Where possible, we recommend using the object page floorplan. From version 1.42, the flat object view floorplan will be deprecated.

The flat object view floorplan displays all the information for an object on one long, scrollable page. The advantage of this floorplan over the object view floorplan is that the layout stays the same in both display and edit mode.

Flat object view floorplan
Flat object view floorplan

Usage

Use the flat object view floorplan if:

  • You want to switch to edit mode without disrupting the layout of the page.
  • You want to show the different sections for an object on one page.

Do not use the flat object view floorplan if:

  • The objects contain too much information for one page. Instead, use the object view floorplan, and build tabs to organize and simplify the content.

Structure

The flat object view has the same basic structure as the object view floorplan, with the object header control at the top and a footer toolbar at the bottom. However, unlike the object view floorplan, the flat object view does not have a tab container to switch between different facets of the object. Instead, it has one long flat layout with multiple form or table elements underneath each other. The flat object view builds entirely on existing controls. 

Flat object view – Structure
Flat object view – Structure

Responsivness and Adaptiveness

Flat object view on a phone
Flat object view on a phone
Flat object view on a tablet
Flat object view on a tablet
Flat object view on a desktop
Flat object view on a desktop

You can embed the flat object view floorplan in a full screen layout or split-screen layout. In both cases, it can be used as an alternative to the object view floorplan.

Flat object view – Split-screen layout
Flat object view – Split-screen layout

Edit

The flat object view is optimized for switching between the display and edit modes – the structure and layout of the page remain intact. In the object view, the tabs have to be flattened out in edit mode to avoid hidden editing errors and inconsistencies between tabs. In the flat object view, all elements are always visible, so any error messages and inconsistencies can be highlighted directly on the page.

Flat object view on a desktop device in display mode
Flat object view on a desktop device in display mode
Flat object view in edit mode
Flat object view in edit mode

In addition to the full page edit mode, the flat object view also supports a partial edit flow, where only certain sections switch to edit mode.

Flat object view – Partial edit for individual sections
Flat object view – Partial edit for individual sections
Flat object view – Partial edit active for one section
Flat object view – Partial edit active for one section

Scrolling

Because the flat object view displays everything on one page, users might need to scroll to reach the end. While scrolling itself is no longer critical – today’s devices all support optimized scroll gestures – usability issues can still occur with large tables and collapsible panels.

Embedding Large Tables

If the view contains a long embedded table, the remaining content may be pushed down too far. Therefore, when embedding a large table, make sure that you limit the number of items that are initially loaded. This ensures that the user can reach the content below the table.

Collapsible Panels

If your object has several sections, you might be tempted to use collapsible panels to reduce the length of the page and minimize scrolling. However, placing several collapsed panels below each other can look broken. It also forces the user to open and close containers, which can shift their position. This behavior has been proven to cause usability issues. Where possible, avoid using collapsible panels in the flat object view.

Flat object view – Scrolling behavior
Flat object view – Scrolling behavior
Avoid stacking collapsible panels
Avoid stacking collapsible panels

Guidelines

  • Avoid showing long tables in full when a page is first loaded. Instead, use lazy loading to display only the first 5 or 10 table items.
  • Avoid using collapsible panels to minimize scrolling.
  • Use either the panel or table controls as basic elements of the flat object page and avoid embedding elements in other elements. Placing the elements underneath each other makes the layout very clean and stable.
  • Use the object header at the top of the flat object view to give the page structure.
  • Choose between the global or local edit flow (the global flow is usually easier to handle).

Visual Design

The flat object view floorplan has no visual design of its own. However, app design and development teams should ensure that the margins and padding are similar to those of the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the flat object view on a smartphone
Basic layout of the flat object view on a smartphone
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a desktop
Basic layout of the flat object view on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Object Page (Floorplan + SAP Fiori Element)

The object page floorplan allows the user to display, create, or edit an object. This is now the recommended floorplan for representing both simple and complex objects in SAP Fiori, and is set to replace the flat object view floorplan and object view floorplan. The object page floorplan comes with a flexible header, a choice of anchor or tab navigation, and a flexible, responsive layout. These features make it adaptable for a wide range of use cases.

You can implement the object page floorplan in two ways:

  • Use the pre-built SAP Fiori element (formerly known as a smart template). This implementation uses OData annotations, and allows you to speed up development if the supported feature set matches your requirements. For an overview of the supported features, see the SAP Fiori Element section.
  • Implement the floorplan yourself using the respective SAPUI5 controls.
Object page floorplan
Object page floorplan

Usage

Use the object page floorplan if:

  • You need to let users display, create, or edit an object.
  • You want to offer a flat page with no navigation for a simple object.
  • You want to use tabs or anchor navigation for a more complex object.

Do not use the object page floorplan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

In all these cases, consider using the wizard floorplan instead.

Responsiveness

The object page floorplan is responsive and supports all SAP FIori screen sizes: small (S), medium (M), large (L), and extra large (XL).

Object page – Size S
Object page – Size S
Object page – Size M
Object page – Size M
Object page – Size L
Object page – Size L

The layout for size XL (large display) contains four columns.

The default layout for size L (desktop) contains three columns. You can also use an optional two-column layout.

Object page – Size L
Object page – Size L

The layout for size M (tablet) contains two columns.

Object page – Size M
Object page – Size M

The layout for size S (smartphone) contains one column.

Object page – Size S
Object page – Size S

Structure

The object page is a full screen floorplan with a display mode, a create mode, and an edit mode.

In all modes, the object page contains:

  • A snapping header
  • A navigation bar
  • A content area

The following sections explain these components in more detail.

Schematic visualization of object page
Schematic visualization of object page

Snapping Header

The snapping header is the uppermost element of the object page floorplan. It contains key information about the business object and provides the user with the necessary context. The header also contains global actions for the object.

Toolbars

The object page supports two toolbars:

  • Header toolbar: Use this toolbar for global actions such as Edit, Delete, Copy and Share.
  • Floating toolbar: Use this toolbar for closing and finalizing actions, such as Save, Post, Accept, Reject, and Activate.

This applies to all object page modes (display, edit, and create).

Responsive overflow toolbar
Responsive overflow toolbar

Navigation

There are three ways to navigate within the object page:

  • Anchor bar (by default)
  • No navigation (flat scrollable page)
  • Tabs
Object page – Navigation
Object page – Navigation

Anchor Bar and Overflow

The anchor bar is the default navigation control for the object page. It consist of a series of anchor links, which are arranged horizontally at the top of the page. The anchors represent sections or subsections of the page. Clicking on these links directs the user to specific sections of the page. The anchor links remain visible when the user scrolls down the page.

Developer Hint
Use title case for the anchor bar texts. To do this, you need to change the default capitalization (block caps) by changing the the property upperCaseAnchorBar to “false”.

Overflow

If there are more anchors than the screen can accommodate, the remaining anchors move into an overflow menu. The overflow overview button on the right of the navigation bar ( ) opens a hierarchical dropdown list of all sections and subsections. When the user scrolls down the page, the anchor links scroll horizontally to ensure that the active anchor is always visible.

You might also see a small right arrow on the anchor bar. This arrow allows you to scroll horizontally to reveal any hidden content, and only appears when you hover over the overflow menu. In the meantime, this arrow has been replaced by the overflow overview button, but is still supported technically for legacy reasons.

Responsiveness

On small screens, the anchor bar becomes a dropdown list. The text field of the dropdown list shows the section currently selected. Clicking the dropdown menu opens a hierarchical list with all the sections and subsections of the document.

Object page – Anchor bar
Object page – Anchor bar
  1. Active anchor
  2. Inactive anchor
  3. Subsection dropdown
  4. Subsection
  5. Subsection dropdown indicator
  6. Overflow carousel button
  7. Overflow overview button
  8. Overflow overview dropdown
  9. Section (hover) in overflow overview
  10. Section in overflow overview
  11. Subsection in overflow overview

Behavior and Interaction

  • Clicking an anchor link scrolls the page to the selected section.
  • Clicking a section anchor that contains more than one subsection opens a subsection menu.
  • Clicking a subsection scrolls the page to the selected subsection. The keyboard left and right arrows allow the user to move between the anchor links.
  • Hovering over the fade area to the left or right of the anchor bar causes an overflow arrow button to appear (compact mode only). The overflow arrow button is always visible in cozy mode.
  • Clicking the overflow scroll button (right arrow) scrolls the anchors horizontally to bring anchors that are hidden in the overflow into view.
  • Clicking the overflow overview button ( ) displays a hierarchical dropdown list with all the sections and subsections of the document. Clicking an item in the overflow list scrolls to the respective section or subsection.
Object page – Behavior and interaction
Object page – Behavior and interaction

Hiding the Navigation

An object page can be used in a similar way to the flat object view. This is achieved by hiding the navigation bar from the object page, leaving a flat scrollable object. We recommend using this flat view for simple content that doesn’t require anchor navigation.

Tab Navigation

As an alternative to anchor navigation, you can also opt for tab navigation. The tab bar works in a similar way to the icon tab bar, but is not the same control. Tab navigation for the object page is a variant of the anchor bar, and is handled by the object page layout control.

If you set the tab bar property (useIconTabBar = “true”), the navigation bar displays tabs instead of anchors. The object page only supports text-only tabs; icon tabs and icon/text tabs are not available. The object page sections and subsections are reflected in the tab navigation: sections of the object page become the tabs, and subsections become the internal content of the tab. The tabs can have an item counter, which is displayed in parentheses next to the title of the tab.

On small screens, the tab bar uses the same horizontal carousel overflow pattern as the icon tab bar. This differs from the dropdown approach used for the anchor bar.

Tab Bar Subnavigation

To make it easier to reach specific content on a long tab page, tabs can have subnavigation. Subnavigation is optional and the default state is “false”. If the state is set to “true”, a dropdown arrow is shown next to the tab. Clicking on the tab displays a dropdown menu with the subsection anchors for that tab.

Object page – Behavior and interaction
Object page – Behavior and interaction

Breadcrumbs

If the object page uses a hierarchical parent-child drilldown, you can offer a breadcrumb for navigation. The breadcrumb is part of the snapping header.

Content Area

The object page content consists of sections and subsections arranged in a column layout. For large documents, you can enable a lazy loading mechanism (property: enableLazyLoading) to mitigate the loading time.

Sections

Sections are containers for subsections. They provide the basic structure for navigation, and are directly reflected in the navigation bar. Sections can have a title, subsections, and actions. However, they cannot contain controls.

Use title case for the section title (property titleUppercase = “false”). The title can have an item counter, which is displayed in parentheses. If a section contains only one subsection, the title of the subsection is used as the name of the section. In this case, there is no subsection submenu in the anchor bar.

Global actions are always placed at subsection level. Sections can only contain subsections, not content. Because of this, the object page only provides toolbars for global actions at the subsection level.

Subsections

Subsections are the containers for actual content. Always place individual controls inside the subsections. Subsection content is arranged according to the column layout approach for the respective screen size. A subsection can include containers for different controls (mixed content).

Subsections have a progressive disclosure mechanism to show and hide content. App developers can specify which content is shown initially, but the user can also display everything by selecting the Show All button at the bottom right of the subsection.

Each subsection can have a toolbar, which is placed at subsection header level on the right. The toolbar contains actions that affect the content of the subsection.

Subsections within the same section are separated by a gray horizontal line. Subsections can have an item counter, which is displayed in parentheses next to the subsection header.

You can include various types of related content in one subsection. The layout blocks for the object page give you the flexibility to combine different content types.

Responsiveness

The content blocks in a subsection display in a row. The width of the row depends on the column layout for the respective screen size. If there is not enough space to display a content block, it wraps to the line below.

Object page – Content responsiveness
Object page – Content responsiveness

Forms

Forms follow the standard layout of the object page:

  • Large: 3 columns
  • Medium: 2 columns
  • Small: 1 column

Forms are located within subsections. They follow the column design of the object page, whereby each form group is arranged into a column. The title of the form is given by the subsection header. Only use the form title if you are using several forms within the same subsection.

Use top-aligned labels for form fields. Top-aligned labels are known to reduce completion times, and are the best approach for forms requiring localization or long labels. Using top-aligned labels also avoids issues with the spacing between the label and form field, which can occur with left- and right-aligned labels.

Blocks

Layout blocks allow content to be aligned within the columns as follows:

  • Layout 1: Occupies the maximum available horizontal space of one column.
  • Layout 2: Occupies the horizontal space of only two columns. If there is only one column available, it occupies one column.
  • Layout 3: Occupies the horizontal space of three columns. If there is only one column available, it occupies one column. If there are only two columns available, it occupies two columns.
Object page – Blocks
Object page – Blocks

Contacts

The contacts on the object page are technically a list, but they can be represented visually as a card.

The cards can contain:

  • An image (optional)
  • A title (mandatory)
  • A subtitle (optional)
  • A text snippet consisting of two lines maximum (optional)

A single card covers the column’s entire horizontal space. To avoid alignment problems, all cards are the same height. The card with the most content defines the overall height for all cards. The image can be rectangular or round. It shows in the top left corner of the card. The content of the card never truncates. If there is not enough space to display the information, it wraps onto the next line.

Content type – Contacts
Content type – Contacts

Tables

In an object page, tables with up to 20 expected items can be displayed right away without lazy loading.

If a table is expected to have more than 20 items, use one of the following 3 options for long tables:

  1. Show More Behavior

If you expect up to 100 items, use the Show More behavior of the responsive table. The initial amount of items shown depends on the height of the rows. We recommend initially showing 5 to 10 items, but not more than 20. If there is more than one table in the object page, this option should be used only for tables with up to 50 expected items.

  1. Tab Navigation

If you expect to have more than 50 to 100 items, but less than 400, using the object page with tab navigation instead of anchor navigation also solves the problems associated with long tables. Here it is important to place the table within a tab as the only or at least the last element and to enable the scroll to load behavior.

  1. Navigation to List Report

For tables with more than 400 items, or when the tab approach is unsuitable, the table itself should be restricted to a reasonable amount of items. We recommend only showing a preview of the data in the table, which should not contain more than 20 items. Ideally, you should have about 10 items. This can be either be achieved by prefiltering and/or by sorting the table, and if necessary, by restricting it to a fixed amount of items (such as top 10). To provide the user with a way to work with the entire table, a navigation to a separate list report containing the full table must be offered.  This navigation should be located below the table in the form of a right-aligned link labelled Show All (x), with x representing the total amount of items in the table.

In the object page, we recommend that you do not use the analytical, grid and tree tables. Instead, use a responsive table and offer navigation to a list report with the table types mentioned above.

For all of the three options mentioned above, we recommend providing a search, and if feasible, sort and filtering for the table in the object page. Grouping should be avoided.

Table with navigation to a separate list report
Table with navigation to a separate list report

Child Page Representation

In object pages with drilldown navigation, child pages are represented in three ways:

  • Visual representation in the header: A narrow blue band is displayed in the left margin of the snapping header.
  • Breadcrumbs: A breadcrumb is displayed above the object title. Limit the breadcrumb to the drilldown levels within the object page.
  • Item navigation arrows: Up and down arrows in the application toolbar allow the user to navigate between subitems without going back to the original list.

Behavior and Interaction

Edit

The basic layout of the object page in terms of header, navigation, and content remains the same in all modes (display, edit, create). In edit mode, the object page can contain a mixture of editable and read-only content.

If the user needs to edit elements in the header, a header section is added in the content area for edit mode to enable editing.

Use the same content layout for both display and edit mode. Content should not change location when the user switches between display and edit modes.

For global and local editing guidelines, see manage objects – create, edit, delete.

Editing the Header

The object page header can be edited in two ways:

  • Global edit
  • Partial edit

Global Edit

The header can be edited when the entire object page is in edit mode.

Because the header snaps on scroll, there are no editable forms in the header itself. Instead, a temporary header section is added before the other sections of the page. The title bar information and all editable fields from the header container move from the header to the new editable header section. Any non-editable content displays as read-only. You can leave out header content that doesn’t make sense in edit mode (for example, aggregated values that are calculated from several sources, KPIs, or micro charts).

If only a few fields in the header are editable, and they match an existing section, they are moved to that section. In this case, no editable header section appears.

Object page – Global edit with independent facets
Object page – Global edit with independent facets

The header container in edit mode may contain independent facets that are not included in the header content in display mode. They provide information to assist editing.

If the entire object page is in edit mode, but there is no editable information in the header, no editable header section is added.

Any changes made to the header are not reflected until the user saves them.

Partial Edit

The user can edit the header content separately by pressing the Edit Header button.

If there are only a few elements to edit, the partial edit triggers a dialog.

If there are too many elements to fit on a dialog, the partial edit triggers a subpage. The subpage contains all editable information from the header. However, it differs from the “Header” section in global edit mode in that it has no action buttons in the toolbar, no navigation, and no breadcrumbs.

Object page – Partial edit with dialog
Object page – Partial edit with dialog

Unsaved Changes

If draft handling has been implemented, documents are automatically saved as draft versions in the background. An editing icon to the right of the object title indicates that a draft version exists. In other words, either the current user or another user has made changes, but not yet actively saved the document (“unsaved changes”). Do not show the editing icon for unsaved changes if draft handling is not supported.

Selecting the editing icon invokes a popover with more information about the unsaved changes. This normally states:
•Who made the changes
•When the last changes were made

The popover closes when the user clicks or taps the Close icon or anywhere outside the popover.

Unsaved changes popover
Unsaved changes popover

Create

Create mode is similar to edit mode, except that the user creates a new object and defines a title for it. Until the new object title is known, use the placeholder text “New ” (for example, “New Purchase Order”). Replace the placeholder text with the actual name or ID of the new object as soon as this has been entered or generated.

Consider using the wizard floorplan instead of the object page floorpan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

Guidelines

Header

Use the header to set the context. Ensure that it is clearly structured and contains only essential information. Too much information impedes the main purpose of providing a clear context.

Actions

Arrange the actions in the header toolbar with care, and consider what matters most to the user:

  • Highlight actions that are common or most important.
  • Differentiate between secondary and generic actions.
  • Use either a text button or an icon for an action, but not both.
  • Place the most important actions on the left (actions go into the overflow from right to left).
  • Establish a coherent visual approach.
Do
Object page floorplan – Good example of how to arrange actions
Object page floorplan – Good example of how to arrange actions
Don't
Object page floorplan – Bad example of how to arrange actions
Object page floorplan – Bad example of how to arrange actions

Tab Navigation

Use tab navigation if you need a facet approach to your content. This could be due to performance issues in a flat view, or in response to a specific user preference. If you need to use icons, tabs as process steps, or tabs as filters, use the object view floorplan.

Not a Content Dump

Avoid using the object page as a universal container for masses of information. You should use the object page in accordance with the SAP Fiori principles: role-based, coherent, simple, and adaptive.

Simplify Content for Your Users

Give your users quick and easy access to the information they need to complete their task(s). Use a progressive disclosure strategy to keep your interface clean. You can always provide additional information on request. Furthermore, only present your users with information that makes sense for their industry, role, activity, and task.

Dynamic Side Content

You can offer dynamic side content alongside the object page under the following conditions:

  • Use the side panel only for contextual content. Do not place finalizing or global actions in the side panel. This is because opening the side panel occupies the whole right side of the screen. There is no way to show it only below the header and anchor bar.
  • Do not place object information in the side panel. This information should always be in the content area of the object page.

SAP Fiori Element

Use the table below to see which features are available for the “object page” SAP Fiori element.

Feature Status Comments
Snapping Header
General
Fiori 2.0 merged header Supported
Header always expanded Supported
Header container on/off Supported
Header container on/off in different modes Supported
Header container expand on click Supported
Child page navigation Supported
Subtitle optional Supported
Arrow icon showTitleSelector Not Supported
Breadcrumbs Supported
Favorite behavior Not Supported With indicator next to the title.
Flag behavior Not Supported With indicator next to the title.
Unsaved changes behavior Supported With indicator next to the title.
Lock behavior Supported With indicator next to the title.
Header Facets
Different header facets in different modes Supported
Wrapping behavior for header facets Supported
Image facet square Supported
Image facet round Supported
Image header facet with placeholder Supported
Image header facet in different sizes Supported
Key value facet with unit Supported
Key value header facet with trend Not Supported
Key value facet with same text/numeric size Supported
Microchart header facet Partially supported Currently available for bullet and area charts.
Microchart header facet subtile optional Supported
Microchart header facet footer optional Supported
Microchart header facet with rating indicator Supported
Microchart header facet with progress bar Supported
Form header facet with optional labels Supported
Form header facet with icons as labels Not Supported
Form header facet with links as values Supported
Form header facet value with semantic color Supported
Key value header facet with link as value Supported
Key value header facet with semantic color on value Supported
Plain text header facet Supported
Breakout header facet Not Supported This also includes adding controls to existing header facets.
Toolbar
Header toolbar select, combo box, multi-combo box Not Supported
Header toolbar semantic buttons Supported
Header toolbar highlight buttons Supported
Header toolbar segmented buttons Not Supported
Toolbar overflow Supported
Toolbar overflow prioritization Supported
Icons as buttons Supported
Action sheet in buttons Supported
Prioritization of custom actions in toolbar Supported
Show Edit Header button (partial edit) Not Supported
Navigation
Navigation hidden if object has only one subsection Supported
Counts in anchors and section/subsection headers Not Supported
Carousel overflow for horizontal navigation Supported
Mobile navigation behavior (dropdown) Supported
Navigation overflow overview button Supported
Tab navigation Supported
Tab with anchor subnavigation Not Supported
Anchor behavior Supported
Content
General
Partial edit Not Supported
Forms in content Supported For more on the form features, see the forms article.
Actions in forms Partially Supported Currently only via breakout. Actions go into the subsection toolbar.
Timeline in content Not Supported
Carousel in content Not Supported
Contact cards in content Partially Supported
Mixed content Supported
Block controls Not Supported
Lazy loading Work in Progress
Side panel Not Supported
Scroll to specific section on loading Not Supported
Layout
Content layout in size S (1 column) Supported
Content layout in size M (2 columns) Supported
Content layout in size L (3 columns) Supported
Content layout in size L (2 columns) – optional layout Not Supported
Content layout in size XL (4 columns) Supported
Sections and Subsections
Toolbar in subsections Not Supported
Toolbar in sections Not Supported
Toolbar in sections containing only one subsection Not Supported
Subsection toolbar with custom actions Not Supported
Subsection toolbar with buttons Not Supported
Subsection toolbar with highlighted buttons Not Supported
Subsection toolbar with semantic buttons Not Supported
Subsection toolbar with segmented buttons Not Supported
Subsection toolbar with select combo box or multi-combo box Not Supported
Subsection toolbar with buttons with actions sheets Not Supported
Use of priorities in sections/subsections Not Supported
Tables
Responsive list in content Not Supported
Responsive table in content Supported For specific table features, see the guidelines for tables.
Grid table in content Supported For specific table features, see the guidelines for tables.
Display responsive table instead of grid table on mobile devices Supported For specific table features, see the guidelines for tables.
Analytical table in content Supported For specific table features, see the guidelines for tables.
Display responsive table instead of analytical table on mobile devices  Supported For specific table features, see the guidelines for tables.
Tree table in content Not Supported

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation


  • No Links.

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan – Live update
List report floorplan – Live update

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering, so you should use the worklist floorplan

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan adapted to smartphone
List report floorplan adapted to smartphone
List report floorplan adapted to tablet
List report floorplan adapted to tablet
List report floorplan adapted to desktop
List report floorplan adapted to desktop

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you use, you may need to change your implementation for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table, grid table  – supported on desktop and tablet devices only. On smartphones, replace it with the responsive table.
  • Tree table – supported on desktop and tablet devices only. There is currently no direct alternative for smartphones. Only in some cases, the tree table could be replaced by a category navigation pattern on smart phone.
  • Chart – supported on all devices.

List Report Floorplan with the Dynamic Page

Variant Management and Global Actions

The header title of the dynamic page contains the variant management and global actions. The header title displays up to 5 filter criteria if the header content is collapsed.

Snapping Header

The header content of the page has a snapping behavior. This includes the filter bar. The header content collapses after scrolling the page if used with the sap.m.table (responsive table), or can be collapsed manually if used with the sap.ui.tables (grid tabel, analytical table (ALV), tree table).

Footer Toolbar

In edit mode or for finalizing actions, a footer toolbar is available. This element appears on the bottom of the page content and contains closing or finalizing actions.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

Please be aware that triggering a filter can take a while if the result set becomes very large. To improve performance in such cases, consider providing manadory filter fields and/ or default settings for filters. Both help to reduce the size of typical filter result sets.

The variant management functions allow users to define and manage predefined filter sets as well as predefined view settings for the lists, tables, trees, and charts. Users can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).

Variant management is optional.

Expanded filter bar in a list report floorplan
Expanded filter bar in a list report floorplan

The filter bar can be either expanded or collapsed when the list report floorplan is launched. The expanded view reveals the filter functionality and makes it clear that the user can filter directly on the list. However, it looks more complex than the collapsed view. The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status that the user has set.

In case the grid or analytical table is used there has to be a show/hide filters button since the page doesn´t scroll.

Filter bar in a collapsed state
Filter bar in a collapsed state

Content Area

The content area is located on the lower part of the screen and contains the actual data. The data shown is determined by the settings in the filter area.

Content

There are various options for displaying large data sets, each of which has specific features and advantages. For more information, see the documentation for the individual control.

Toolbar

The different content controls allow you to incorporate toolbars in different ways. The details are covered in the guidelines for the respective toolbars. This section only covers the specifics for the list report floorplan.

In the simplest case, the toolbar contains only basic table functionality, such as the table title (optionally with count), sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic list, you can provide alternative visualizations, such as a table or a chart. You can also offer these two functions in the toolbar, including combined visualizations, such as a chart together with a table.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

Users can store personalized table settings in a layout variant, which is also available on the table toolbar. If so, do not store the table settings in the filter variant.

Use this only in rare cases. In most cases it is sufficient to use the variant management on the filter bar for storing the filter settings and the layout settings of the table.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

You can extend the toolbar to offer additional contextual actions. These actions can be selection-dependent (enabled only if an item is selected) or selection-independent (always enabled, even without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar with a segmented button for up to three different views
Table toolbar with a segmented button for up to three different views

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).
  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.

Multiple Contents

List report floorplan with multiple tables placed in multiple tabs
List report floorplan with multiple tables placed in multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

The search field is optional. If used, it is shown next to the variant management in the fitler bar. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

Actions

There are four places where actions can be located in the list report floorplan: page header, table toolbar, line item, or footer toolbar
There are four places where actions can be located in the list report floorplan: page header, table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer four types of action: global actions, table actions, line item actions, and finalizing actions.

1. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the page header section of the page (1).

The global actions do also contain the Share button. Show it only, if you really need it. In other cases, remove the Share button.

2. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (2). The scope of these actions depends on the items selected (no item selected, a single item selected, multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions, which can currently not be used (e.g. for no items are selected).

3. Line Item Actions

In rare cases it can make sense to let the user trigger specific, frequent tasks directly from the item (3). In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

4. Finalizing Actions

Finalizing actions execute the end of a process that affect the entire page. These actions can be placed in the footer toolbar section of the page (4).

For example:

  • Save
  • Cancel
  • Submit
Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of a list report floorplan on a smartphone
Basic layout of a list report floorplan on a smartphone
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on desktop
Basic layout of the list report floorplan on desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report (SAP Fiori Element)

The SAP Fiori element list report (formerly referred to as smart template) is an instance of the general list report floorplan implemented as a reusable template. The list report floorplan allows users to work with large lists of items and take action. The guidelines for the list report generally apply. Existing deviations and limitations are listed below.

Usage

If you are not sure whether to use this floorplan, please consult the list report floorplan guidelines. Use this template to efficiently implement standard applications that are based on large lists. The smart filter bar, smart table, and object page sections support breakout scenarios. This means that custom-coded deviations are technically possible, although this is not the case for the object header.

Information
Due to technical or time constraints, the templates have certain limitations or deviations from the guidelines, which are listed below.

Responsiveness

The overall responsiveness depends mainly on the capability of the underlying controls; that is, the filter bar and the table being used. The table toolbar is responsive.
The template uses the smart table, which can render the responsive table, the grid table, and the analytical table. Depending on its use case, the app development team decides which table representation fits best. For more details, see the respective guideline articles.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The template is based on the dynamic page and consists of the following areas:

  • The shell header shows the name of the app.
  • The header title shows the variant management for the page, filter information (if the header content is collapsed) and global actions such as Share.
  • The header content (collapsible) including the smart filter bar.
  • The smart table including a table toolbar with (optional) layout management and generic and app-specific actions.
  • The footer toolbar for displaying finalizing actions.
Schematic visualization of the SAP Fiori element list report
Schematic visualization of the SAP Fiori element list report

Behavior and Interaction

Header Title

The title bar includes variant management, filter information, and a toolbar for global actions such as Share.

By default, the variant management saves the filter settings only. In addition, It can also save the table layout settings (which is recommended), so that no additional variant management for the table is needed.

The default variant in the filter bar cannot be executed automatically when the page is loading. However, users can create their own variants and configure them to be loaded automatically.

The toolbar is reserved for actions. In most cases, this toolbar should only contain the Share icon button. The Share button opens an action sheet, which features Save as Tile (if the launchpad is available), Send Email, and Share in Jam (if Jam is available). Show the Share button only if it makes sense for your application.

Header Content – Smart Filter Bar

Within the smart filter bar, app-specific filters are also possible. Apart from the combo box, select, input field, search field, and value help, it’s also possible to use other controls, such as the date picker or the rating indicator, in breakout scenarios.

The filter bar collapses when scrolling down the page (with sap.m.Table only), and expands again when scrolling back up. To avoid this automatic expansion/collapse, users can also pin the filter bar so that it always stays open.

Expanding and collapsing the filter bar also works by clicking the background of the title bar.

The filter bar offers the manual update mode (default) and the live update mode. The manual update mode displays a Go button, which triggers the filtering. The live update mode triggers filtering each time a filter setting is changed.

Use the manual update mode only if you run into performance problems while loading the table data.

Smart Table – Table Toolbar

Available Actions

The toolbar can support the following functionalities:

  • Table title
  • Item count
    • Turned on by default. Turn it off if requesting the item count causes performance problems.
  • Variant management for the table layout
    • Although it is turned on by default, it should not be used in most cases. Table layouts should be stored together with the page variant instead, so that there is only one place for managing variants on the entire page.
  • Add/Create
    • An icon button that triggers an object page for creating an item. If this functionality is not needed, or if adding or creating new items should work in a different way (such as via a dialog), turn it off.
      Draft handling is supported (optional, but recommended).
  • Delete
    • A text button to delete selected items. Delete is enabled as soon as deletable items are part of the selection. If this functionality is not needed, turn it off.
  • View Settings (Sort, Filter, Group)
  • Export to Spreadsheet
    • An icon button that triggers the downloading of table data. If you need export functionality, turn this on.
  • Maximize
    • An icon button to open the table in full-screen mode. This should be needed only rarely in the list report. It is turned off by default.
  • In addition, app-specific actions can be added, such as Copy or Approve. These actions are displayed as text buttons. App-specific actions can be enabled or disabled, pending on the selection in the table.

Actions can be emphasized (do this for zero or one app-specific action only) or be shown in a positive and negative state.

Actions in the smart table toolbar
Actions in the smart table toolbar

Triggering

App-specific actions can be one of the following types:

  • The system simply triggers the action.
  • The action needs a user confirmation. This is used, for example, for critical actions that have severe consequences. The system opens a dialog in which the user needs to confirm the action. This message is generic and cannot be replaced.
  • The action needs additional user input, such as an approval comment. The system opens a dialog with one or more entry elements in which the user enters the required data. The system can prefill data if applicable.

App-specific actions can also trigger a navigation to another app or to a related object page inside the same app. The navigation can depend on zero or one selected item(s).

Smart Table

Within this SAP Fiori element, you can use the responsive tablegrid table, or analytical table within the smart table. The tree table is not supported.

The smart table supports:

  • None, single, or multiselection.
    • For multiselection, the SAP Fiori Element triggers the action for all selected items. If an error occurs with one or more of the selected items, a message is displayed. All other items are processed.
  • Text control in line items.
  • Indications of editing states within the rows.
    • For example, Draft or Locked by….The table can be filtered by the editing states by using the filter bar.
  • Line item navigation inside the app (to a related object page per default). Apps can override this behavior and define their own navigation target. This target can also be different pending on app-defined conditions.
  • Line item cross navigation to another SAP Fiori application or to another system.
  • Link and smart link to navigate to any webpage, to another app, or to a related object page inside the same app.
  • Line item actions as text or icon buttons (such as Approve or Reject)
  • Object status control in line items:
    • Use of a specific status such as Out of Stock in connection with the standard semantic color and/or status icon.
  • Any control which the corresponding table allows by using breakout columns.

At present, the smart table does not support:

Only the responsive table supports:

Only the grid table and analytical table support:

  • App-specific column widths: While the smart template list report uses an automatic calculation for the width of each column, this calculation is not always perfect. Apps can override the calculated width per column.

Footer Toolbar

Finalizing actions are placed on the footer toolbar. Finalizing actions can be shown or hidden (for example, depending on access rights).

Use the footer toolbar only if you have closing or finalizing actions for the whole page. For the list report, this is only a rare case.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Introduction to SAP Fiori Elements

SAP Fiori elements (formerly known as smart templates) provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. The goals are to ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

SAP Fiori elements use annotations that add semantics and structures to the data provided by the user.

SAP Fiori elements are part of the SAPUI5 delivery.

Currently Available

The following floorplans are currently available with SAP Fiori elements (in full screen):

Where applicable, SAP Fiori elements also provide draft handling, non-draft, and global edit flow functionalities, as well as message handling.

SAP Fiori elements – The production line for UIs
SAP Fiori elements – The production line for UIs

Responsiveness

The responsiveness of SAP Fiori elements depends on the responsiveness of the controls used.

SAP Fiori elements generally use priority annotation on fields and actions to control responsiveness. This annotation supports the values high, medium, and low. Annotating actions with a priority level helps to control the overflow behavior of the toolbar. In the responsive table, the priorities also define the pop-in behavior of columns.

Behavior and Interaction

The behavior and interaction generally follows the guidelines for the respective floorplan or concept. If the guideline offers choices, SAP Fiori elements implement the most generic option or, where possible, provide different options to choose from. Deviations from the guidelines are sometimes necessary due to current technical limitations, which are listed on the respective pages. These limitations are usually short term and will be solved in future releases.

SAP Fiori elements contain a certain amount of default text, which can be overridden by the app development team if necessary. One such example is standard message texts.

The templates offer breakout scenarios at page level, where it’s possible to add, remove, or replace whole pages, and at section/control level on the object page. See the object page article for more details.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • No links.

Introduction to Smart Templates (SAP Fiori Elements)

Smart templates provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. The goals are to ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

The term “smart” refers to the annotations that add semantics and structures to the provided data, and the way in which the templates understand these semantics.

Smart templates are part of the SAPUI5 delivery.

Currently Available

The following floorplans are currently available with smart templates (in full screen):

Where applicable, smart templates also provide draft handling, non-draft, and global edit flow functionalities, as well as message handling.

Smart templates – The production line for UIs
Smart templates – The production line for UIs
Information
The design can also include aspects that are not yet available. The app development team can prepare the service and annotations, and as soon as the new feature becomes available, it will automatically be shown (depending on the SAPUI5 version used in the corresponding system).

Development Process

Development steps in creating a smart template SAP Fiori app
Development steps in creating a smart template SAP Fiori app

Responsiveness

The responsiveness of the smart templates depends on the responsiveness of the controls used.

The templates generally use priority annotation on fields and actions to control responsiveness. This annotation supports the values high, medium, and low. Annotating actions with a priority level helps to control the overflow behavior of the toolbar. In the responsive table, the priorities also define the pop-in behavior of columns.

Behavior and Interaction

The behavior and interaction generally follows the guidelines for the respective floorplan or concept. If the guideline offers choices, the templates implement the most generic option or, where possible, provide different options to choose from. Deviations from the guidelines are sometimes necessary due to current technical limitations, which are listed on the respective pages.

The templates contain a certain amount of default text, which can be overridden by the app development team if necessary. One such example is standard message texts.

The templates offer breakout scenarios at page level, where it’s possible to add, remove, or replace whole pages, and at section level on the object page. See the object page article for more details.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • No links.

Overview of App Types

This overview summarizes the main use case and the floorplan for each app type. Common patterns used by multiple app types (such as the “create” and “edit” flows) are briefly introduced, but the details are described in the respective articles.

Approval App
Approval App

The approval app allows the user to quickly scan through a list of work items and take action. This app type has already been used in multiple occasions within SAP Fiori and it is well-established and mature.

The approval app is based on the split-screen layout and can also make use of all capabilities of the master list.

Master-Detail App
Master-Detail App

The master-detail app allows the user to quickly scan through a list of items and take action. The main actions are creating and editing of list items. This app type has already been used in multiple occasions within SAP Fiori and it is well-established and mature.

The master-detail app is based on the split-screen layout and also uses the master list.

Shopping App
Shopping App

A shopping app enables users to browse through products, to collect them in a shopping cart and to order them. In general, it consists of three parts:

  • Product list (all products)
  • Shopping cart
  • Check out step(s)
Analysis Path Framework
Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources.

Smart Business Drilldown app
Smart Business Drilldown app

Smart business drilldown is an analytical app. It enables the user to view and analyze the data of one Key Performance Indicator (KPI).

Overview of App Types

This overview summarizes the main use case and the floorplan for each app type. Common patterns used by multiple app types (such as the “create” and “edit” flows) are briefly introduced, but the details are described in the respective articles.

Approval app
Approval app

The Approval app allows the user to quickly scan through a list of work items and take action. This app type has already been used in multiple occasions within SAP Fiori and it is well-established and mature.

The approval app is based on the split-screen layout and can also make use of all capabilities of the master list.

Master-Detail app
Master-Detail app

The Master-Detail app allows the user to quickly scan through a list of items and take action. The main actions are creating and editing of list items. This app type has already been used in multiple occasions within SAP Fiori and it is well-established and mature.

The master-detail app is based on the split-screen layout and also uses the master list.

Shopping app
Shopping app

The Shopping app enables users to browse through products, to collect them in a shopping cart and to order them. In general, it consists of three parts:

  • Product list (all products)
  • Shopping cart
  • Check out step(s)
Analysis Path Framework
Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources.

Smart Business Drilldown app
Smart Business Drilldown app

Smart business drilldown is an analytical app. It enables the user to view and analyze the data of one Key Performance Indicator (KPI).

Shopping App

A collect app is used to browse and collect objects in order to apply a more complex action or a process to them. A typical example of this is the shopping app.

A shopping app enables users to browse through products, collect them in a shopping cart and to order them. In general, it consists of three parts:

• Product list (all products)
• Shopping cart
• Check out step(s)

Shopping app on desktop
Shopping app on desktop

Responsiveness

Shopping app on phone
Shopping app on phone
Shopping app on tablet
Shopping app on tablet

The shopping (collect) app works well on any form factor. It inherits the responsive behavior from the full screen layout.

Behavior and Interaction

Product List (All Products)

The master screen contains a responsive table with all products and is usually a full-screen app. The header contains an indicator of how many products are in the shopping cart. This indicator also serves as navigation trigger to the shopping cart. The user can filter the items using the filter bar above the table.

Sort, group, and personalization is positioned in the table toolbar. The Personalize button allows the user to show/ hide or rearrange columns.
Any filters that are set and the personalization of the table can be saved with the variant management in the object header.

Product Detail Page

The detail screen contains the product details of a selected product.
The object header can contain following items:

product name, picture, price, category, subcategory, the status and if applicable, a favorite icon marks objects as favorites.

Besides other information like manufacturer, supplier and so on can be listed in the content area.

With a click on the product picture it will be enlarged. The user can also add a review to the product.

Finally the user can add the product from the detail screen to cart via “Add to Cart” button in the footer tool bar.

Product detail page on desktop
Product detail page on desktop

Add to Cart (Action)

The user has two possibilities to add a product to the cart:

  1. Add a product directly on the product list.
  2. Add a product on detail page.

A message toast confirms the success. If an error occurred, an error dialog will be shown.

Success message on desktop
Success message on desktop

Shopping Cart

Shows all collected products with quantity, unit price, and subtotal.

The users can change the quantity of the containing products or remove items from the cart.
With a click on the item the product details page will be shown.

The back button in the header brings the users back to the last page.

The Go to Checkout button brings the users to the check out step(s).

Shopping cart on desktop
Shopping cart on desktop

Checkout

The checkout consists of one or more steps and ends with the ordering of the products.

Usually the users need to enter delivery information. Other steps might be necessary too, e.g. entering accounting information.
The screen also contains a list of the products that will be ordered.

Checkout on desktop
Checkout on desktop

Page Flow

The shopping (collect) flow shows how a user navigates from a product list through the whole ordering process.

Shopping (collect) flow - Full screen
Shopping (collect) flow - Full screen

Shopping App

A collect app is used to browse and collect objects in order to apply a more complex action or a process to them. A typical example of this is the shopping app.

A shopping app enables users to browse through products, collect them in a shopping cart and to order them. In general, it consists of three parts:

• Product list (all products)
• Shopping cart
• Check out step(s)

Shopping app on desktop
Shopping app on desktop

Responsiveness

Shopping app on smartphone
Shopping app on smartphone
Shopping app on tablet
Shopping app on tablet

The shopping (collect) app works well on any form factor. It inherits the responsive behavior from the full screen layout.

Behavior and Interaction

Product List (All Products)

The master screen contains a responsive table with all products and is usually a full-screen app. The header contains an indicator of how many products are in the shopping cart. This indicator also serves as navigation trigger to the shopping cart. The user can filter the items using the filter bar above the table.

Sort, group, and personalization is positioned in the table toolbar. The Personalize button allows the user to show/ hide or rearrange columns.
Any filters that are set and the personalization of the table can be saved with the variant management in the object header.

Product Detail Page

The detail screen contains the product details of a selected product.
The object header can contain following items:

  • Product name
  • Image
  • Price
  • Category
  • Subcategory
  • Information about manufacturer, supplier, and more
  • Status
  • favorite icon marks objects as favorites.

Clicking or tapping on the image enlarges it. The user can also add a review to the product.

The user can send the product from the detail screen to the shopping cart via the Add to Cart button in the footer toolbar.

Product detail page on desktop
Product detail page on desktop

Add to Cart (Action)

The user has two possibilities to add a product to the cart:

  1. Add a product directly on the product list.
  2. Add a product on detail page.

A message toast confirms the success. If an error occurred, an error dialog will be shown.

Success message on desktop
Success message on desktop

Shopping Cart

Shows all collected products with quantity, unit price, and subtotal.

The users can change the quantity of the containing products or remove items from the cart.
Clicking or tapping the item triggers navigation to the product details page.

The back button in the header brings the users back to the last page.

The Go to Checkout button brings the users to the check out step(s).

Shopping cart on desktop
Shopping cart on desktop

Checkout

The checkout consists of one or more steps that allow the user to order the product.

Usually, the users will need to enter delivery information. Other steps might be necessary as well, such as entering accounting information.
The screen also contains a list of the products that will be ordered.

Checkout on desktop
Checkout on desktop

Page Flow

The shopping (collect) flow shows how a user navigates from a product list through the whole ordering process.

Shopping (collect) flow - Full screen
Shopping (collect) flow - Full screen

Approval App

The approval app allows the user to quickly scan through a list of work items and take action. This app type has already been used in multiple occasions within SAP Fiori, and therefore is well established and mature.

The approval app is based on the split-screen layout and also can make use of all capabilities of the master list.

An approval app on a tablet
An approval app on a tablet

Responsiveness

The approval app works well on any form factor. It inherits the responsive behavior from the split-screen layout.

Approval app on a tablet
Approval app on a tablet
Approval app on a smartphone
Approval app on a smartphone

Behavior and Interaction

The approval app is used to display a number of work items in the master list and the work item’s details in the details area. This allows the user to get a quick overview of the work items, directly select them, and take action without navigation.

Ideally, the switch between work items should be fast an seamless. Otherwise, please indicate loading with a busy indicator every time the switch between items takes longer than two seconds.

On startup, the first work item should be selected and displayed in the details area. If there are no items in the list, please show an empty page in the details area.

The approval app consists of the following components:

In the approval app, the master list usually uses the object list item. This corresponds to the object header used in the object view page in the details area. The object list item should contain the most important information about the item. It contains the following elements:

  • Title – used to display information to identify the object
  • Key figure – used to give a good understanding of the value of the item (if required, use formatters to shorten the number)
  • Attributes (max. three) –  can be used to display additional information like an ID, content information, etc.
  • Status fields (max. two) – can show icons or text to describe the status of the item; consider using semantic colors to highlight critical status

The object header in the details area should repeat the fields that are shown in the master list. This helps to recognize the item, especially if master and detail are split into two different pages when running on a smartphone. It can also show additional information, however, please try to avoid having too much different information between the object header and the object list item.

The rules for the master list and the split-screen layout also apply to the approval app. This includes the possibility to offer the selection modes for mass approval (usually not wanted by customers), Search, Filter, Group, and Sort.

Info Tab

The object view page in the approval app can have different tabs in the icon tab bar.

Most apps use the info tab to display the header information of the work item. This means the info tab contains the most important information that describes the items and allows the user to take action.

This is usually displayed as a form with a one column layout. We do not recommend to use a two column layout unless you switch off letterboxing. In most cases, form group headers are not needed within the tab, as the information is often limited to a few fields.

An app could also place micro charts, charts, or other controls into the info tab if this is relevant for the use case.

In most cases, the info tab is the first tab the user sees when opening the item. This is not mandatory and can be treated differently when required by the use case.

When navigating between items in the master list, the selected tab in the detail areas should always be the same. This means that if a user switches to the second tab on one detail page and then navigates to the next item in the list, this item should also show the second tab.

The information tab
The information tab

Notes Tab

Work items are often annotated by notes attached to them.

The notes tab contains and displays these notes. If possible, the notes tab also allows the user to add a new note using the feed input control (sap.m.FeedInput).

The notes themselves are displayed using the feed list item control (sap.m.FeedListItem).

The notes tab
The notes tab

Attachment Tab

For many work items it is possible to attach files. These files are often used to provide more information and additional media to explain the requested action. There is a standard control that can be used to manage the entire functionality around uploading, editing and deleting file attachments. This control is called the upload collection (sap.m.UploadCollection). It can be placed in the attachments tab.

Attachments tab
Attachments tab

Approver Tab

In many cases it is important for the approver to see who else is part of the approval chain, either to discuss with others or delegate the decision to somebody else. This approval chain is displayed using the feed list item (sap.m.FeedListItem) similar to the notes tab. Please only display the information about the person and the approval status here.

Approver tab
Approver tab

The approval app can also contain other tabs. The four tabs mentioned above are the most common tabs and should be used consistently.

Approve and Reject

The action on the individual work item is offered in the footer bar (sap.m.Toolbar) on the detail area.

In approval apps, it is common to have two primary actions:

  • Approve (positive action using button type Accept)
  • Reject (negative action using the button type Reject)

These default actions in the approval app make it very easy for the user to map the decision to the right action. Using semantic values allows customers to remap semantics to other colors if established within a company or culture.

It is still allowed to offer other or additional actions if the use case requires it.

In addition to the approve and reject action, the app should also offer access to the sharing actions.

Approval dialog
Approval dialog
Rejection dialog
Rejection dialog

In some cases it is required to ask for a confirmation on either the approve or the reject action.

A rejection needs to be especially confirmed to avoid an erroneous rejection and any follow-up confusion. In addition, the user might want to add a reason to the rejection to explain the decision.

To achieve this in a consistent manner, please use the confirmation dialog (sap.ca.ui.dialog).

After the user has made a decision, the work item is processed (which can take some time and a busy indicator might be necessary for longer delays). When processing is completed, the processed item should be removed from the master list and the next item should be selected and displayed. A success message should be shown.

In some cases it might be required for the processed item to remain in the master list (i.e. if a decision can be reverted). In this case, the item remains selected and the status is switched according to the decision.

Success message after approval
Success message after approval

Navigating Line Items

In some cases a work item contains a list of line items. For instance, a shopping cart that contains shopping cart items representing the products that are to be purchased as part of the shopping cart.

In this case, the list of items should be displayed in a list (sap.m.List) or table (sap.m.Table) below the icon tab bar.

In most cases, the app should offer a drilldown navigation into the line item details. The list should show the navigation arrow (list item type=”navigation”) and allow a drilldown navigation to the line item details.

Work item with line items contained
Work item with line items contained

The line item details should be displayed using the object view or the flat object view page.

The app title of the details area should display the object type of the line item (e.g. “shopping cart item”).

If there are multiple items in the list, the title should also indicate the number of items available and the relative position of the current item in the list (e.g. “shopping cart item (2 of 5)”).

Navigation into a line item
Navigation into a line item

To simplify the direct navigation between the line items, the app should offer iterator buttons on the top right corner of the app title bar. An up and down arrow allows the user to directly navigate to the previous or the next item in the list. When reaching the first item, the up arrow should be disabled, the same holds true to the down arrow when the last item is reached (see more on the split-screen layout).

A back arrow on the app title of the details area allows the user to navigate back to the main item.

Cross-navigation between line items
Cross-navigation between line items

On smartphones, the drilldown navigation to the line item is more consistent. There is no difference between master and detail so that a drill down happens constantly on the full page, the back navigation is always offered with the back navigation arrow.

Furthermore, we recommend to offer iterator buttons. Due to limited space available, it might not be possible to display the numbering properly.

Line item navigation on the phone
Line item navigation on the phone

Approval App

The approval app allows the user to quickly scan through a list of work items and take action. This app type has already been used in multiple occasions within SAP Fiori, and therefore is well established and mature.

The approval app is based on the split-screen layout and also can make use of all capabilities of the master list.

An approval app on a tablet
An approval app on a tablet

Responsiveness

The approval app works well on any form factor. It inherits the responsive behavior from the split-screen layout.

Approval app on a tablet
Approval app on a tablet
Approval app on a smartphone
Approval app on a smartphone

Behavior and Interaction

The approval app is used to display a number of work items in the master list and the work item’s details in the details area. This allows the user to get a quick overview of the work items, directly select them, and take action without navigation.

Ideally, the switch between work items should be fast an seamless. Otherwise, please indicate loading with a busy indicator every time the switch between items takes longer than two seconds.

On startup, the first work item should be selected and displayed in the details area. If there are no items in the list, please show an empty page in the details area.

The approval app consists of the following components:

In the approval app, the master list usually uses the object list item. This corresponds to the object header used in the object view page in the details area. The object list item should contain the most important information about the item. It contains the following elements:

  • Title: Used to display information to identify the object.
  • Key figure:  Used to give a good understanding of the value of the item. If required, use formatters to shorten the number.
  • Attributes (max. three):  Used to display additional information such as an ID, content information,and more.
  • Status fields (max. two): Displays icons or text that describe the status of the item. Consider using semantic colors to highlight critical statuses.

The object header in the details area should repeat the fields that are shown in the master list. This helps to recognize the item, especially if master and detail are split into two different pages when running on a smartphone. It can also show additional information, however, please try to avoid having too much different information between the object header and the object list item.

The rules for the master list and the split-screen layout also apply to the approval app. This includes the possibility to offer the selection modes for mass approval (usually not wanted by customers), Search, Filter, Group, and Sort.

Info Tab

The object view page in the approval app can have different tabs in the icon tab bar.

Most apps use the info tab to display the header information of the work item. This means the info tab contains the most important information that describes the items and allows the user to take action.

This is usually displayed as a form with a one column layout. We do not recommend to use a two column layout unless you switch off letterboxing. In most cases, form group headers are not needed within the tab, as the information is often limited to a few fields.

An app could also place micro charts, charts, or other controls into the info tab if this is relevant for the use case.

In most cases, the info tab is the first tab the user sees when opening the item. This is not mandatory and can be treated differently when required by the use case.

When navigating between items in the master list, the selected tab in the detail areas should always be the same. This means that if a user switches to the second tab on one detail page and then navigates to the next item in the list, this item should also show the second tab.

The information tab
The information tab

Notes Tab

Work items are often annotated through the use of attached otes.

The notes tab contains and displays these notes. If possible, the notes tab also allows the user to add a new note using the feed input control (sap.m.FeedInput).

The notes themselves are displayed using the feed list item control (sap.m.FeedListItem).

The notes tab
The notes tab

Attachment Tab

For many work items, it is possible to attach files. These files are often used to provide more information and additional media to explain the requested action. There is a standard control that can be used to manage the entire functionality around uploading, editing and deleting file attachments. This control is called the upload collection (sap.m.UploadCollection). It can be placed in the attachments tab.

Attachments tab
Attachments tab

Approver Tab

In many cases it is important for the approver to see who else is part of the approval chain, either to discuss with others or delegate the decision to somebody else. This approval chain is displayed using the feed list item (sap.m.FeedListItem) similar to the notes tab. You should only display the information about the person and the approval status here.

Approver tab
Approver tab

The approval app can also contain other tabs. The four tabs mentioned above are the most common tabs and should be used consistently.

Approve and Reject

The action on the individual work item is offered in the footer bar (sap.m.Toolbar) on the detail area.

In approval apps, it is common to have two primary actions:

  • Approve (positive action using button type Accept)
  • Reject (negative action using the button type Reject)

These default actions in the approval app make it very easy for the user to map the decision to the right action. Using semantic values allows customers to remap semantics to other colors if established within a company or culture.

It is still allowed to offer other or additional actions if the use case requires it.

In addition to the approve and reject action, the app should also offer access to the sharing actions.

Approval dialog
Approval dialog
Rejection dialog
Rejection dialog

In some cases, it is required to ask for a confirmation on either the approve or the reject action.

A rejection needs to be especially confirmed to avoid an erroneous rejection and any follow-up confusion. In addition, the user might want to add a reason to the rejection to explain the decision.

To achieve this in a consistent manner, please use the confirmation dialog (sap.ca.ui.dialog).

Once the user has made a decision, the work item is processed. Processing might take some time and a busy indicator might be necessary for longer delays. When the processing is completed, the processed item should be removed from the master list and the next item should be selected and displayed. A success message should be shown.

In some cases it might be required for the processed item to remain in the master list (such as if a decision can be reverted). In this case, the item remains selected and the status is switched according to the decision.

Success message after approval
Success message after approval

Navigating Line Items

In some cases a work item contains a list of line items. For instance, a shopping cart that contains shopping cart items representing the products that are to be purchased as part of the shopping cart.

In this case, the list of items should be displayed in a list (sap.m.List) or table (sap.m.Table) below the icon tab bar.

In most cases, the app should offer a drilldown navigation into the line item details. The list should show the navigation arrow (list item type=”navigation”) and allow a drilldown navigation to the line item details.

Work item with line items contained
Work item with line items contained

The line item details should be displayed using the object view or the flat object view page.

The app title of the details area should display the object type of the line item (such as Shopping Cart Item).

If there are multiple items in the list, the title should also indicate the number of items available and the relative position of the current item in the list (such as Shopping Cart Item (2 of 5).

Navigation into a line item
Navigation into a line item

To simplify the direct navigation between the line items, the app should offer iterator buttons on the top right corner of the app title bar. An up and down arrow allows the user to directly navigate to the previous or the next item in the list. When reaching the first item, the up arrow should be disabled, the same holds true to the down arrow when the last item is reached (see more on the split-screen layout).

A back arrow on the app title of the details area allows the user to navigate back to the main item.

Cross-navigation between line items
Cross-navigation between line items

On smartphones, the drilldown navigation to the line item is more consistent. There is no difference between master and detail so that a drill down happens constantly on the full page, the back navigation is always offered with the back navigation arrow.

Furthermore, we recommend offering iterator buttons. Due to limited space available, it might not be possible to display the numbering properly.

Line item navigation on the phone
Line item navigation on the phone

Master-Detail App

The master-detail app allows the user to quickly scan through a list of items and take action. The main actions are creating and editing list items. This app type has already been used in multiple occasions within SAP Fiori and is well established and mature.

The master-detail app is based on the split-screen layout and also uses the master list.

Master-detail app on desktop
Master-detail app on desktop

Responsiveness

The master-detail app works well on any form factor. It inherits the responsive behavior from the split-screen layout.

Master-detail app on tablet
Master-detail app on tablet
Master-detail app on smartphone
Master-detail app on smartphone
Master-detail app on smartphone
Master-detail app on smartphone

Behavior and Interaction

Please use the master-detail app to display a number of items in the master list and further information to that item in the details area. This allows the user to quickly get an overview of the items. The user is able to select an existing item in order to edit it or can create a new one without navigating.

The possibility to use the multi-select functionality in order to edit several items at the same time also exists (read more in master list article “select multiple items“).

Note: The edit page floorplan and the create page floorplan offer multiple variants to edit and create an item to support different use cases.

The master-detail app consists of the following components:

No items available:

On startup, the first work item should be selected and displayed in the details area. If there are no items in the list, the details area should show an empty page.

If an item is saved as tile and cannot be shown the next time, then the details area should also show an empty page (see picture below).

Item is no longer available
Item is no longer available

Full Screen Layout

The full screen layout lets you exploit the full width of the screen. Use this layout for apps that need to display large amounts of data, large visualizations, or wide tables.

Avoid switching between full and split-screen layouts within an app. If your app has some screens that require the full width, and others that do not, try to stick to one layout.

Full screen layout on desktop
Full screen layout on desktop

Usage

Use the full screen layout if:

  • Your app content requires the full width of the screen (for example, large tables, charts, or other types of visualization).

Do not use the full screen layout if:

  • You only need to display a small amount of information. If you cannot avoid using the full screen layout, use letterboxing to mitigate the issue.
  • You are not sure how to structure your information on the screen.

Structure

Full screen layout - Structure
Full screen layout - Structure

Like all layouts, the full screen layout is embedded in the shell header of the SAP Fiori lauchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The uppermost app element is the app header, with the back navigation, the app title, and one optional action. The app title reflects the title of the launch tile, such as Manage Products. The exceptions is the create page floorplan. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, <Sub item> (2 of 5).

The long scrollable page below contains the app content. You can either use one of the predefined floorplans, or create your own layout.

You can also add an app-specific footer toolbar at the bottom of the screen.

Full screen layout - Single scrolling area
Full screen layout - Single scrolling area

The full screen layout has one single scrolling area.

Responsiveness

Full screen layout on a smartphone
Full screen layout on a smartphone
Full screen layout on a tablet
Full screen layout on a tablet
Full screen layout on a desktop
Full screen layout on a desktop

The full screen layout offers considerable freedom and flexibility. However, you also need to make sure that the app is responsive or adaptive across devices. The content is not adjusted automatically as it is for the split-screen layout. Instead, you need to select the appropriate layout and controls, and make any necessary adjustments yourself.

Full screen layout with letterboxing on a desktop device
Full screen layout with letterboxing on a desktop device

Letterboxing means limiting the width of the content area to 1280 px. This prevents the app content from becoming too “stretched” on wide screens, and optimizes readability.

Examples

Full Screen example of “List Report”

List Report on smartphone
List Report on smartphone
List Report on tablet
List Report on tablet
List Report on a desktop device
List Report on a desktop device

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Full Screen Layout

Warning
The new layout for displaying pages in full screen is the dynamic page layout. The dynamic page layout offers more flexibility and integrates features like the snapping header. It is the successor of the full screen layout. Please, check if you could use the dynamic page layout instead. From wave 1.44 (1702) on the full screen layout will be deprecated.

The full screen layout lets you exploit the full width of the screen. Use this layout for apps that need to display large amounts of data, large visualizations, or wide tables.

Avoid switching between full and split-screen layouts within an app. If your app has some screens that require the full width, and others that do not, try to stick to one layout.

Full screen layout on desktop
Full screen layout on desktop

Usage

Use the full screen layout if:

  • Your app content requires the full width of the screen (for example, large tables, charts, or other types of visualization).

Do not use the full screen layout if:

  • You only need to display a small amount of information. If you cannot avoid using the full screen layout, use letterboxing to mitigate the issue.
  • You are not sure how to structure your information on the screen.

Structure

Full screen layout - Structure
Full screen layout - Structure

Like all layouts, the full screen layout is embedded in the shell header of the SAP Fiori lauchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The uppermost app element is the app header, with the back navigation, the app title, and one optional action. The app title reflects the title of the launch tile, such as Manage Products. The exceptions is the create page floorplan. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, <Sub item> (2 of 5).

The long scrollable page below contains the app content. You can either use one of the predefined floorplans, or create your own layout.

You can also add an app-specific footer toolbar at the bottom of the screen.

Full screen layout - Single scrolling area
Full screen layout - Single scrolling area

The full screen layout has one single scrolling area.

Responsiveness

Full screen layout on a smartphone
Full screen layout on a smartphone
Full screen layout on a tablet
Full screen layout on a tablet
Full screen layout on a desktop
Full screen layout on a desktop

The full screen layout offers considerable freedom and flexibility. However, you also need to make sure that the app is responsive or adaptive across devices. The content is not adjusted automatically as it is for the split-screen layout. Instead, you need to select the appropriate layout and controls, and make any necessary adjustments yourself.

Full screen layout with letterboxing on a desktop device
Full screen layout with letterboxing on a desktop device

Letterboxing means limiting the width of the content area to 1280 px. This prevents the app content from becoming too “stretched” on wide screens, and optimizes readability.

Examples

Full Screen example of “List Report”

List Report on smartphone
List Report on smartphone
List Report on tablet
List Report on tablet
List Report on a desktop device
List Report on a desktop device

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Full Screen Layout

The full screen layout lets you exploit the full width of the screen. Use this layout for apps that need to display large amounts of data, large visualizations, or wide tables.

Avoid switching between full and split-screen layouts within an app. If your app has some screens that require the full width, and others that do not, try to stick to one layout.

Full screen layout
Full screen layout

Usage

Use the full screen layout if:

  • Your app content requires the full width of the screen (for example, large tables, charts, or other types of visualization).

Do not use the full screen layout if:

  • You only need to display a small amount of information. If you cannot avoid using the full screen layout, use letterboxing to mitigate the issue.
  • You are not sure how to structure your information on the screen.

Structure

Full screen layout - Structure
Full screen layout - Structure

Like all layouts, the full screen layout is embedded in the shell header of the SAP Fiori lauchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The uppermost app element is the app header, with the back navigation, the app title, and one optional action. The app title reflects the title of the launch tile, such as Manage Products. Exceptions are the create page floorplan and the edit page floorplan. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, <Sub item> (2 of 5).

The long scrollable page below contains the app content. You can either use one of the predefined floorplans, or create your own layout.

You can also add an app-specific footer toolbar at the bottom of the screen.

Full screen layout - Single scrolling area
Full screen layout - Single scrolling area

The full screen layout has one single scrolling area.

Responsiveness

Full screen layout on a smartphone
Full screen layout on a smartphone
Full screen layout on a tablet
Full screen layout on a tablet
Full screen layout on a desktop
Full screen layout on a desktop

The full screen layout offers considerable freedom and flexibility. However, you also need to make sure that the app is responsive or adaptive across devices. The content is not adjusted automatically as it is for the split-screen layout. Instead, you need to select the appropriate layout and controls, and make any necessary adjustments yourself.

Full screen layout with letterboxing on a desktop device
Full screen layout with letterboxing on a desktop device

Letterboxing means limiting the width of the content area to 1280 px. This prevents the app content from becoming too “stretched” on wide screens, and optimizes readability.

Examples

List Report Floorplan

List report floorplan with full screen layout
List report floorplan with full screen layout

The list report is the most common floorplan for the full screen layout. This floorplan is used to display and filter large data sets, and takes full advantage of the additional screen real estate offered by the full screen layout.

Reference App “Shop”

Reference app
Reference app "Shop" on a smartphone
Reference app
Reference app "Shop" on a tablet
Reference app
Reference app "Shop" on a desktop device

The  reference app “Shop” shows how you might use a list report floorplan in the full screen layout. This app also demonstrates how you can overcome limits to responsiveness by making device-specific adaptations. On phones, the filter bar is replaced by a simple search field. This offers a better mobile user experience, and compensates for the fact that the current filter bar control does not support mobile devices. This example also shows how the list contents need to adjust to the available screen real estate.

Reference App “Shop”

Reference app
Reference app "Shop" on a smartphone
Reference app
Reference app "Shop" on a tablet
Reference app
Reference app "Shop" on a desktop device

The product details screen of the reference app “Shop” shows how an app can make use of an object view floorplan in the full screen layout. This example highlights the responsive capabilities of the components used for an object view floorplan.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Full Screen Layout

The full screen layout lets you exploit the full width of the screen. Use this layout for apps that need to display large amounts of data, large visualizations, or wide tables.

Avoid switching between full and split-screen layouts within an app. If your app has some screens that require the full width, and others that do not, try to stick to one layout.

Full screen layout
Full screen layout

Usage

Use the full screen layout if:

  • Your app content requires the full width of the screen (for example, large tables, charts, or other types of visualization).

Do not use the full screen layout if:

  • You only need to display a small amount of information. If you cannot avoid using the full screen layout, use letterboxing to mitigate the issue.
  • You are not sure how to structure your information on the screen.

Structure

Full screen layout - Structure
Full screen layout - Structure

Like all layouts, the full screen layout is embedded in the shell header of the SAP Fiori lauchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The uppermost app element is the app header, with the back navigation, the app title, and one optional action. The app title reflects the title of the launch tile, such as Manage Products. Exceptions are the create page floorplan and the edit page floorplan. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, <Sub item> (2 of 5).

The long scrollable page below contains the app content. You can either use one of the predefined floorplans, or create your own layout.

You can also add an app-specific footer toolbar at the bottom of the screen.

Full screen layout - Single scrolling area
Full screen layout - Single scrolling area

The full screen layout has one single scrolling area.

Responsiveness

Full screen layout on a smartphone
Full screen layout on a smartphone
Full screen layout on a tablet
Full screen layout on a tablet
Full screen layout on a desktop
Full screen layout on a desktop

The full screen layout offers considerable freedom and flexibility. However, you also need to make sure that the app is responsive or adaptive across devices. The content is not adjusted automatically as it is for the split-screen layout. Instead, you need to select the appropriate layout and controls, and make any necessary adjustments yourself.

Full screen layout with letterboxing on a desktop device
Full screen layout with letterboxing on a desktop device

Letterboxing means limiting the width of the content area to 1280 px. This prevents the app content from becoming too “stretched” on wide screens, and optimizes readability.

Examples

List Report Floorplan

List report floorplan with full screen layout
List report floorplan with full screen layout

The list report is the most common floorplan for the full screen layout. This floorplan is used to display and filter large data sets, and takes full advantage of the additional screen real estate offered by the full screen layout.

Reference App “Shop”

Reference app
Reference app "Shop" on a smartphone
Reference app
Reference app "Shop" on a tablet
Reference app
Reference app "Shop" on a desktop device

The product details screen of the reference app “Shop” shows how an app can make use of an object view floorplan in the full screen layout. This example highlights the responsive capabilities of the components used for an object view floorplan.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Full Screen Layout

The full screen layout lets you exploit the full width of the screen. Use this layout for apps that need to display large amounts of data, large visualizations, or wide tables.

Avoid switching between full and split-screen layouts within an app. If your app has some screens that require the full width, and others that do not, try to stick to one layout.

Full screen layout
Full screen layout

Usage

Use the full screen layout if:

  • Your app content requires the full width of the screen (for example, large tables, charts, or other types of visualization).

Do not use the full screen layout if:

  • You only need to display a small amount of information. If you cannot avoid using the full screen layout, use letterboxing to mitigate the issue.
  • You are not sure how to structure your information on the screen.

Structure

Full screen layout - Structure
Full screen layout - Structure

Like all layouts, the full screen layout is embedded in the shell header of the SAP Fiori lauchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The uppermost app element is the app header, with the back navigation, the app title, and one optional action. The app title reflects the title of the launch tile, such as Manage Products. The exceptions is the create page floorplan. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, <Sub item> (2 of 5).

The long scrollable page below contains the app content. You can either use one of the predefined floorplans, or create your own layout.

You can also add an app-specific footer toolbar at the bottom of the screen.

Full screen layout - Single scrolling area
Full screen layout - Single scrolling area

The full screen layout has one single scrolling area.

Responsiveness

Full screen layout on a smartphone
Full screen layout on a smartphone
Full screen layout on a tablet
Full screen layout on a tablet
Full screen layout on a desktop
Full screen layout on a desktop

The full screen layout offers considerable freedom and flexibility. However, you also need to make sure that the app is responsive or adaptive across devices. The content is not adjusted automatically as it is for the split-screen layout. Instead, you need to select the appropriate layout and controls, and make any necessary adjustments yourself.

Full screen layout with letterboxing on a desktop device
Full screen layout with letterboxing on a desktop device

Letterboxing means limiting the width of the content area to 1280 px. This prevents the app content from becoming too “stretched” on wide screens, and optimizes readability.

Examples

Reference App “Shop”

Reference app
Reference app "Shop" on a smartphone
Reference app
Reference app "Shop" on a tablet
Reference app
Reference app "Shop" on a desktop device

The product details screen of the reference app “Shop” shows how an app can make use of an object view floorplan in the full screen layout. This example highlights the responsive capabilities of the components used for an object view floorplan.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan – Live update
List report floorplan – Live update

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering, so you should use the worklist floorplan

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan adapted to smartphone
List report floorplan adapted to smartphone
List report floorplan adapted to tablet
List report floorplan adapted to tablet
List report floorplan adapted to desktop
List report floorplan adapted to desktop

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you use, you may need to change your implementation for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table, grid table  – supported on desktop and tablet devices only. On smartphones, replace it with the responsive table.
  • Tree table – supported on desktop and tablet devices only. There is currently no direct alternative for smartphones. Only in some cases, the tree table could be replaced by a category navigation pattern on smart phone.
  • Chart – supported on all devices.

List Report Floorplan with the Dynamic Page

Variant Management and Global Actions

The header title of the dynamic page contains the variant management and global actions. The header title displays up to 5 filter criteria if the header content is collapsed.

Snapping Header

The header content of the page has a snapping behavior. This includes the filter bar. The header content collapses after scrolling the page if used with the sap.m.table (responsive table), or can be collapsed manually if used with the sap.ui.tables (grid tabel, analytical table (ALV), tree table).

Footer Toolbar

In edit mode or for finalizing actions, a footer toolbar is available. This element appears on the bottom of the page content and contains closing or finalizing actions.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

Please be aware that triggering a filter can take a while if the result set becomes very large. To improve performance in such cases, consider providing manadory filter fields and/ or default settings for filters. Both help to reduce the size of typical filter result sets.

The variant management functions allow users to define and manage predefined filter sets as well as predefined view settings for the lists, tables, trees, and charts. Users can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).

Variant management is optional.

Expanded filter bar in a list report floorplan
Expanded filter bar in a list report floorplan

The filter bar can be either expanded or collapsed when the list report floorplan is launched. The expanded view reveals the filter functionality and makes it clear that the user can filter directly on the list. However, it looks more complex than the collapsed view. The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status that the user has set.

Filter bar in a collapsed state
Filter bar in a collapsed state

Content Area

The content area is located on the lower part of the screen and contains the actual data. The data shown is determined by the settings in the filter area.

Content

There are various options for displaying large data sets, each of which has specific features and advantages. For more information, see the documentation for the individual control.

Toolbar

The different content controls allow you to incorporate toolbars in different ways. The details are covered in the guidelines for the respective toolbars. This section only covers the specifics for the list report floorplan.

In the simplest case, the toolbar contains only basic table functionality, such as the table title (optionally with count), sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic list, you can provide alternative visualizations, such as a table or a chart. You can also offer these two functions in the toolbar, including combined visualizations, such as a chart together with a table.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

Users can store personalized table settings in a layout variant, which is also available on the table toolbar. If so, do not store the table settings in the filter variant.

Use this only in rare cases. In most cases it is sufficient to use the variant management on the filter bar for storing the filter settings and the layout settings of the table.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

You can extend the toolbar to offer additional contextual actions. These actions can be selection-dependent (enabled only if an item is selected) or selection-independent (always enabled, even without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar with a segmented button for up to three different views
Table toolbar with a segmented button for up to three different views

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).
  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.

Multiple Contents

List report floorplan with multiple tables placed in multiple tabs
List report floorplan with multiple tables placed in multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

The search field is optional. If used, it is shown next to the variant management in the fitler bar. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

Actions

There are four places where actions can be located in the list report floorplan: page header, table toolbar, line item, or footer toolbar
There are four places where actions can be located in the list report floorplan: page header, table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer four types of action: global actions, table actions, line item actions, and finalizing actions.

1. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the page header section of the page (1).

The global actions do also contain the Share button. Show it only, if you really need it. In other cases, remove the Share button.

2. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (2). The scope of these actions depends on the items selected (no item selected, a single item selected, multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions, which can currently not be used (e.g. for no items are selected).

3. Line Item Actions

In rare cases it can make sense to let the user trigger specific, frequent tasks directly from the item (3). In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

4. Finalizing Actions

Finalizing actions execute the end of a process that affect the entire page. These actions can be placed in the footer toolbar section of the page (4).

For example:

  • Save
  • Cancel
  • Submit
Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of a list report floorplan on a smartphone
Basic layout of a list report floorplan on a smartphone
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on desktop
Basic layout of the list report floorplan on desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan – Live update
List report floorplan – Live update

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering, so you should use the worklist floorplan

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan adapted to smartphone
List report floorplan adapted to smartphone
List report floorplan adapted to tablet
List report floorplan adapted to tablet
List report floorplan adapted to desktop
List report floorplan adapted to desktop

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you use, you may need to change your implementation for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table, grid table  – supported on desktop and tablet devices only. On smartphones, replace it with the responsive table.
  • Tree table – supported on desktop and tablet devices only. There is currently no direct alternative for smartphones. Only in some cases, the tree table could be replaced by a category navigation pattern on smart phone.
  • Chart – supported on all devices.

List Report Floorplan with the Dynamic Page

Variant Management & Global Actions

The header title of the dynamic page provides a variant management and the global actions. The header title displays up to five filter criteria if the header content is collapsed.

Snapping Header

The header content of the page gets a snapping behavior. This includes the filter bar. The header content collapses after scrolling the page if used with the sap.m.table (responsive table), or can be collapsed manually if used with the sap.ui.tables (grid tabel, analytical table (ALV), tree table).

Footer Toolbar

In edit mode or for finalizing actions there is a footer toolbar. This element appears on the bottom of the page content and contains closing or finalizing actions.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

Please be aware that triggering a filter can take a while if the result set becomes very large. To improve performance in such cases, consider providing manadory filter fields and/ or default settings for filters. Both help to reduce the size of typical filter result sets.

The variant management functions allow users to define and manage predefined filter sets as well as predefined view settings for the lists, tables, trees, and charts. Users can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).

Variant management is optional.

Expanded filter bar in a list report floorplan
Expanded filter bar in a list report floorplan

The filter bar can be either expanded or collapsed when the list report floorplan is launched. The expanded view reveals the filter functionality and makes it clear that the user can filter directly on the list. However, it looks more complex than the collapsed view. The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status that the user has set.

Filter bar in a collapsed state
Filter bar in a collapsed state

Content Area

The content area is located on the lower part of the screen and contains the actual data. The data shown is determined by the settings in the filter area.

Content

There are various options for displaying large data sets, each of which has specific features and advantages. For more information, see the documentation for the individual control.

Toolbar

The different content controls allow you to incorporate toolbars in different ways. The details are covered in the guidelines for the respective toolbars. This section only covers the specifics for the list report floorplan.

In the simplest case, the toolbar contains only basic table functionality, such as the table title (optionally with count), sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic list, you can provide alternative visualizations, such as a table or a chart. You can also offer these two functions in the toolbar, including combined visualizations, such as a chart together with a table.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

Users can store personalized table settings in a layout variant, which is also available on the table toolbar. If so, do not store the table settings in the filter variant.

Use this only in rare cases. In most cases it is sufficient to use the variant management on the filter bar for storing the filter settings and the layout settings of the table.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

You can extend the toolbar to offer additional contextual actions. These actions can be selection-dependent (enabled only if an item is selected) or selection-independent (always enabled, even without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar with a segmented button for up to three different views
Table toolbar with a segmented button for up to three different views

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).
  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.

Multiple Contents

List report floorplan with multiple tables placed in multiple tabs
List report floorplan with multiple tables placed in multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

The search field is optional. If used, it is shown next to the variant management in the fitler bar. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

Actions

The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer three types of action: table actions, line item actions, and global actions.

1. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (1). The scope of these actions depends on the items selected (no item selected, a single item selected, or multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions that cannot be currently used (for example, when no items are selected).

2. Line Item Actions

In rare cases it makes sense to let the user trigger specific frequently-used tasks directly from the item. In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

3. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the footer toolbar section of the page (3).

The global actions do also contain the Share button. Show it only if you really need it. If not, remove the Share button.

Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list. An alternative solution is to offer these actions in the footer toolbar instead.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of a list report floorplan on a smartphone
Basic layout of a list report floorplan on a smartphone
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on desktop
Basic layout of the list report floorplan on desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan
List report floorplan

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering. Use the work list floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan adapted to smartphone
List report floorplan adapted to smartphone
List report floorplan adapted to tablet
List report floorplan adapted to tablet
List report floorplan adapted to desktop
List report floorplan adapted to desktop

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you implement, you may need to adapt them for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table  – supported on desktop devices only. On tablets and smartphones, replace it with the responsive table.
  • Tree table – supported on desktop devices only. There is currently no alternative for tablets and smartphones.
  • Chart – supported on all devices.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

The variant management functions allow users to define and manage predefined filter sets. They can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).
Expanded filter bar in a list report floorplan
Expanded filter bar in a list report floorplan

The list report floorplan can start with the filter bar expanded or collapsed:

  • The expanded view reveals the filter functionality and makes it clear that the user can filter on the list. However, it looks more complex than the collapsed view.
  • The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status the user has set. The persisted state should override the default state set by the app.

Filter bar in a collapsed state
Filter bar in a collapsed state

Content Area

The content area is located on the lower part of the screen and contains the actual data. The data shown is determined by the settings in the filter area.

Content

There are various options for displaying large data sets, each of which has specific features and advantages. For more information, see the documentation for the individual control.

Toolbar

The different content controls allow you to incorporate toolbars in different ways. The details are covered in the guidelines for the respective toolbars. This section only covers the specifics for the list report floorplan.

In the simplest case, the toolbar contains only basic table functionality, such as the table title (count), sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic list, you can provide alternative visualizations, such as a table or a chart. You can also offer these two functions in the toolbar, including combined visualizations, such as a chart together with a table.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

Users can store personalized table settings in a layout variant, which is also available on the table toolbar.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

You can extend the toolbar to offer additional contextual actions. These actions can be selection-dependent (enabled only if an item is selected) or selection-independent (always enabled, even without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

List report floorplan with a single table
List report floorplan with a single table

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar with a segmented button for up to three different views
Table toolbar with a segmented button for up to three different views

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.
  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).

Multiple Contents

List report floorplan with multiple tables placed in multiple tabs
List report floorplan with multiple tables placed in multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The content area is grayed out because the filter area has been changed and the content has not yet been updated.
The content area is grayed out because the filter area has been changed and the content has not yet been updated.

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

Since the search is not included in the filter bar (except within the smart filter bar), you must implement the search functionality in every app. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

If the basic search field is used in the filter bar, you must deactivate the search field in the table.

Free text filter (filter bar collapsed)
Free text filter (filter bar collapsed)

Actions

The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer three types of action: table actions, line item actions, and global actions.

1. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (1). The scope of these actions depends on the items selected (no item selected, a single item selected, or multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions that cannot be currently used (for example, when no items are selected).

2. Line Item Actions

In rare cases it makes sense to let the user trigger specific frequently-used tasks directly from the item. In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

3. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the footer toolbar section of the page (3).

The global actions do also contain the Share button. Show it only if you really need it. If not, remove the Share button.

Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list. An alternative solution is to offer these actions in the footer toolbar instead.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of a list report floorplan on a smartphone
Basic layout of a list report floorplan on a smartphone
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on desktop
Basic layout of the list report floorplan on desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan – Live Update
List report floorplan – Live Update

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering. Use the work list floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan adapted to smartphone
List report floorplan adapted to smartphone
List report floorplan adapted to tablet
List report floorplan adapted to tablet
List report floorplan adapted to desktop
List report floorplan adapted to desktop

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you implement, you may need to adapt them for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table  – supported on desktop devices only. On tablets and smartphones, replace it with the responsive table.
  • Tree table – supported on desktop devices only. There is currently no alternative for tablets and smartphones.
  • Chart – supported on all devices.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

The variant management functions allow users to define and manage predefined filter sets. They can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).
Expanded filter bar in a list report floorplan
Expanded filter bar in a list report floorplan

The list report floorplan can start with the filter bar expanded or collapsed:

  • The expanded view reveals the filter functionality and makes it clear that the user can filter on the list. However, it looks more complex than the collapsed view.
  • The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status the user has set. The persisted state should override the default state set by the app.

Filter bar in a collapsed state
Filter bar in a collapsed state

Content Area

The content area is located on the lower part of the screen and contains the actual data. The data shown is determined by the settings in the filter area.

Content

There are various options for displaying large data sets, each of which has specific features and advantages. For more information, see the documentation for the individual control.

Toolbar

The different content controls allow you to incorporate toolbars in different ways. The details are covered in the guidelines for the respective toolbars. This section only covers the specifics for the list report floorplan.

In the simplest case, the toolbar contains only basic table functionality, such as the table title (count), sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic list, you can provide alternative visualizations, such as a table or a chart. You can also offer these two functions in the toolbar, including combined visualizations, such as a chart together with a table.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

Users can store personalized table settings in a layout variant, which is also available on the table toolbar.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

You can extend the toolbar to offer additional contextual actions. These actions can be selection-dependent (enabled only if an item is selected) or selection-independent (always enabled, even without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar with a segmented button for up to three different views
Table toolbar with a segmented button for up to three different views

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.
  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).

Multiple Contents

List report floorplan with multiple tables placed in multiple tabs
List report floorplan with multiple tables placed in multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

Since the search is not included in the filter bar (except within the smart filter bar), you must implement the search functionality in every app. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

Actions

The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer three types of action: table actions, line item actions, and global actions.

1. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (1). The scope of these actions depends on the items selected (no item selected, a single item selected, or multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions that cannot be currently used (for example, when no items are selected).

2. Line Item Actions

In rare cases it makes sense to let the user trigger specific frequently-used tasks directly from the item. In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

3. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the footer toolbar section of the page (3).

The global actions do also contain the Share button. Show it only if you really need it. If not, remove the Share button.

Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list. An alternative solution is to offer these actions in the footer toolbar instead.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of a list report floorplan on a smartphone
Basic layout of a list report floorplan on a smartphone
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on a tablet
Basic layout of the list report floorplan on desktop
Basic layout of the list report floorplan on desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan
List report floorplan

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering. Use the work list floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan size S (e.g. Smartphone)
List report floorplan size S (e.g. Smartphone)
List report floorplan size M (e.g. Tablet)
List report floorplan size M (e.g. Tablet)
List report floorplan size L/XL (e.g. desktop)
List report floorplan size L/XL (e.g. desktop)

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you implement, you may need to adapt them for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table  – supported on desktop devices only. On tablets and smartphones, replace it with the responsive table.
  • Tree table – supported on desktop devices only. There is currently no alternative for tablets and smartphones.
  • Chart – supported on all devices.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

The variant management functions allow users to define and manage predefined filter sets. They can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).
The expanded filter bar in a list report floorplan
The expanded filter bar in a list report floorplan

The list report floorplan can start with the filter bar expanded or collapsed:

  • The expanded view reveals the filter functionality and makes it clear that the user can filter on the list. However, it looks more complex than the collapsed view.
  • The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status the user has set. The persisted state should override the default state set by the app.

The filter bar in a collapsed state
The filter bar in a collapsed state

Content Area

The content area holds the actual information on the screen. It is located on the lower part of the screen. The data shown in this area is determined by the settings of the filter area.

Content

There are different means available to display large data sets, each of which have specific features and advantages. Please refer to the documentation of the individual controls for more details on their usage.

Toolbar

Each of the content controls offers the possibility to show toolbars in different ways. Please refer to the toolbar documentation for more details. However, in the context of the list report floorplan, there are some specifics that should be described here. In the simplest case this toolbar only contains the basic table functionality, like the table title (count), a free text filter, sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic functionality, the app can offer different alternative visualizations, such as a table or a chart. These two functions can be offered in the toolbar as well. This can include the possibility to show a chart together with a table or other combined visualizations.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

The user can store table personalization in a layout variant, which can also be selected from the table toolbar.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

In order to offer additional contextual actions, the toolbar can still be extended with actions that are either selection dependent (available only if an item is selected) or independent (available without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

List report floorplan with single table
List report floorplan with single table

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar for a table with up to 3 different views using a segmented button
Table toolbar for a table with up to 3 different views using a segmented button

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with more than 3 views using a select control
Table toolbar with more than 3 views using a select control

Switching between views can affect how the content is visualized:

  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.
  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).

Multiple Contents

List report floorplan with multiple tables placed into multiple tabs
List report floorplan with multiple tables placed into multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

Since the search is not included in the filter bar (except within the smart filter bar), you must implement the search functionality in every app. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

The report results have been filtered by the string
The report results have been filtered by the string "in" leaving only the two lines containing matching company codes

Actions

The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar.
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar.

Users should also be able to trigger actions on the list report floorplan. Apps can offer three types of action: table actions, line item actions, and global actions.

1. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (1). The scope of these actions depends on the items selected (no item selected, a single item selected, or multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions that cannot be currently used (for example, when no items are selected).

2. Line Item Actions

In rare cases it makes sense to let the user trigger specific frequently-used tasks directly from the item. In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

3. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the footer toolbar section of the page (3).

The global actions do also contain the Share button. Show it only if you really need it. If not, remove the Share button.

Information
The table toolbar on top of the list or responsive table (sap.m.Table) scrolls away due to page scrolling. Therefore actions in the table toolbar are not accessible if the user scrolls down the list. One solution for this is to have these actions in the footer toolbar instead.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of the list report size S (e.g. Smartphone)
Basic layout of the list report size S (e.g. Smartphone)
Basic layout of the list report size M (e.g. Tablet)
Basic layout of the list report size M (e.g. Tablet)
Basic layout of the list report size L/XL (e.g. desktop)
Basic layout of the list report size L/XL (e.g. desktop)

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report Floorplan

The list report floorplan allows the user to work with a large list of items and take action. This floorplan combines powerful functions for filtering large lists with different ways of displaying the resulting item list. You can only use the list report floorplan with the full screen layout.

List report floorplan
List report floorplan
List report floorplan
List report floorplan

Usage

Use the list report floorplan if:

  • You need to display and filter large lists of items. The filter bar is very powerful and allows the user to handle large data sets with multiple filter mechanisms.
  • You want to combine different visualizations for large data sets, such as graphics and tables.

Do not use the list report floorplan if:

  • The users work primarily on a specific list of items. In this case, the focus lies on the action, and less on filtering. Use the work list floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as Manage Products.

The list report floorplan is based on the full screen layout. Apart from the common app header and footer toolbar, the list report floorplan has two main elements:

  • Filter area: The filter bar is located at the top of the screen. It allows the user to either select a predefined filter set (known as a variant), or to create a new filter set using the individual fields in the filter bar.
  • Content area: The content is shown in the lower part of the screen. You can display the data using one or multiple lists, tables, tree tables, or charts. If you want to display different types of content or different tables, you can opt to use an icon tab container.
  • Dependency: Since the filter bar and the contents are dependent, the app must ensure that both are always in a consistent state.
Layout of list report
Layout of list report

Responsiveness

List report floorplan size S (e.g. Smartphone)
List report floorplan size S (e.g. Smartphone)
List report floorplan size M (e.g. Tablet)
List report floorplan size M (e.g. Tablet)
List report floorplan size L/XL (e.g. desktop)
List report floorplan size L/XL (e.g. desktop)

Currently, the controls used within the list report floorplan do not all adjust responsively across all devices. Depending on the controls you implement, you may need to adapt them for some devices. The level of multi-device support depends on the individual controls used in the floorplan. For details, see the guidelines for the individual controls.

  • Filter bar  – supported on all devices.
  • Icon tab bar  – supported on all devices.
  • Responsive table, list – supported on all devices (use the responsive features).
  • Analytical table  – supported on desktop devices only. On tablets and smartphones, replace it with the responsive table.
  • Tree table – supported on desktop devices only. There is currently no alternative for tablets and smartphones.
  • Chart – supported on all devices.

Filter Area

In the filter area, users specify the data that is displayed in the content area by:

  • Using different filter criteria to reduce the number of items displayed.
  • Selecting predefined filter sets (known as variants) to support different use cases.

These functions are offered by the filter bar, which is mandatory for any list report floorplan.

The variant management functions allow users to define and manage predefined filter sets. They can set a default variant, and specify how the variant is executed:

  • If Execute on Select is active, the variant is executed as soon as the user selects it (live update).
  • If Execute on Select is not active, the user can modify the query, but has to execute the search manually to display the data (delayed update).
The expanded filter bar in a list report floorplan
The expanded filter bar in a list report floorplan

The list report floorplan can start with the filter bar expanded or collapsed:

  • The expanded view reveals the filter functionality and makes it clear that the user can filter on the list. However, it looks more complex than the collapsed view.
  • The collapsed view is simple and user-friendly. However, users might not realize that they can change the content using multiple filters.

Users can expand or collapse the filter bar manually. In this case, the app should persist the status the user has set. The persisted state should override the default state set by the app.

The filter bar in a collapsed state
The filter bar in a collapsed state

Content Area

The content area holds the actual information on the screen. It is located on the lower part of the screen. The data shown in this area is determined by the settings of the filter area.

Content

There are different means available to display large data sets, each of which have specific features and advantages. Please refer to the documentation of the individual controls for more details on their usage.

Toolbar

Each of the content controls offers the possibility to show toolbars in different ways. Please refer to the toolbar documentation for more details. However, in the context of the list report floorplan, there are some specifics that should be described here. In the simplest case this toolbar only contains the basic table functionality, like the table title (count), a free text filter, sorting, grouping, and table personalization.

Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls
Typical toolbar in the list report floorplan containing the table title (count), a free text filter, sorting, grouping, and table personalization controls

In addition to the basic functionality, the app can offer different alternative visualizations, such as a table or a chart. These two functions can be offered in the toolbar as well. This can include the possibility to show a chart together with a table or other combined visualizations.

Toolbar with a switch between table and chart visualizations
Toolbar with a switch between table and chart visualizations

The user can store table personalization in a layout variant, which can also be selected from the table toolbar.

Toolbar with a table title and layout variant selection
Toolbar with a table title and layout variant selection

In order to offer additional contextual actions, the toolbar can still be extended with actions that are either selection dependent (available only if an item is selected) or independent (available without item selection).

Toolbar with additional contextual actions
Toolbar with additional contextual actions

Simple Content (Default)

List report floorplan with single table
List report floorplan with single table

In most cases, the content is displayed in a single list or table, with a title toolbar at the top. The title toolbar has a specific style (transparent background), and uses one of the content variants described above.

Multiple Views

Table toolbar for a table with up to 3 different views using a segmented button
Table toolbar for a table with up to 3 different views using a segmented button

In many cases, you will want to offer multiple predefined views on the data in the content area. Such views represent certain filter criteria, or some other fundamental differentiation between the items displayed in the content (for example, open items, items in process, and closed items). There are two ways to let users select these views directly:

  • For two to three views, use a segmented button .
  • For more than three views, or if the number of views can change, use the select control .

For the filter bar also influences the result set shown in the table, avoid repeating filter criteria in the views. If the criterion that determines the view is also a filter criterion, you might run into dependencies that are difficult to resolve. For example, if you have a Status filter in the filter bar, and a view switch with the views Open, In Process, and Closed, both refer to the same property.

If you use a content switch, you no longer need a title. In very rare use cases, both a title and a content switch must be visible. In this case, the title and the content view are left-aligned.

Table toolbar with more than 3 views using a select control
Table toolbar with more than 3 views using a select control
Table toolbar with a select control for more than three views
Table toolbar with a select control for more than three views

Switching between views can affect how the content is visualized:

  • For tables, the different views do not affect how the content is visualized. They only change the content or items displayed (filter on the content). Table columns and sort settings are not affected by switching views.
  • For charts, switching views can affect the visualization. This can be the case if there is a better way to represent the data for a specific view (for example, view by country, view by customer).

Multiple Contents

List report floorplan with multiple tables placed into multiple tabs
List report floorplan with multiple tables placed into multiple tabs

A list report can contain multiple lists or tables in parallel. The same filter criteria are applied across all tables. For example, if the user filters for specific customers and dates, a customer overview report would show only matching invoices, deliveries, and overdue payments.

To facilitate navigation, you can show each table on a separate tab in the icon tab bar.

Guidelines:

  • For the list report floorplan, use the text-only version of the icon tab bar.
  • By default, populate the count attribute with the number of items shown in the respective table.
  • Use the same name for the tab and the table title.
  • You can add a toolbar for  table functions. Follow the rules described above for the toolbar.

“No Data” Texts

If the content area is empty, use a placeholder text to tell the user why. To assign a placeholder text, set the “noDataText” attribute.

Typical use cases and placeholder texts:

  • The user has started the app, but not applied any filters.
    Text: “No items selected. To start, enter your selection criteria and run the search.”
  • The user has executed the filter, but no items were found.
    Text: “No results found. Try adjusting your search and filter settings.”
  • The user has opened a related app. The filter criteria are transferred automatically, but no items are found in the related app.
    Text: “No items selected. Check the search and filter settings.”

Dependencies Between Areas

The filter and content areas must be synchronized at all times. In other words, the filters in the filter bar must always describe the items that are shown in the content area.

Updating the Content Area

The content area is grayed out because the filter area has been changed and the content has not yet been updated
The content area is grayed out because the filter area has been changed and the content has not yet been updated
The content area is grayed out because the filter area has been changed and the content has not yet been updated
The content area is grayed out because the filter area has been changed and the content has not yet been updated

The filter bar supports two update modes:

  • Live update (default): The user changes a filter criterion, and the content is updated immediately. The results table is updated every time the user changes a filter field or the search field. Therefore, a Go button is not necessary and is not shown if the live update mode is used. Also, the search is triggered with every letter that is entered. Starting with the first letter typed in, the table is updated with the results that match all set filters, including the search term.
    The live update mode fits for most use cases and should be used as a default.
Filter bar in live update mode
Filter bar in live update mode
  • Manual update: The user changes a filter criterion first and then presses the Go button to apply the filter and update the content. In this case, a Go button is mandatory. If a search field is used, it is only triggered by the Go button and not instantly.
Filter bar in manual update mode
Filter bar in manual update mode

The manual update mode is necessary to reduce load on the back-end systems. In live update mode, the app has to query the back end for every filter change.

In the manual update mode, indicate that the content is not yet updated by graying out the content area (showOverlay = true). As soon as the user triggers the update by selecting Go in the filter bar, set the content area to “busy” (busy = true) until the new data has been retrieved. This will switch the control to busy state.

Filter Bar and Table Filter

Since the filters in the filter bar and the filter option in the table can contain confusing or even contradictory entries, you must deactivate the filter option in the table.

Do
The table without the filter icon
The table without the filter icon
Don't
Table including filter option
Table including filter option

Basic Search Field and Table Search

The filter bar determines the content of the report. This filter configuration can also be persisted and shared with other users (variant management).

Since the search is not included in the filter bar (except within the smart filter bar), you must implement the search functionality in every app. Every search is executed against the back end and in combination with the set filters.

The report results are now reduced to only those items that contain the search string and match all set filters.

The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes
The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes
The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes
The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes
The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes
The report results have been filtered by the string -in-, leaving only the two lines containing matching company codes

Actions

The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar.
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar.
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar
The three places where actions can be located in the list report floorplan: table toolbar, line item, or footer toolbar

Users should also be able to trigger actions on the list report floorplan. Apps can offer three types of action: table actions, line item actions, and global actions.

1. Table Actions

To allow users to change the content of a table, you can offer actions in the table toolbar (1). The scope of these actions depends on the items selected (no item selected, a single item selected, or multiple items selected). If an action applies to specific items, the user has to first select the item or items, and then the action from the toolbar. Examples of such actions include:

  • Adding/removing items
  • Editing one or multiple items
  • Triggering an object function for one or multiple items
  • Changing the status of one or multiple items

Disable actions that cannot be currently used (for example, when no items are selected).

2. Line Item Actions

In rare cases it makes sense to let the user trigger specific frequently-used tasks directly from the item. In this case, you can embed a button into a line item. Such actions can be offered alongside corresponding table actions or global actions. Examples of line item actions include:

  • Starting/stopping a batch job
  • Approving an item
  • Assigning an item

3. Global Actions

If the user wants to execute actions that affect the entire page, these actions can be placed in the footer toolbar section of the page (3).

The global actions do also contain the Share button. Show it only if you really need it. If not, remove the Share button.

Information
The table toolbar at the top of the list is a responsive table (sap.m.Table) that scrolls away. This means that actions in the table toolbar are not accessible when the user scrolls down the list. An alternative solution is to offer these actions in the footer toolbar instead.

Navigation

In most cases, users can navigate to the detail view for each line item in the report. In cases where reports display data aggregates, the user might also want to drill into the details for the aggregated amount.

Line Item Navigation

At line item level, navigation to the item details depends on the control that is being used to display the data. In most cases, users navigate to the details either by selecting the table line (list, responsive table), or by selecting the identifier of the line item (grid table, analytical table, tree table). For more details on the navigation behavior, see the guideline for the respective control.

Drilldown Navigation

If a report displays aggregated amounts, the user might want to drill down into the individual items. In this case, we recommend to display the aggregate values as links. Clicking the link takes the user to another report showing the individual figures. Use the possibilities of the link to provide different levels of highlight in cases where the table contains many columns with links.

In charts, offer the drilldown navigation link in the popover for the chart element.

Cross Navigation

Reports – especially tables – can contain cross-references to other entities, such as people or business objects. Show references to other entities in a popover. Typically, the popover displays basic details of the referenced object and a navigation link to another page or another app that shows the object details.

Visual Design

For your convenience, we have integrated the visual design specifications for the list report floorplan.

Basic layout of the list report size S (e.g. Smartphone)
Basic layout of the list report size S (e.g. Smartphone)
Basic layout of the list report size M (e.g. Tablet)
Basic layout of the list report size M (e.g. Tablet)
Basic layout of the list report size L/XL (e.g. desktop)
Basic layout of the list report size L/XL (e.g. desktop)

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Object View Floorplan

The object view is a floorplan for displaying objects in SAP Fiori.  It can either be embedded in a master-detail app (as in typical approval apps) or shown as a full-screen page. This floorplan offers optimal support for multiple devices.

The object view is suitable for both simple objects and more complex, multi-faceted objects. You can use a tab container to present the information in different categories.

For editing, the layout switches to a flat object view. In other words, all the sections that were presented as tabs appear together on one long page. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Object view on a desktop device with letterboxing
Object view on a desktop device with letterboxing

Usage

Use the object view floorplan if:

  • You have objects with up to 5–7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table appears below the tab area.
  • You are building a typical approval app.

Do not use the object view floorplan if:

  • You want to keep the same layout when the app switches between create/edit and display modes. In this case, use the flat object view.

Structure

The object view floorplan comprises the following elements, from top to bottom:

  1. Launchpad shell bar: Always available at the top of SAP Fiori apps.
  2. Application header: Reflects the title of the launch tile, such as Manage Products.
  3. Object header
  4. Tabs (optional): If your content falls into different categories, or you want to display different tables, you can embed the content in an icon tab bar.
  5. Content area: The main part of the screen for displaying your data. You can use lists, tables, tree tables, or charts.
  6. Footer toolbar
Structure of object view floorplan
Structure of object view floorplan

Responsiveness

Object view on a phone
Object view on a phone
Object view on a tablet
Object view on a tablet
Object view on a desktop
Object view on a desktop

You can use the object view floorplan in both a full screen layout and a split-screen layout.

Object view in a split-screen layout
Object view in a split-screen layout

Tabs

The key element of the object view is the icon tab bar. Each of the tabs shows a certain facet of the object. There are two primary facet types:

  1. Form-based facets display attributes of the object in a form layout (for example, object details or contact details).
  2. Tabular facets show a list of similar attributes or relationships in a list or table structure (such as attachments, contacts, or products).

Defining Tabs

You can define tabs as expandable, allowing users to show or hide the tab content as needed.

You can also define the default tab that is selected when the user opens the application. This might not always be the first tab on the left. However, you should ensure that the tab state is consistent for object views of the same type. This gives the user a coherent user experience when navigating between object views.

The user can switch between the object facets by just switching tabs. You can display additional information below the tabs.

Object view with text-only tabs
Object view with text-only tabs

In the object view, you can use the following tab types:

  1. Icon tabs:Use icons if you only need the standard tabs, such as information, attachments, and notes.
  2. Text only:Use text if you need tabs for other (non-standard) object facets.

Guidelines for choosing a tab type:

  • As a simple rule of thumb, if you have to think about which icon fits best, use the text-only type instead.
  • Do not mix the text-only and icon tab types.
  • Do not use separators between the tabs.
  • Do not use any other icon tab bar types (tabs as filters or process steps).
Don't
Using actions specific to tabs
Using actions specific to tabs
Don't
Using actions specific to tabs
Using actions specific to tabs
Do
Using actions specific to tabs
Using actions specific to tabs
Do
Using actions specific to tabs
Using actions specific to tabs

The footer toolbar in the object view floorplan is global. Actions in the footer toolbar must not change when the user switches tabs. If you need to include actions that relate to a specific tab (facet), include them in the tab content. For example, if the tab contains a table, offer actions in a table toolbar.

Flows and Variants

Create

The create action creates a new object. The corresponding button can either be a plus ( ) sign button or a button with a meaningful text (such as Add Product). When the user creates a new object, the display changes to a flat object view in edit mode. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

In the flat object view, users can fill out the details and save the object. After saving, the new object is shown using the standard object view. If the user navigates away from the object without saving the entries made so far, the app warns the user with a data loss dialog.

Edit

We recommend using the flat object view in edit mode (as for the “create” scenario above). When the user clicks or taps the Edit button, the floorplan switches from the display mode with tabs to the edit mode with the flat object view. The Edit button is replaced by the Save and Cancel buttons. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Save or Cancel takes the user back to the display mode of the object view with tabs. Cancel ignores any changes made, while Save keeps the changes. If the user navigates to another object or navigates away from the edit page without saving, the app warns the user with a data loss dialog.

If the object view does not have any tabs, the page keeps its layout and structure in edit mode. For more information, see the manage simple objects.

Exception: If the object view includes tabs, but only a few tabs have editable fields, you can also use in-place editing and keep the structure of the tabs. In this case, the edit button is positioned next to the editable content (see manage parts of an objects for details).

Object view – Edit flow behavior
Object view – Edit flow behavior
Object view on a desktop device
Object view on a desktop device
Edit mode – Object view switches to a flat object view
Edit mode – Object view switches to a flat object view
Attachment tab in an object view – Modeless editing
Attachment tab in an object view – Modeless editing

While the edit mode involves switching to a flat object view, some elements support “modeless” editing. These elements can be changed in both display and edit modes.

For example, adding a new attachment is a one-click action that is guided by a dialog. This action can be triggered without switching to edit mode. Any errors that might occur can be handled during this creation process.

If you do not want to switch to a global edit mode, you can encapsulate your action in a dialog. Example use cases include:

  • Editing certain attributes of an element (use a dialog)
  • Adding line items to a tabular facet (use the plus ( ) button and a dialog or create page)
  • Removing a line item (use a one-click action in the table)

Guidelines

  • Do not switch the actions in the footer toolbar when the user switches tabs. The footer toolbar is global and constant. If you have tab-specific actions, place them in the tab content area.
  • You can hide empty tabs, but only if there is no way of adding content to the tab. For example, you still need to show an empty Attachments tab to enable users to upload attachments.
  • Try to persist the selection state of tabs during a session so that the user finds a similar view while navigating between instances.

Visual Design

The object view floorplan has no visual design of its own, but application design and development should ensure that the margins and paddings are similar to the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the object view on a smartphone
Basic layout of the object view on a smartphone
Basic layout of the object view on a tablet
Basic layout of the object view on a tablet
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop – Split screen
Basic layout of the object view on a desktop – Split screen

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Object View Floorplan

The object view is a floorplan for displaying objects in SAP Fiori.  It can either be embedded in a master-detail app (as in typical approval apps) or shown as a full-screen page. This floorplan offers optimal support for multiple devices.

The object view is suitable for both simple objects and more complex, multi-faceted objects. You can use a tab container to present the information in different categories.

For editing, the layout switches to a flat object view. In other words, all the sections that were presented as tabs appear together on one long page. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Object view on a desktop device with letterboxing
Object view on a desktop device with letterboxing

Usage

Use the object view floorplan if:

  • You have objects with up to 5–7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table appears below the tab area.
  • You are building a typical approval app.
  • You have objects with up to 5–7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table displays below the tab area.
  • You are building a typical approval app.

Do not use the object view floorplan if:

  • You want to keep the same layout when the app switches between create/edit and display modes. In this case, use the flat object view.

Structure

The object view floorplan comprises the following elements, from top to bottom:

  1. Launchpad shell bar: Always available at the top of SAP Fiori apps.
  2. Application header: Reflects the title of the launch tile, such as Manage Products.
  3. Object header
  4. Tabs (optional): If your content falls into different categories, or you want to display different tables, you can embed the content in an icon tab bar.
  5. Content area: The main part of the screen for displaying your data. You can use lists, tables, tree tables, or charts.
  6. Footer toolbar
Structure of object view floorplan
Structure of object view floorplan

Responsiveness & Adaptiveness

Object view floorplan on a phone
Object view floorplan on a phone
Object view floorplan on a tablet
Object view floorplan on a tablet
Object view floorplan on a desktop
Object view floorplan on a desktop

You can use the object view floorplan in both a full screen layout and a split-screen layout.

Object view in a split-screen layout
Object view in a split-screen layout

Flows and Variants

Create

The create action creates a new object. The corresponding button can either be a plus ( ) sign button or a button with a meaningful text (such as Add Product). When the user creates a new object, the display changes to a flat object view in edit mode. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

In the flat object view, users can fill out the details and save the object. After saving, the new object is shown using the standard object view. If the user navigates away from the object without saving the entries made so far, the app warns the user with a data loss dialog.

Edit

We recommend using the flat object view in edit mode (as for the “create” scenario above). When the user clicks or taps the Edit button, the floorplan switches from the display mode with tabs to the edit mode with the flat object view. The Edit button is replaced by the Save and Cancel buttons. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Save or Cancel takes the user back to the display mode of the object view with tabs. Cancel ignores any changes made, while Save keeps the changes. If the user navigates to another object or navigates away from the edit page without saving, the app warns the user with a data loss dialog.

If the object view does not have any tabs, the page keeps its layout and structure in edit mode. For more information, see the manage simple objects.

Exception: If the object view includes tabs, but only a few tabs have editable fields, you can also use in-place editing and keep the structure of the tabs. In this case, the edit button is positioned next to the editable content (see manage parts of an objects for details).

Object view – Edit flow behavior
Object view – Edit flow behavior
Object view on a desktop device
Object view on a desktop device
Edit mode - Object view switches to a flat object view
Edit mode - Object view switches to a flat object view
Attachment tab in an object view - Modeless editing
Attachment tab in an object view - Modeless editing

While the edit mode involves switching to a flat object view, some elements support “modeless” editing. These elements can be changed in both display and edit modes.

For example, adding a new attachment is a one-click action that is guided by a dialog. This action can be triggered without switching to edit mode. Any errors that might occur can be handled during this creation process.

If you do not want to switch to a global edit mode, you can encapsulate your action in a dialog. Example use cases include:

  • Editing certain attributes of an element (use a dialog)
  • Adding line items to a tabular facet (use the plus ( ) button and a dialog or create page)
  • Removing a line item (use a one-click action in the table)

Guidelines

  • Do not switch the actions in the footer toolbar when the user switches tabs. The footer toolbar is global and constant. If you have tab-specific actions, place them in the tab content area.
  • You can hide empty tabs, but only if there is no way of adding content to the tab. For example, you still need to show an empty Attachments tab to enable users to upload attachments.
  • Try to persist the selection state of tabs during a session so that the user finds a similar view while navigating between instances.

Visual Design

The object view floorplan has no visual design of its own, but application design and development should ensure that the margins and paddings are similar to the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the object view on a smartphone
Basic layout of the object view on a smartphone
Basic layout of the object view on a tablet
Basic layout of the object view on a tablet
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop - split screen
Basic layout of the object view on a desktop - split screen

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Object View Floorplan

The object view is a floorplan for displaying objects in SAP Fiori.  It can either be embedded in a master-detail app (as in typical approval apps) or shown as a full-screen page. This floorplan offers optimal support for multiple devices.

The object view is suitable for both simple objects and more complex, multi-faceted objects. You can use a tab container to present the information in different categories.

For editing, the layout switches to a flat object view. In other words, all the sections that were presented as tabs appear together on one long page. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Object view on a desktop device with letterboxing
Object view on a desktop device with letterboxing

Usage

Use the object view floorplan if:

  • You have objects with up to 5–7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table appears below the tab area.
  • You are building a typical approval app.
  • You have objects with up to 5–7 facets.
  • You want to display complex objects with minimal navigation.
  • You want to combine a long table with other object facets, but keep the table visible. In this case, the other aspects are shown as tabs and the table displays below the tab area.
  • You are building a typical approval app.

Do not use the object view floorplan if:

  • You want to keep the same layout when the app switches between create/edit and display modes. In this case, use the flat object view.

Structure

The object view floorplan comprises the following elements, from top to bottom:

  1. Launchpad shell bar: Always available at the top of SAP Fiori apps.
  2. Application header: Reflects the title of the launch tile, such as Manage Products.
  3. Object header
  4. Tabs (optional): If your content falls into different categories, or you want to display different tables, you can embed the content in an icon tab bar.
  5. Content area: The main part of the screen for displaying your data. You can use lists, tables, tree tables, or charts.
  6. Footer toolbar
Structure of object view floorplan
Structure of object view floorplan

Responsiveness & Adaptiveness

Object view floorplan on a phone
Object view floorplan on a phone
Object view floorplan on a tablet
Object view floorplan on a tablet
Object view floorplan on a desktop
Object view floorplan on a desktop

You can use the object view floorplan in both a full screen layout and a split-screen layout.

Object view in a split-screen layout
Object view in a split-screen layout

Tabs

The key element of the object view is the icon tab bar. Each of the tabs shows a certain facet of the object. There are two primary facet types:

  • Form-based facets display attributes of the object in a form layout (for example, object details or contact details).
  • Tabular facets show a list of similar attributes or relationships in a list or table structure (such as attachments, contacts, or products).

You can define tabs as expandable, allowing users to show or hide the tab content as needed.

You can also define the default tab that is selected when the user opens the application – this might not always be the first tab on the left. However, you should ensure that the tab state is consistent for object views of the same type. This gives users a coherent user experience when navigating between object views.

The user can switch between the object facets by just switching tabs. You can display additional information below the tabs.

Object view with text-only tabs
Object view with text-only tabs

In the object view, you can use the following two icon tab bar types:

  1. Icon tabs: Use icons if you only need the standard tabs, such as information, attachments, and notes.
  2. Text only: Use texts if you need tabs for other (non-standard) object facets.

As a simple rule of thumb: if you have to think about which icon fits, use the text-only type.

  • Do not mix the text-only and icon tab types.
  • Do not use separators between the tabs.
  • Do not use any other icon tab bar types (tabs as filters or process steps).
Don't
Using actions specific to tabs
Using actions specific to tabs
Don't
Using actions specific to tabs
Using actions specific to tabs
Do
Using actions specific to tabs
Using actions specific to tabs
Do
Using actions specific to tabs
Using actions specific to tabs

The footer toolbar in the object view floorplan is global. Actions in the footer toolbar must not change when the user switches tabs.

If you need to include actions that relate to a specific tab (facet), include them in the tab content. For example, if the tab contains a table, offer actions in a table toolbar.

Flows and Variants

Create

The create action creates a new object. The corresponding button can either be a plus ( ) sign button or a button with a meaningful text (such as Add Product). When the user creates a new object, the display changes to a flat object view in edit mode. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

In the flat object view, users can fill out the details and save the object. After saving, the new object is shown using the standard object view. If the user navigates away from the object without saving the entries made so far, the app warns the user with a data loss dialog.

Edit

We recommend using the flat object view in edit mode (as for the “create” scenario above). When the user clicks or taps the Edit button, the floorplan switches from the display mode with tabs to the edit mode with the flat object view. The Edit button is replaced by the Save and Cancel buttons. Switching to this flat layout prevents user input and validation errors from being scattered across multiple tabs.

Save or Cancel takes the user back to the display mode of the object view with tabs. Cancel ignores any changes made, while Save keeps the changes. If the user navigates to another object or navigates away from the edit page without saving, the app warns the user with a data loss dialog.

If the object view does not have any tabs, the page keeps its layout and structure in edit mode. For more information, see the manage simple objects.

Exception: If the object view includes tabs, but only a few tabs have editable fields, you can also use in-place editing and keep the structure of the tabs. In this case, the edit button is positioned next to the editable content (see manage parts of an objects for details).

Object view – Edit flow behavior
Object view – Edit flow behavior
Object view on a desktop device
Object view on a desktop device
Edit mode - Object view switches to a flat object view
Edit mode - Object view switches to a flat object view
Attachment tab in an object view - Modeless editing
Attachment tab in an object view - Modeless editing

While the edit mode involves switching to a flat object view, some elements support “modeless” editing. These elements can be changed in both display and edit modes.

For example, adding a new attachment is a one-click action that is guided by a dialog. This action can be triggered without switching to edit mode. Any errors that might occur can be handled during this creation process.

If you do not want to switch to a global edit mode, you can encapsulate your action in a dialog. Example use cases include:

  • Editing certain attributes of an element (use a dialog)
  • Adding line items to a tabular facet (use the plus ( ) button and a dialog or create page)
  • Removing a line item (use a one-click action in the table)

Guidelines

  • Do not switch the actions in the footer toolbar when the user switches tabs. The footer toolbar is global and constant. If you have tab-specific actions, place them in the tab content area.
  • You can hide empty tabs, but only if there is no way of adding content to the tab. For example, you still need to show an empty Attachments tab to enable users to upload attachments.
  • Try to persist the selection state of tabs during a session so that the user finds a similar view while navigating between instances.

Visual Design

The object view floorplan has no visual design of its own, but application design and development should ensure that the margins and paddings are similar to the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the object view on a smartphone
Basic layout of the object view on a smartphone
Basic layout of the object view on a tablet
Basic layout of the object view on a tablet
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop
Basic layout of the object view on a desktop - split screen
Basic layout of the object view on a desktop - split screen

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Overview – Floorplans, Smart Templates (SAP Fiori Elements) and Frameworks

Warning
This article was written for an earlier guideline release, and may contain outdated content. An update is in progress. If you have any questions in the meantime, please post them in our SAP User Experience Community forum. Thank you!

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the app finder, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Floorplan is an umbrella term for the overall SAP Fiori UX concept for floorplans. It covers the different layout types, the structure of the controls used, and how to handle different use cases. Floorplans can be built with SAP Fiori elements, or built from scratch (freestyle apps).

An application contains normally several pages. Every page shows a single floorplan, For example, the user starts by filtering a list in the list report floorplan and from there drills into a detail page showing the object page floorplan.

To get a better idea of the different floorplans, read on below.

Overview of Page Layouts

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

For more information, see full screen layout.

Split-Screen Layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page is set to replace the flat object view floorplan and, in the future, the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan is the original floorplan used to display simple objects in SAP Fiori.  It can either be embedded in a split-screen layout or shown as a full screen page.

This is currently the preferred floorplan for displaying objects. It is especially suitable for smaller objects or objects with tabs that contain larger tables. The object view floorplan has already been used in numerous master-detail apps (such as approval apps), and offers optimal responsiveness.

The object view is optimized for displaying objects. For editing, we recommend switching the page to a flat object view (“edit” page). This prevents user input and validation errors from being scattered across multiple tabs.

For more information, see object view floorplan.

Flat Object View Floorplan

The flat object view floorplan is a flattened version of the object view. Flattened means that the page has no tab containers, and is only structured by a sequence of form groups and tables or other element arrays. This is very similar to the drilldown to line item level in the initial SAP Fiori apps.

Use this floorplan if you want the layout to stay the same when the user switches between display and edit modes.

For more information, see flat object view floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Overview of SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. For more information, see the introduction to SAP Fiori elements.

List Report

List report - SAP Fiori element
List report - SAP Fiori element

The SAP Fiori element list report is an instance of the general list report floorplan implemented as a reusable template. Therefore, the guidelines for the list report generally apply. The list report floorplan allows the user to work with large lists of items and take action.

For more information, see list report floorplan (SAP Fiori element).

Object Page

Object page – SAP Fiori element
Object page – SAP Fiori element

The object page floorplan is used to view, edit, and create objects. The object page can also be implemented as a SAP Fiori element. For details about the general floorplan and the SAP Fiori element, see the object page guidelines.

Overview Page

Overview page - SAP Fiori element
Overview page - SAP Fiori element

Based on a specific domain or role, the overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs to view, filter, and react to data in a one-stop-shop page. The OVP employs cards (containers of content) based on smart template technology as a UI framework for organizing large amounts of information on an equal plane within the page.

For more information, see overview page (SAP Fiori element).

Overview of Frameworks

Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources. Users can interactively explore data step by step from different perspectives to analyze and investigate root causes.

For more information, see Analysis Path Framework.

SAP Smart Business Framework

SAP Smart Business drilldown is an analytical app. It enables the user to view and analyze the data of one key performance indicator (KPI).

For more information, see SAP Smart Business Framework.

Overview – Floorplans, SAP Fiori Elements and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the app finder, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Floorplan is an umbrella term for the overall SAP Fiori UX concept for floorplans. It covers the different layout types, the structure of the controls used, and how to handle different use cases. Floorplans can be built with SAP Fiori elements, or built from scratch (freestyle apps).

An application contains normally several pages. Every page shows a single floorplan, For example, the user starts by filtering a list in the list report floorplan and from there drills into a detail page showing the object page floorplan.

To get a better idea of the different floorplans, read on below.

Overview of Page Layouts

Dynamic Page Layout

Dynamic page layout
Dynamic page layout

The dynamic page is a new layout control and it is designed in a way to support various floorplans and use cases. The layout is full responsive and will be the successor of the full screen layout with additional functionality to have a coherent and consistent snapping header concept that can be adapted throughout all floorplans.

For more information, see dynamic page layout.

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

The new layout for displaying pages in full screen is the dynamic page layout. The dynamic page layout offers more flexibility and integrates features like the snapping header. It is the successor of the full screen layout. Please, check if you could use the dynamic page layout instead. From wave 1.44 (1702) on the full screen layout will be deprecated.

For more information, see full screen layout.

Split-Screen Layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page replaced the flat object view floorplan and the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan was the original floorplan used to display simple objects in SAP Fiori. It has since been replaced by the more comprehensive object page floorplan.

From guideline version 1.42, the object view floorplan is only allowed in combination with the icon tab bar.

For more information, see object view floorplan.

Overview of SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. For more information, see the introduction to SAP Fiori elements.

List Report

List report - SAP Fiori element
List report - SAP Fiori element

The SAP Fiori element list report is an instance of the general list report floorplan implemented as a reusable template. Therefore, the guidelines for the list report generally apply. The list report floorplan allows the user to work with large lists of items and take action.

For more information, see list report floorplan (SAP Fiori element).

Object Page

Object page – SAP Fiori element
Object page – SAP Fiori element

The object page floorplan is used to view, edit, and create objects. The object page can also be implemented as a SAP Fiori element. For details about the general floorplan and the SAP Fiori element, see the object page guidelines.

Overview Page

Overview page - SAP Fiori element
Overview page - SAP Fiori element

Based on a specific domain or role, the overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs to view, filter, and react to data in a one-stop-shop page. The OVP employs cards (containers of content) based on smart template technology as a UI framework for organizing large amounts of information on an equal plane within the page.

For more information, see overview page (SAP Fiori element).

Overview of Frameworks

Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources. Users can interactively explore data step by step from different perspectives to analyze and investigate root causes.

For more information, see Analysis Path Framework.

SAP Smart Business Framework

SAP Smart Business drilldown is an analytical app. It enables the user to view and analyze the data of one key performance indicator (KPI).

For more information, see SAP Smart Business Framework.

Overview – Floorplans, Smart Templates (SAP Fiori Elements) and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the tile catalog, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Overview of Page Layouts

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

For more information, see full screen layout.

Split-Screen Layout

Split-screen layout
Split-screen layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page is set to replace the flat object view floorplan and, in the future, the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan is the original floorplan used to display simple objects in SAP Fiori.  It can either be embedded in a split-screen layout or shown as a full screen page.

This is currently the preferred floorplan for displaying objects. It is especially suitable for smaller objects or objects with tabs that contain larger tables. The object view floorplan has already been used in numerous master-detail apps (such as approval apps), and offers optimal responsiveness.

The object view is optimized for displaying objects. For editing, we recommend switching the page to a flat object view (“edit” page). This prevents user input and validation errors from being scattered across multiple tabs.

For more information, see object view floorplan.

Flat Object View Floorplan

Flat object view floorplan
Flat object view floorplan

The flat object view floorplan is a flattened version of the object view. Flattened means that the page has no tab containers, and is only structured by a sequence of form groups and tables or other element arrays. This is very similar to the drilldown to line item level in the initial SAP Fiori apps.

Use this floorplan if you want the layout to stay the same when the user switches between display and edit modes.

For more information, see flat object view floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Overview – Floorplans, Smart Templates (SAP Fiori Elements) and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the tile catalog, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Floorplan is an umbrella term for the overall SAP Fiori UX concept for floorplans. It covers the different layout types, the structure of the controls used, and how to handle different use cases. Floorplans can be built with smart templates, or built from scratch (freestyle apps).

An application contains normally several pages. Every page shows a single floorplan, For example, the user starts by filtering a list in the list report floorplan and from there drills into a detail page showing the object page floorplan.

To get a better idea of the different floorplans, read on below.

Overview of Page Layouts

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

For more information, see full screen layout.

Split-Screen Layout

Split-screen layout
Split-screen layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page is set to replace the flat object view floorplan and, in the future, the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan is the original floorplan used to display simple objects in SAP Fiori.  It can either be embedded in a split-screen layout or shown as a full screen page.

This is currently the preferred floorplan for displaying objects. It is especially suitable for smaller objects or objects with tabs that contain larger tables. The object view floorplan has already been used in numerous master-detail apps (such as approval apps), and offers optimal responsiveness.

The object view is optimized for displaying objects. For editing, we recommend switching the page to a flat object view (“edit” page). This prevents user input and validation errors from being scattered across multiple tabs.

For more information, see object view floorplan.

Flat Object View Floorplan

Flat object view floorplan
Flat object view floorplan

The flat object view floorplan is a flattened version of the object view. Flattened means that the page has no tab containers, and is only structured by a sequence of form groups and tables or other element arrays. This is very similar to the drilldown to line item level in the initial SAP Fiori apps.

Use this floorplan if you want the layout to stay the same when the user switches between display and edit modes.

For more information, see flat object view floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Overview of Smart Templates

Smart templates provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. For more information, see the introduction to smart templates.

List Report

List report
List report

The smart template list report floorplan is an instance of the general list report floorplan implemented as a reusable template. Therefore, the guidelines for the list report generally apply. The list report floorplan allows the user to work with large lists of items and take action. To get an overview of the general approach of smart templates, see the smart templates overview.

For more information, see smart template list report floorplan.

Object Page

Object page floorplan
Object page floorplan

The object page floorplan is used to view, edit, and create objects. This article describes the current implementation of the object page as a smart template. For details about the general floorplan, see the object page guidelines.

For more information, see smart template object page floorplan.

Overview Page

Overview page
Overview page

Based on a specific domain or role, the overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs to view, filter, and react to data in a one-stop-shop page. The OVP employs cards (containers of content) based on smart template technology as a UI framework for organizing large amounts of information on an equal plane within the page.

For more information, see smart template overview page.

Overview of Frameworks

Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources. Users can interactively explore data step by step from different perspectives to analyze and investigate root causes.

For more information, see Analysis Path Framework.

SAP Smart Business Framework

SAP Smart Business drilldown is an analytical app. It enables the user to view and analyze the data of one key performance indicator (KPI).

For more information, see SAP Smart Business Framework.

Overview – Floorplans, Smart Templates (SAP Fiori Elements) and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the app finder, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Floorplan is an umbrella term for the overall SAP Fiori UX concept for floorplans. It covers the different layout types, the structure of the controls used, and how to handle different use cases. Floorplans can be built with SAP Fiori elements, or built from scratch (freestyle apps).

An application contains normally several pages. Every page shows a single floorplan, For example, the user starts by filtering a list in the list report floorplan and from there drills into a detail page showing the object page floorplan.

To get a better idea of the different floorplans, read on below.

Overview of Page Layouts

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

For more information, see full screen layout.

Split-Screen Layout

Split-screen layout
Split-screen layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page is set to replace the flat object view floorplan and, in the future, the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan is the original floorplan used to display simple objects in SAP Fiori.  It can either be embedded in a split-screen layout or shown as a full screen page.

This is currently the preferred floorplan for displaying objects. It is especially suitable for smaller objects or objects with tabs that contain larger tables. The object view floorplan has already been used in numerous master-detail apps (such as approval apps), and offers optimal responsiveness.

The object view is optimized for displaying objects. For editing, we recommend switching the page to a flat object view (“edit” page). This prevents user input and validation errors from being scattered across multiple tabs.

For more information, see object view floorplan.

Flat Object View Floorplan

Flat object view floorplan
Flat object view floorplan

The flat object view floorplan is a flattened version of the object view. Flattened means that the page has no tab containers, and is only structured by a sequence of form groups and tables or other element arrays. This is very similar to the drilldown to line item level in the initial SAP Fiori apps.

Use this floorplan if you want the layout to stay the same when the user switches between display and edit modes.

For more information, see flat object view floorplan.

Wizard Floorplan

Wizard floorplan
Wizard floorplan

The wizard floorplan guides users through long and/or unfamiliar tasks by dividing the task into sections and guiding the users through the different sections. The wizard comprises a walk-through screen, where the form sections are sequentially revealed as they are completed, and a summary page, where the form is displayed in read-only mode for assessment and final submission. This floorplan can be used in both full screen and split screen layouts.

For more information, see wizard floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Overview of Smart Templates

Smart templates provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. For more information, see the introduction to smart templates.

List Report

List report
List report

The smart template list report floorplan is an instance of the general list report floorplan implemented as a reusable template. Therefore, the guidelines for the list report generally apply. The list report floorplan allows the user to work with large lists of items and take action. To get an overview of the general approach of smart templates, see the smart templates overview.

For more information, see smart template list report floorplan.

Object Page

Object page floorplan
Object page floorplan

The object page floorplan is used to view, edit, and create objects. This article describes the current implementation of the object page as a smart template. For details about the general floorplan, see the object page guidelines.

For more information, see Object Page (Floorplan + SAP Fiori Element).

Overview Page

Overview page
Overview page

Based on a specific domain or role, the overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs to view, filter, and react to data in a one-stop-shop page. The OVP employs cards (containers of content) based on smart template technology as a UI framework for organizing large amounts of information on an equal plane within the page.

For more information, see smart template overview page.

Overview of Frameworks

Analysis Path Framework

Analysis Path Framework (APF) is a framework for creating interactive, chart-oriented analytical drilldown apps by configuration. APF-based apps enable the user to view and analyze the data of several key performance indicators (KPIs) from different data sources. Users can interactively explore data step by step from different perspectives to analyze and investigate root causes.

For more information, see Analysis Path Framework.

SAP Smart Business Framework

SAP Smart Business drilldown is an analytical app. It enables the user to view and analyze the data of one key performance indicator (KPI).

For more information, see SAP Smart Business Framework.

Overview – Floorplans, Smart Templates (SAP Fiori Elements) and Frameworks

SAP Fiori has a simple user interface hierarchy, designed to support users in the best possible way. In general, the SAP Fiori launchpad is the entry point for the user. All the apps available to a user are presented as tiles in the tile catalog, while the home page shows a personalized view of tiles the user has selected. The shell bar offers an enterprise search and other services, which are available across all apps.

Most app designs are based on one of the two basic page layouts that we call split-screen layout and full screen layout. These basic page layouts can be used with a range of different floorplans.

Overview of Page Layouts

Full Screen Layout

Full screen layout
Full screen layout

The full screen layout uses the full width of the screen to display the app content. This layout provides maximum flexibility while maintaining the look and feel of SAP Fiori. The full screen layout is ideal for displaying wide tables with four or more columns, and for showing various types of information on one page. However, it is difficult to ensure that the layout is responsive due to the immense differences between a widescreen desktop and a mobile phone.

For more information, see full screen layout.

Split-Screen Layout

Split-screen layout
Split-screen layout

The split-screen layout is one of the most widely used and stable layouts in SAP Fiori. Use this layout if the user needs to switch easily between different work items. The master list on the left shows key information for each item, while the content area on the right shows the details and available actions. This layout lets the user work down the list without additional navigation. On a phone (or when the screen becomes too narrow), the master list and the details are split into two separate pages and the user navigates between the two.

For more information, see split-screen layout.

Overview of Edit Page Floorplans

Create Page Floorplan

Create page floorplan
Create page floorplan

The create page floorplan is the simplest way to create new objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users create the content in place, or by branching off into separate create screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see create page floorplan.

Edit Page Floorplan

Edit page floorplan
Edit page floorplan

The edit page floorplan is the simplest way to edit existing objects. It can either be used as a standalone in a full screen app, or as part of a split-screen layout. The floorplan is a regular form with multiple sections containing forms and tables. Users edit the content in place, or by branching off into separate edit screens (for example, to add items to a table).

The flow of the form should follow the logic for creating the respective object. For validation, forms use in-place messages that appear directly by the fields.

For more information, see edit page floorplan.

Edit with Subpages

Edit with subpages
Edit with subpages

You can choose one of the following two edit flows:

  • Local edit flow is an edit mode that is used locally (for just one page at a time).
  • Global edit flow is an edit mode that allows users to seamlessly edit multiple subpages that are linked to a main page.

Local edit flow: Pressing the Edit button switches the current page to edit mode. To navigate away from the page while in edit mode, the user has to either save his or her changes, or discard them (a data loss message will be shown).

Global edit flow: Pressing the Edit button on the main page switches this page and every subpage linked to it to edit mode. The user can navigate freely between these pages while editing. There is no Save function in the subpages. Any changes are saved temporarily in the background. The only function available is Discard Changes, which discards the changes made on the subpage.

After editing, the user has to navigate back to the main page and click the Save button, or discard all the changes by pressing Cancel. If the user tries to navigate away from the main page (but not to a subpage), or clicks Cancel on the main page, a data loss message is shown.

You can check out sample interactions for both edit flows in this Axure prototype (click dummy).

For more information, see editing with subpages.

Overview of Floorplans

Dynamic Side Content

Dynamic side content layout
Dynamic side content layout

The dynamic side content layout is a control that allows additional content – such as a timeline, chat, and additional information – to be displayed in a way that flexibly adapts to different screen sizes. The behavior of the control on smaller screen sizes can be configured by app development following the guidelines.

For more information, see dynamic side content.

Initial Page Floorplan

Initial page floorplan
Initial page floorplan

Use the initial page floorplan if the user has to navigate directly to one object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (for example, value help and search as you type). If you need to display more than one object, use the list report floorplan instead.

For more information, see initial page floorplan.

List Report Floorplan

List report floorplan
List report floorplan

The list report floorplan allows the user to work with large lists of items and take action. This floorplan combines powerful filtering capabilities for large amounts of data with diverse and useful ways to display the resulting item list. This floorplan can only be used in the full screen layout.

For more information, see list report floorplan.

Object Page Floorplan

Object page floorplan
Object page floorplan

The object page floorplan is used to represent objects in SAP Fiori. The object page is set to replace the flat object view floorplan and the object view floorplan. New features in the object page, such as flexible headers, an alternative anchor, tab navigation, and a flexible responsive layout, enable you to adapt it for a wide range of use cases.

For more information, see object page floorplan.

Object View Floorplan

Object view floorplan
Object view floorplan

The object view floorplan is the original floorplan used to display simple objects in SAP Fiori.  It can either be embedded in a split-screen layout or shown as a full screen page.

This is currently the preferred floorplan for displaying objects. It is especially suitable for smaller objects or objects with tabs that contain larger tables. The object view floorplan has already been used in numerous master-detail apps (such as approval apps), and offers optimal responsiveness.

The object view is optimized for displaying objects. For editing, we recommend switching the page to a flat object view (“edit” page). This prevents user input and validation errors from being scattered across multiple tabs.

For more information, see object view floorplan.

Flat Object View Floorplan

Flat object view floorplan
Flat object view floorplan

The flat object view floorplan is a flattened version of the object view. Flattened means that the page has no tab containers, and is only structured by a sequence of form groups and tables or other element arrays. This is very similar to the drilldown to line item level in the initial SAP Fiori apps.

Use this floorplan if you want the layout to stay the same when the user switches between display and edit modes.

For more information, see flat object view floorplan.

Worklist Floorplan

Worklist floorplan
Worklist floorplan

The worklist floorplan displays a collection of items to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In general, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

For more information, see worklist floorplan.

Initial Page Floorplan

The initial page floorplan allows the user to navigate to a single object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (using features such as value help and live search). If you need to display more than one object, use the list report floorplan instead.

Initial screen - Empty state
Initial screen - Empty state
Initial screen - Showing object
Initial screen - Showing object

Usage

Use the initial page floorplan if the user only needs to work on one object at a time. In this case, the list report floorplan would include a redundant step for viewing a list of items found by the search.

A typical use case for the initial page floorplan is a barcode scanning app, where each new scan leads to an object with input fields. Once the user has submitted the entries, the screen is shown in read-only mode. The cursor returns to the input field, ready for the user to scan the next object.

Do not use the initial screen floorplan if the search is supposed to return a list of objects. This is the scenario for the list report floorplan.

It is also advisable to use only one input field for finding the object. If you need to include detail views, or allow the user to switch between views, offer these features when displaying the object itself.

Structure

The initial page layout is based on the full screen layout, and uses this same structure. The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as “Manage Products”. However, instead of showing an object header or filter bar in the header section, the initial page displays only an input field. If value help is offered, it is shown in a dialog control. The content area is used to display the object. The object should be displayed following one of the floorplans outlined in the guidelines.

Structure of the initial screen
Structure of the initial screen

Responsiveness

The initial page features a single interaction point for the user: the input field near the top of the screen. Place the input field inside the header section. Configure the width to fit the width of the longest text (allowing some additional space for other languages), but do not make it significantly wider. When you set the maximum width of the input field, also consider the width available on mobile devices.

The field should never be as wide as the screen (except on smartphone screens).

Responsiveness of the Value Help Dialog

Currently, there is no smartphone support for the value help dialog. For smartphones, use the select dialog (simple version of the value help dialog) based on the sap.m.SelectDialog control.

Initial page floorplan in size S
Initial page floorplan in size S
Initial page floorplan in size M
Initial page floorplan in size M
Initial page floorplan in size L
Initial page floorplan in size L

Flows and Interaction

Initial Screen with Live Search

The input field serves as the single starting point for finding the object. The assisted input uses the live search or the value help dialog to speed up the search. The live search feature can show anything from one attribute to an entire table of values. It is possible to show a message such as “Enter ID manually or scan barcode” using the message page to guide the user.

Initial Screen with Value Help Dialog

If multiple hits are possible for the same search terms, you may need to implement a value help dialog. This dialog lets the user narrow down the list of items based on more specific criteria. When the user selects an object from the list, the dialog closes and the object is displayed in the content area (no additional navigation is required).

Behavior of the Search Field

The input field is in the header section of the page, but does not remain there when the page is scrolled downwards. The field does not appear when a subpage is opened.

Once the page has loaded, the search field should be on focus if no other additional action is provided. This allows the user to enter the search term directly without clicking into the field. You should only consider using this if there are no other elements that could be blocked by it, such as the on-screen keyboard on touch devices.

Behavior of the search field
Behavior of the search field
Behavior of the search field
Behavior of the search field

If the user enters new search terms in the input field, the focus moves away from the field and the app triggers a new search. If no results are found, the user sees a blank page with a corresponding message. If the input field is left blank, no message is shown.

If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field

Visual Design

Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a desktop
Basic layout of the initial page floorplan on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Initial Page Floorplan

The initial page floorplan allows the user to navigate to a single object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (using features such as value help and live search). If you need to display more than one object, use the list report floorplan instead.

Initial screen - Empty state
Initial screen - Empty state
Initial screen - Showing object
Initial screen - Showing object

Usage

Use the initial page floorplan if the user only needs to work on one object at a time. In this case, the list report floorplan would include a redundant step for viewing a list of items found by the search.

A typical use case for the initial page floorplan is a barcode scanning app, where each new scan leads to an object with input fields. Once the user has submitted the entries, the screen is shown in read-only mode. The cursor returns to the input field, ready for the user to scan the next object.

Do not use the initial screen floorplan if the search is supposed to return a list of objects. This is the scenario for the list report floorplan.

It is also advisable to use only one input field for finding the object. If you need to include detail views, or allow the user to switch between views, offer these features when displaying the object itself.

Structure

The initial page layout is based on the full screen layout, and uses this same structure. The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as “Manage Products”. However, instead of showing an object header or filter bar in the header section, the initial page displays only an input field. If value help is offered, it is shown in a dialog control. The content area is used to display the object. The object should be displayed following one of the floorplans outlined in the guidelines.

Structure of the initial screen
Structure of the initial screen

Responsiveness

The initial page features a single interaction point for the user: the input field near the top of the screen. Place the input field inside the header section. Configure the width to fit the width of the longest text (allowing some additional space for other languages), but do not make it significantly wider. When you set the maximum width of the input field, also consider the width available on mobile devices.

The field should never be as wide as the screen (except on smartphone screens).

Responsiveness of the Value Help Dialog

Currently, there is no smartphone support for the value help dialog. For smartphones, use the select dialog (simple version of the value help dialog) based on the sap.m.SelectDialog control.

Initial page floorplan in size S
Initial page floorplan in size S
Initial page floorplan in size M
Initial page floorplan in size M
Initial page floorplan in size L
Initial page floorplan in size L

Flows and Interaction

Initial Screen with Live Search

The input field serves as the single starting point for finding the object. The assisted input uses the live search or the value help dialog to speed up the search. The live search feature can show anything from one attribute to an entire table of values. It is possible to show a message such as “Enter ID manually or scan barcode” using the message page to guide the user.

Initial Screen with Value Help Dialog

If multiple hits are possible for the same search terms, you may need to implement a value help dialog. This dialog lets the user narrow down the list of items based on more specific criteria. When the user selects an object from the list, the dialog closes and the object is displayed in the content area (no additional navigation is required).

Behavior of the Search Field

The input field is in the header section of the page, but does not remain there when the page is scrolled downwards. The field does not appear when a subpage is opened.

Once the page has loaded, the search field should be on focus if no other additional action is provided. This allows the user to enter the search term directly without clicking into the field. You should only consider using this if there are no other elements that could be blocked by it, such as the on-screen keyboard on touch devices.

Behavior of the search field
Behavior of the search field
Behavior of the search field
Behavior of the search field

If the user enters new search terms in the input field, the focus moves away from the field and the app triggers a new search. If no results are found, the user sees a blank page with a corresponding message. If the input field is left blank, no message is shown.

If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field

Visual Design

Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a desktop
Basic layout of the initial page floorplan on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Initial Page Floorplan

The initial page floorplan allows the user to navigate to a single object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (using features such as value help and live search). If you need to display more than one object, use the list report floorplan instead.

Initial screen - Empty state
Initial screen - Empty state
Initial screen - Showing object
Initial screen - Showing object

Usage

Use the initial page floorplan if the user only needs to work on one object at a time. In this case, the list report floorplan would include a redundant step for viewing a list of items found by the search.

A typical use case for the initial page floorplan is a barcode scanning app, where each new scan leads to an object with input fields. Once the user has submitted the entries, the screen is shown in read-only mode. The cursor returns to the input field, ready for the user to scan the next object.

Do not use the initial screen floorplan if the search is supposed to return a list of objects. This is the scenario for the list report floorplan.

It is also advisable to use only one input field for finding the object. If you need to include detail views, or allow the user to switch between views, offer these features when displaying the object itself.

Structure

The initial page layout is based on the full screen layout, and uses this same structure. The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as “Manage Products”. However, instead of showing an object header or filter bar in the header section, the initial page displays only an input field. If value help is offered, it is shown in a dialog control. The content area is used to display the object. The object should be displayed following one of the floorplans outlined in the guidelines.

Structure of the initial screen
Structure of the initial screen

Responsiveness

The initial page features a single interaction point for the user: the input field near the top of the screen. Place the input field inside the header section. Configure the width to fit the width of the longest text (allowing some additional space for other languages), but do not make it significantly wider.  When you set the maximum width of the input field, also consider the width available on mobile devices.

The field should never be as wide as the screen (except for on smartphone screens).

Initial page floorplan in size S
Initial page floorplan in size S
Initial page floorplan in size M
Initial page floorplan in size M
Initial page floorplan in size L
Initial page floorplan in size L

Flows and Interaction

Initial Screen with Live Search

The input field serves as the single starting point for finding the object. The assisted input uses the live search or the value help dialog to speed up the search. The live search feature can show anything from one attribute to an entire table of values. It is possible to show a message such as “Enter ID manually or scan barcode” using the message page to guide the user.

Initial Screen with Value Help Dialog

If multiple hits are possible for the same search terms, you may need to implement a value help dialog. This dialog lets the user narrow down the list of items based on more specific criteria. When the user selects an object from the list, the dialog closes and the object is displayed in the content area (no additional navigation is required).

Behavior of the Search Field

The input field is in the header section of the page, but does not remain there when the page is scrolled downwards. The field does not appear when a subpage is opened.

Once the page has loaded, the search field should be on focus if no other additional action is provided. This allows the user to enter the search term directly without clicking into the field. You should only consider using this if there are no other elements that could be blocked by it, such as the on-screen keyboard on touch devices.

Behavior of the search field
Behavior of the search field
Behavior of the search field
Behavior of the search field

If the user enters new search terms in the input field, the focus moves away from the field and the app triggers a new search. If no results are found, the user sees a blank page with a corresponding message. If the input field is left blank, no message is shown.

If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field

Visual Design

Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a smartphone
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a tablet
Basic layout of the initial page floorplan on a desktop
Basic layout of the initial page floorplan on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Initial Page Floorplan

The initial page floorplan allows the user to navigate to a single object to view or edit it. The interaction point on the screen is a single input field that relies on assisted input to direct the user to the object in as few steps as possible (using features such as value help and live search). If you need to display more than one object, use the list report floorplan instead.

Initial screen – Empty state
Initial screen – Empty state
Initial screen – Showing object
Initial screen – Showing object

Usage

Use the initial page floorplan if the user only needs to work on one object at a time. In this case, the list report floorplan would include a redundant step for viewing a list of items found by the search.

A typical use case for the initial page floorplan is a barcode scanning app, where each new scan leads to an object with input fields. Once the user has submitted the entries, the screen is shown in read-only mode. The cursor returns to the input field, ready for the user to scan the next object.

Do not use the initial screen floorplan if the search is supposed to return a list of objects. This is the scenario for the list report floorplan.

It is also advisable to use only one input field for finding the object. If you need to include detail views, or allow the user to switch between views, offer these features when displaying the object itself.

Structure

The initial page layout is based on the full screen layout, and uses this same structure. The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (application header) reflects the title of the launch tile, such as “Manage Products”. However, instead of showing an object header or filter bar in the header section, the initial page displays only an input field. If value help is offered, it is shown in a dialog control. The content area is used to display the object. The object should be displayed following one of the floorplans outlined in the guidelines.

Structure of the initial screen
Structure of the initial screen

Responsiveness

The initial page features a single interaction point for the user: the input field near the top of the screen. Place the input field inside the header section. Configure the width to fit the width of the longest text (allowing some additional space for other languages), but do not make it significantly wider.  When you set the maximum width of the input field, also consider the width available on mobile devices.

The field should never be as wide as the screen (except for on smartphone screens).

Initial page floorplan in size S
Initial page floorplan in size S
Initial page floorplan in size M
Initial page floorplan in size M
Initial page floorplan in size XL
Initial page floorplan in size XL

Flows and Interaction

Initial Screen with Live Search

The input field serves as the single starting point for finding the object. The assisted input uses the live search feature (search-as-you-type) to speed up the search. The live search feature can show anything from one attribute to an entire table of values. It is possible to show a message such as “Enter ID manually or scan barcode” using the message page to guide the user.

Initial Screen with Value Help Dialog

If multiple hits are possible for the same search terms, you may need to implement a value help dialog. This dialog lets the user narrow down the list of items based on more specific criteria. When the user selects an object from the list, the dialog closes and the object is displayed in the content area (no additional navigation is required).

Behavior of the Search Field

The input field is located in the header area of the page, but moves down the page when the user scrolls down. The field does not appear when a subpage is opened.

Once the page has loaded, the search field should be on focus if no other additional action is provided. This allows the user to enter the search term directly without clicking into the field. You should only consider using this if there are no other elements that could be blocked by it, such as the on-screen keyboard on touch devices.

Behavior of the search field
Behavior of the search field

If the user enters new search terms in the input field, the focus moves away from the field and the app triggers a new search. If no results are found, the user sees a blank page with a corresponding message. If the input field is left blank, no message is shown.

If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If the search term is deleted and focus moves away from the input field (or Enter is clicked), the screen becomes blank again
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field
If a search is executed but no documents are found, the screen becomes blank again and an orange warning appears around the input field

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Split-Screen Layout

The split-screen layout is optimized for displaying and processing a list of items. On the left, users can quickly scan and navigate through the list. On the right, they see the details of the selected item, and can trigger related actions or edit the data.

Split-screen layout
Split-screen layout

Usage

Use the split-screen layout if:

  • Your users need to review and process different items quickly with minimal navigation.

Do not use the split-screen layout if:

  • You need to offer complex filters for the list of items.
  • Users need to see different attributes for each item in the list, and compare these values across items.
  • You want to display a single object. Do not use the master list to display different facets of the same object.

Structure

Split-screen layout – Structure
Split-screen layout – Structure

Like all layouts, the split-screen layout is embedded in the shell bar of the SAP Fiori launchpad. From the header, users have access to the launchpad services, including the home page, search, settings, and help. Apps are embedded in the shell and have little influence over its features.

The split-screen layout is divided into two separate areas:

  • Master list area: The master list displays the items available to the user. The master list title shows the item type in the plural form and the number of items, such as Products (115). The user can navigate between the items, perform a basic search, and organize the list using sort, filter, and grouping functions. Currently, only the master list is allowed in this area. For more details, see the master list pattern.
  • Details area: This content area displays the details for single or multiple items that are selected in the master list. The title of the details area normally shows the item type in the singular form, such as Product. Exceptions are selecting or editing multiple items in the master list. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, (2 of 5). The details area can contain one of the following floorplans:

Both areas have separate app headers and footer bars with navigation and actions.

Split-screen layout – Two independent scrolling areas
Split-screen layout – Two independent scrolling areas

The split-screen layout has two independent scrolling areas: the master list area and the details area. To implement the split-screen layout, you can use the sap.m.SplitApp control.

Navigation

Typical navigation within the details area
Typical navigation within the details area

The split-screen layout has two independent navigation containers. Drilldown capabilities and back navigation are supported in both the master list and the details area. For details on navigating in the master list, see the master list pattern.

In the details area, the user can drill down to the details of the main object within the app. Do not offer navigation to other apps from either of the split screen areas.

For example, the main item in the details area might be a shopping cart. A shopping cart contains multiple products. Within the details area, the user can navigate from the list of products in the shopping cart to the details for a single product. To navigate back to the shopping cart, the user clicks or taps the back arrow that appears at the top of the details area. In addition, apps should offer iterators (up/down arrows in the app header) to help users navigate more easily between products.

Drilldown and back navigation in the details area
Drilldown and back navigation in the details area

Responsiveness

Split-screen layout on a phone
Split-screen layout on a phone
Split-screen layout on a tablet
Split-screen layout on a tablet
Split-screen layout on a desktop device
Split-screen layout on a desktop device

On narrow screens for phones (or tablet devices in portrait mode), the master list and the details are split into two separate pages. The user navigates between the list and details, and can see all the available information for each.

The split-screen layout comes with built-in logic to respond to different device types, which reduces the development effort. This is an advantage over the full screen layout, which needs to be adapted manually by the app development team.

Split-screen layout with letterboxing on a desktop device
Split-screen layout with letterboxing on a desktop device

To further reduce the difference in width, you can make use of letterboxing to limit the maximum width of the app.

Examples

Reference App Manage Products

Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a desktop device
Reference app ''Manage Products'' on a desktop device

The reference app highlights how the user can navigate between the master list and the product details. The user selects a product in the master list and navigates to the product details. By selecting the back navigation, the user returns to the master list.

On a tablet, the master list and details can already be shown side by side. The user selects an item in the master list and it is displayed in the details.

However, when the tablet is turned into portrait mode, similar behavior occurs as on the smartphone. This time, the list can be called up from a menu in the top left-hand corner of the screen and it overlays the details area. The list disappears when the user makes a selection.

Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner
Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Split-Screen Layout

The split-screen layout is optimized for displaying and processing a list of items. On the left, users can quickly scan and navigate through the list. On the right, they see the details of the selected item, and can trigger related actions or edit the data.

Split-screen layout
Split-screen layout

Usage

Use the split-screen layout if:

  • Your users need to review and process different items quickly with minimal navigation.

Do not use the split-screen layout if:

  • You need to offer complex filters for the list of items.
  • Users need to see different attributes for each item in the list, and compare these values across items.
  • You want to display a single object. Do not use the master list to display different facets of the same object.

Structure

Split-screen layout – Structure
Split-screen layout – Structure

Like all layouts, the split-screen layout is embedded in the shell bar of the SAP Fiori launchpad. From the header, users have access to the launchpad services, including the home pagesearchsettings, and help. Apps are embedded in the shell and have little influence over its features.

The split-screen layout is divided into two separate areas:

  • Master list area: The master list displays the items available to the user. The master list title shows the item type in the plural form and the number of items, such as Products (115). The user can navigate between the items, perform a basic search, and organize the list using sort, filter, and grouping functions. Currently, only the master list is allowed in this area. For more details, see the Master List
  • Details area: This content area displays the details for single or multiple items that are selected in the master list. The title of the details area normally shows the item type in the singular form, such asProduct. Exceptions are selecting or editing multiple items in the master list. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, (2 of 5). The details area can contain one of the following floorplans:

Both areas have separate app headers and footer bars with navigation and actions.

Split-screen layout – Two independent scrolling areas
Split-screen layout – Two independent scrolling areas

The split-screen layout has two independent scrolling areas: the master list area and the details area. To implement the split-screen layout, you can use the sap.m.SplitApp control.

Navigation

Typical navigation within the details area
Typical navigation within the details area

The split-screen layout has two independent navigation containers. Drilldown capabilities and back navigation are supported in both the master list and the details area. For details on navigating in the master list, see the master list pattern.

In the details area, the user can drill down to the details of the main object within the app. Do not offer navigation to other apps from either of the split screen areas.

For example, the main item in the details area might be a shopping cart. A shopping cart contains multiple products. Within the details area, the user can navigate from the list of products in the shopping cart to the details for a single product. To navigate back to the shopping cart, the user clicks or taps the back arrow that appears at the top of the details area. In addition, apps should offer iterators (up/down arrows in the app header) to help users navigate more easily between products.

Drilldown and back navigation in the details area
Drilldown and back navigation in the details area

Responsiveness

Split-screen layout on a phone
Split-screen layout on a phone
Split-screen layout on a tablet
Split-screen layout on a tablet
Split-screen layout on a desktop device
Split-screen layout on a desktop device

On narrow screens for phones (or tablet devices in portrait mode), the master list and the details are split into two separate pages. The user navigates between the list and details, and can see all the available information for each.

The split-screen layout comes with built-in logic to respond to different device types, which reduces the development effort. This is an advantage over the full screen layout, which needs to be adapted manually by the app development team.

Split-screen layout with letterboxing on a desktop device
Split-screen layout with letterboxing on a desktop device

To further reduce the difference in width, you can make use of letterboxing to limit the maximum width of the app.

Examples

Reference App Manage Products

Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a desktop device
Reference app ''Manage Products'' on a desktop device

The reference app highlights how the user can navigate between the master list and the product details. The user selects a product in the master list and navigates to the product details. By selecting the back navigation, the user returns to the master list.

On a tablet, the master list and details can already be shown side by side. The user selects an item in the master list and it is displayed in the details.

However, when the tablet is turned into portrait mode, similar behavior occurs as on the smartphone. This time, the list can be called up from a menu in the top left-hand corner of the screen and it overlays the details area. The list disappears when the user makes a selection.

Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner
Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Split-Screen Layout

The split-screen layout is optimized for displaying and processing a list of items. On the left, users can quickly scan and navigate through the list. On the right, they see the details of the selected item, and can trigger related actions or edit the data.

Split-screen layout
Split-screen layout

Usage

Use the split-screen layout if:

  • Your users need to review and process different items quickly with minimal navigation.

Do not use the split-screen layout if:

  • You need to offer complex filters for the list of items.
  • Users need to see different attributes for each item in the list, and compare these values across items.
  • You want to display a single object. Do not use the master list to display different facets of the same object.

Structure

Split-screen layout – Structure
Split-screen layout – Structure

Like all layouts, the split-screen layout is embedded in the shell bar of the SAP Fiori launchpad. From the header, users have access to the launchpad services, including the home page, search, settings, and help. Apps are embedded in the shell and have little influence over its features.

The split-screen layout is divided into two separate areas:

  • Master list area: The master list displays the items available to the user. The master list title shows the item type in the plural form and the number of items, such as Products (115). The user can navigate between the items, perform a basic search, and organize the list using sort, filter, and grouping functions. Currently, only the master list is allowed in this area. For more details, see the Master List pattern.
  • Details area: This content area displays the details for single or multiple items that are selected in the master list. The title of the details area normally shows the item type in the singular form, such as Product. Exceptions are selecting or editing multiple items in the master list. From here, the user can drill down to subpages (line items). The title of the subpage shows, for example, (2 of 5). The details area can contain one of the following floorplans:

Both areas have separate app headers and footer bars with navigation and actions.

Split-screen layout – Two independent scrolling areas
Split-screen layout – Two independent scrolling areas

The split-screen layout has two independent scrolling areas: the master list area and the details area. To implement the split-screen layout, you can use the sap.m.SplitApp control.

Navigation

Typical navigation within the details area
Typical navigation within the details area

The split-screen layout has two independent navigation containers. Drilldown capabilities and back navigation are supported in both the master list and the details area. For details on navigating in the master list, see the master list pattern.

In the details area, the user can drill down to the details of the main object within the app. Do not offer navigation to other apps from either of the split screen areas.

For example, the main item in the details area might be a shopping cart. A shopping cart contains multiple products. Within the details area, the user can navigate from the list of products in the shopping cart to the details for a single product. To navigate back to the shopping cart, the user clicks or taps the back arrow that appears at the top of the details area. In addition, apps should offer iterators (up/down arrows in the app header) to help users navigate more easily between products.

Drilldown and back navigation in the details area
Drilldown and back navigation in the details area

Responsiveness

Split-screen layout on a phone
Split-screen layout on a phone
Split-screen layout on a tablet
Split-screen layout on a tablet
Split-screen layout on a desktop device
Split-screen layout on a desktop device

On narrow screens for phones (or tablet devices in portrait mode), the master list and the details are split into two separate pages. The user navigates between the list and details, and can see all the available information for each.

The split-screen layout comes with built-in logic to respond to different device types, which reduces the development effort. This is an advantage over the full screen layout, which needs to be adapted manually by the app development team.

Split-screen layout with letterboxing on a desktop device
Split-screen layout with letterboxing on a desktop device

To further reduce the difference in width, you can make use of letterboxing to limit the maximum width of the app.

Examples

Reference App Manage Products

Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product master list
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' – Product details
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a tablet
Reference app ''Manage Products'' on a desktop device
Reference app ''Manage Products'' on a desktop device

The reference app highlights how the user can navigate between the master list and the product details. The user selects a product in the master list and navigates to the product details. By selecting the back navigation, the user returns to the master list.

On a tablet, the master list and details can already be shown side by side. The user selects an item in the master list and it is displayed in the details.

However, when the tablet is turned into portrait mode, similar behavior occurs as on the smartphone. This time, the list can be called up from a menu in the top left-hand corner of the screen and it overlays the details area. The list disappears when the user makes a selection.

Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner
Split-screen layout on a tablet in portrait mode – The master list can be called by a menu button in the top left-hand corner

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Master List

The master list pattern is part of the split-screen layout. It allows users to scan, select, and navigate the list items to be displayed in the details area.

A split-screen layout with a master list
A split-screen layout with a master list

Usage

Only use the master list in combination with the split-screen layout.

Structure

The master list consists of 3 main areas:

  1. Master list header
    This is located at the top of the master list. It offers:

    • Back navigation
    • Item title (also in the plural form) and a count
    • Optional action on the right-hand side. Two possible actions are currently allowed: switch multiselection on/off, and set a context filter.
    • A search field that can be embedded in the optional subheader (m.Toolbar) area below the master list.
  2. Master list
    This is located below the header. The master list contains the items to be displayed. The master list must use one of the following list items:

  3. Master list footer
    This is located below the master list. It offers access to actions and the functionalities for filtering, sorting, and grouping the master list.
The structure of the master list
The structure of the master list

Responsiveness

Master and details screens on a smartphone
Master and details screens on a smartphone
Master and details screen on a tablet
Master and details screen on a tablet
Master and details screen on a desktop
Master and details screen on a desktop

The master list itself does not require much adaptation as the split-screen layout takes care of most of the multidevice adaptation. This includes, for example, separating the master list from the details area for smartphone navigation and for portrait mode on tablets (see split-screen layout for more details).

One specific device adaptation is the support of Pull to refresh on touch devices. If you compare the desktop and touch versions, you will see that the search field on the desktop has two icons: a magnifying glass for searching, and a sync icon for refreshing. On touch devices, this field contains only the magnifying glass. The user can pull down and release the master list to trigger the refresh behavior. For more information about this behavior, see the article on searching.

Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard
Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard

Behavior and Interaction

Search and Selection

The master list header displays the number of items – It updates on search and filter
The master list header displays the number of items – It updates on search and filter

The title in the master list header displays the types of objects contained in the master list, together with an item count in brackets. When the user searches or filters, the item count is adjusted dynamically.

In general, there are two search modes:

  1. The live search, which updates the list as the user types (preferred option).
  2. The delayed search, where the user has to select the Search trigger to execute the search.

The first item in the list is selected on start-up by default. If a user has selected an item in the master list, it is displayed in the details area. If the user now searches or filters the list and the item is no longer displayed in the list, the item still remains visible in the details area. The visible part of the list does not show a selection until the user changes the selection. If the search or filter is reset, the selected item will be displayed again in the list.

For more information about the behavior of the search field, see the article on searching.

Master-detail app on a tablet – First item is selected by default
Master-detail app on a tablet – First item is selected by default
The user carries out a search
The user carries out a search
If a search does not yield results, the selected item remains visible in the details area
If a search does not yield results, the selected item remains visible in the details area
The user resets the search and the selected item remains visible
The user resets the search and the selected item remains visible
Message page
Message page

As the master list and the details area appear side-by-side on tablets and desktops, the message page must be shown in the details area if no item is available in the app.

Selecting Multiple Items

The master list header can contain an action for switching to multi-selection mode
The master list header can contain an action for switching to multi-selection mode

If the app supports actions for multiple items simultaneously, a multiselect action can be placed in the master list header. When the user triggers multiselection mode, a checkbox appears next to each list item. The user can now select multiple items by checking each line item.

To exit this mode, the user selects the Close action in the master list header.

Apart from changing the selection mode, the user can also change the master list footer to display actions that can be applied to multiple items at the same time. If the footer only offers actions such as Sort and Filter in standard mode, multiselect mode should offer actions that can be applied to multiple items simultaneously, such as Delete and Approve.

Actions relating to the details are disabled when multiselection mode is switched on. Exception: If one of the selected items is in draft mode and the details of this item are shown, actions are enabled for this item. For more information, see draft handling.

There are three options for displaying selected items in the details area once the user triggers multiselection mode:

  1. Display last item (default)
  2. Display first item: In this case, the item selected first remains visible. Use this option if displaying an item takes too long and slows down selection.
  3. Display aggregate: In this case, the details area displays a summary of the selected items, and offers added value or functionality.
Option 1: Multiselection – First item remains displayed
Option 1: Multiselection – First item remains displayed
Option 2: Multiselection – Last item is displayed
Option 2: Multiselection – Last item is displayed
Option 3: Multiselection – Details shown as an aggregate
Option 3: Multiselection – Details shown as an aggregate

The app can also allow the user to edit multiple items simultaneously. In this case, the edit action is displayed in the master list footer. By selecting the edit action, the details area switches to edit mode. For more information, see the Edit Multiple Items section below.

Hierarchical Master List

In some cases, the master list is not a flat list, but contains a hierarchy. Hierarchies in the master list should be limited to a maximum of one grouping and one item level. If you have deeper hierarchies, use the tree table in a full screen layout.

A typical case is an app that offers different categories of items. In this case, the app starts with the master list showing the categories. To display such groups, you can use a standard list item (sap.m.StandardListItem) with the information attribute displaying the item count. In the details area, the app must display a meaningful introductory page.

When the user selects a group, the master list navigates to the item level of the hierarchy (multiple nested groups are not allowed in the master list), and the first item in the list is displayed and selected. The master list header displays the group name with the number of visible items in brackets.

To navigate back to the group level, the user clicks or taps the back arrow, and a back navigation transition within the master list area takes place. The selected item remains visible. For more information about the navigation behavior, see split-screen layout.

Group level
Group level
Item level
Item level
Transition between group and item level
Transition between group and item level

Editing an Item

The app can allow the user to edit an individual item. The item-specific actions are located in the details area of the split-screen layout and placed depending on the floorplan that is used there. In most cases, the entire item is switched into edit mode  via footer toolbar. For more information, see manage simple objects.

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items. Check out the mass editing article for a detailed description.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Sorting

The Sort action resides in the master list footer. There are 2 ways to sort elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic sorting behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Sort icon, the view settings dialog must open with the sort tab.
  2. Select: If you only have a few predefined ways of sorting, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected sorting criteria should be highlighted with the selection background.
Basic sorting functionality using the select control
Basic sorting functionality using the select control

Filtering

The filter action is located in the master list footer. There are 3 ways to filter elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic filtering behavior in a consistent way. However, this might be too complex because it appears in a dialog. If the user selects the Filter icon, the view settings dialog must open on the filter tab.
  2. Select: If you have only a few predefined filters, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected filtering criteria should be highlighted with the selection background. A no-filter option (None) must be provided in the first position.
  3. Select plus view settings: The select control is normally used for cases where the user frequently chooses a set of predefined filters. However, this might not be sufficient; in some cases, a user may want to create a more complex filter. In this case, the select control can contain a More… option that opens the view settings dialog.

If a filter is applied to the master list, the infobar (a filter indication) should appear at the top of the list (use sap.m.toolbar, design: Info). It should inform the user of the criteria by which the list has been filtered (but not the values). The filter indication must not been shown if no filter is applied.

When the filter indication is selected, the view settings dialog should appear on the filter tab.

Simple filter functionality and filter indication
Simple filter functionality and filter indication
Using a segmented button to offer a switch between two sets of items
Using a segmented button to offer a switch between two sets of items

Sometimes users want to switch quickly between two sets of items, such as between their favorites and all items. They can generally do this by using the filter functionality. To make this more obvious, app developers can use the segmented button (sap.m.SegmentedButton) to offer these two options:

  1. You can place the segmented button as the first element in the master list content. It then scrolls away with the list.
  2. Alternatively, it can replace the search field in the subheader. Then it does not scroll away, but you no longer have a search function.

Other orders are not permitted. Use this solution carefully as it reduces the amount of screen real estate available.

Grouping

The grouping action resides in the master list footer. There are two ways to group elements:

  • View settings dialog(default, m.ViewSettingsDialog): This is a reusable component that can offer generic grouping behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Group icon, the view settings dialog has to open with the group tab.
  • Select: If you have only a few predefined groups, you can also make them directly accessible in a select control (m.Select) that can be embedded in the master list footer. The selected group criteria should be highlighted with the selection background. A no-grouping option (None) must be provided in the first position.

If grouping is applied to the master list, the group header should appear at the top of each group containing items. Empty groups do not appear. The group header should describe the group as follows:

Grouping Criteria: Group
(For example, Price Range: Below 500 EUR).

Simple grouping functionality using the select control
Simple grouping functionality using the select control

Adding an Item

The master list footer can contain an Add New Item action if this is supported by the app. Here, the user can create a new object and add it to the list. There are two ways to create a new item:

  1. Selecting the Add action causes the details area of the split-screen layout to load a create page floorplan. The new item appears in the master list only if it has been successfully created and saved. If the user navigates away, a data loss message is displayed. There are currently two options described by the data loss dialog and draft handling.
  2. Dialog: Selecting the Add action opens a popup dialog. This dialog offers all the form fields required to create the item. Selecting OK creates the new item and adds it to the master list. This option can be used if only a few fields are required to create the item.

Deleting an Item

To delete an item, the user selects an item in the master list to show the details. The user then clicks the Delete button in the details footer toolbar, and confirms the deletion of the item in the subsequent warning message dialog.

The user deletes single items by clicking the Delete button in the details footer toolbar
The user deletes single items by clicking the Delete button in the details footer toolbar
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Deleting Multiple Items

After activating multiselection mode in the master list header, the user selects the multiple items to be deleted. A Delete button is provided in the master list footer toolbar. When the user clicks or taps this button, a warning message dialog is shown, in which the user must confirm the deletion of the selected items.

The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Master List

The master list pattern is part of the split-screen layout. It allows users to scan, select, and navigate the list items to be displayed in the details area.

A split-screen layout with a master list
A split-screen layout with a master list

Usage

Only use the master list in combination with the split-screen layout.

Structure

The master list consists of 3 main areas:

  1. Master list header
    This is located at the top of the master list. It offers:

    • Back navigation
    • Item title (also in the plural form) and a count
    • Optional action on the right-hand side. Two possible actions are currently allowed: switch multiselection on/off, and set a context filter.
    • A search field that can be embedded in the optional subheader (m.Toolbar) area below the master list.
  2. Master list
    This is located below the header. The master list contains the items to be displayed. The master list must use one of the following list items:

  3. Master list footer
    This is located below the master list. It offers access to actions and the functionalities for filtering, sorting, and grouping the master list.
The structure of the master list
The structure of the master list

Responsiveness

Master and details screens on a smartphone
Master and details screens on a smartphone
Master and details screen on a tablet
Master and details screen on a tablet
Master and details screen on a desktop
Master and details screen on a desktop

The master list itself does not require much adaptation as the split-screen layout takes care of most of the multidevice adaptation. This includes, for example, separating the master list from the details area for smartphone navigation and for portrait mode on tablets (see split-screen layout for more details).

One specific device adaptation is the support of Pull to refresh on touch devices. If you compare the desktop and touch versions, you will see that the search field on the desktop has two icons: a magnifying glass for searching, and a sync icon for refreshing. On touch devices, this field contains only the magnifying glass. The user can pull down and release the master list to trigger the refresh behavior. For more information about this behavior, see the article on searching.

Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard
Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard

Behavior and Interaction

Search and Selection

The master list header displays the number of items – It updates on search and filter
The master list header displays the number of items – It updates on search and filter

The title in the master list header displays the types of objects contained in the master list, together with an item count in brackets. When the user searches or filters, the item count is adjusted dynamically.

In general, there are two search modes:

  1. The live search, which updates the list as the user types (preferred option).
  2. The delayed search, where the user has to select the Search trigger to execute the search.

The first item in the list is selected on start-up by default. If a user has selected an item in the master list, it is displayed in the details area. If the user now searches or filters the list and the item is no longer displayed in the list, the item still remains visible in the details area. The visible part of the list does not show a selection until the user changes the selection. If the search or filter is reset, the selected item will be displayed again in the list.

For more information about the behavior of the search field, see the article on searching.

Master-detail app on a tablet – First item is selected by default
Master-detail app on a tablet – First item is selected by default
The user carries out a search
The user carries out a search
If a search does not yield results, the selected item remains visible in the details area
If a search does not yield results, the selected item remains visible in the details area
The user resets the search and the selected item remains visible
The user resets the search and the selected item remains visible
Message page
Message page

As the master list and the details area appear side-by-side on tablets and desktops, the message page must be shown in the details area if no item is available in the app.

Selecting Multiple Items

The master list header can contain an action for switching to multi-selection mode
The master list header can contain an action for switching to multi-selection mode

If the app supports actions for multiple items simultaneously, a multiselect action can be placed in the master list header. When the user triggers multiselection mode, a checkbox appears next to each list item. The user can now select multiple items by checking each line item.

To exit this mode, the user selects the Close action in the master list header.

Apart from changing the selection mode, the user can also change the master list footer to display actions that can be applied to multiple items at the same time. If the footer only offers actions such as Sort and Filter in standard mode, multiselect mode should offer actions that can be applied to multiple items simultaneously, such as Delete and Approve.

Actions relating to the details are disabled when multiselection mode is switched on. Exception: If one of the selected items is in draft mode and the details of this item are shown, actions are enabled for this item. For more information, see draft handling.

There are three options for displaying selected items in the details area once the user triggers multiselection mode:

  1. Display last item (default)
  2. Display first item: In this case, the item selected first remains visible. Use this option if displaying an item takes too long and slows down selection.
  3. Display aggregate: In this case, the details area displays a summary of the selected items, and offers added value or functionality.
Option 1: Multiselection – First item remains displayed
Option 1: Multiselection – First item remains displayed
Option 2: Multiselection – Last item is displayed
Option 2: Multiselection – Last item is displayed
Option 3: Multiselection – Details shown as an aggregate
Option 3: Multiselection – Details shown as an aggregate

The app can also allow the user to edit multiple items simultaneously. In this case, the edit action is displayed in the master list footer. By selecting the edit action, the details area switches to edit mode. For more information, see the Edit Multiple Items section below.

Hierarchical Master List

In some cases, the master list is not a flat list, but contains a hierarchy. Hierarchies in the master list should be limited to a maximum of one grouping and one item level. If you have deeper hierarchies, use the tree table in a full screen layout.

A typical case is an app that offers different categories of items. In this case, the app starts with the master list showing the categories. To display such groups, you can use a standard list item (sap.m.StandardListItem) with the information attribute displaying the item count. In the details area, the app must display a meaningful introductory page.

When the user selects a group, the master list navigates to the item level of the hierarchy (multiple nested groups are not allowed in the master list), and the first item in the list is displayed and selected. The master list header displays the group name with the number of visible items in brackets.

To navigate back to the group level, the user clicks or taps the back arrow, and a back navigation transition within the master list area takes place. The selected item remains visible. For more information about the navigation behavior, see split-screen layout.

Group level
Group level
Item level
Item level
Transition between group and item level
Transition between group and item level

Editing an Item

The app can allow the user to edit an individual item. The item-specific actions are located in the details area of the split-screen layout and placed depending on the floorplan that is used there. In most cases, the entire item is switched into edit mode  via footer toolbar. For more information, see manage simple objects.

Sorting

The Sort action resides in the master list footer. There are 2 ways to sort elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic sorting behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Sort icon, the view settings dialog must open with the sort tab.
  2. Select: If you only have a few predefined ways of sorting, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected sorting criteria should be highlighted with the selection background.
Basic sorting functionality using the select control
Basic sorting functionality using the select control

Filtering

The filter action is located in the master list footer. There are 3 ways to filter elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic filtering behavior in a consistent way. However, this might be too complex because it appears in a dialog. If the user selects the Filter icon, the view settings dialog must open on the filter tab.
  2. Select: If you have only a few predefined filters, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected filtering criteria should be highlighted with the selection background. A no-filter option (None) must be provided in the first position.
  3. Select plus view settings: The select control is normally used for cases where the user frequently chooses a set of predefined filters. However, this might not be sufficient; in some cases, a user may want to create a more complex filter. In this case, the select control can contain a More… option that opens the view settings dialog.

If a filter is applied to the master list, the infobar (a filter indication) should appear at the top of the list (use sap.m.toolbar, design: Info). It should inform the user of the criteria by which the list has been filtered (but not the values). The filter indication must not been shown if no filter is applied.

When the filter indication is selected, the view settings dialog should appear on the filter tab.

Simple filter functionality and filter indication
Simple filter functionality and filter indication
Using a segmented button to offer a switch between two sets of items
Using a segmented button to offer a switch between two sets of items

Sometimes users want to switch quickly between two sets of items, such as between their favorites and all items. They can generally do this by using the filter functionality. To make this more obvious, app developers can use the segmented button (sap.m.SegmentedButton) to offer these two options:

  1. You can place the segmented button as the first element in the master list content. It then scrolls away with the list.
  2. Alternatively, it can replace the search field in the subheader. Then it does not scroll away, but you no longer have a search function.

Other orders are not permitted. Use this solution carefully as it reduces the amount of screen real estate available.

Grouping

The grouping action resides in the master list footer. There are two ways to group elements:

  • View settings dialog(default, m.ViewSettingsDialog): This is a reusable component that can offer generic grouping behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Group icon, the view settings dialog has to open with the group tab.
  • Select: If you have only a few predefined groups, you can also make them directly accessible in a select control (m.Select) that can be embedded in the master list footer. The selected group criteria should be highlighted with the selection background. A no-grouping option (None) must be provided in the first position.

If grouping is applied to the master list, the group header should appear at the top of each group containing items. Empty groups do not appear. The group header should describe the group as follows:

Grouping Criteria: Group
(For example, Price Range: Below 500 EUR).

Simple grouping functionality using the select control
Simple grouping functionality using the select control

Adding an Item

The master list footer can contain an Add New Item action if this is supported by the app. Here, the user can create a new object and add it to the list. There are two ways to create a new item:

  1. Selecting the Add action causes the details area of the split-screen layout to load a create page floorplan. The new item appears in the master list only if it has been successfully created and saved. If the user navigates away, a data loss message is displayed. There are currently two options described by the data loss dialog and draft handling.
  2. Dialog: Selecting the Add action opens a popup dialog. This dialog offers all the form fields required to create the item. Selecting OK creates the new item and adds it to the master list. This option can be used if only a few fields are required to create the item.

Deleting an Item

To delete an item, the user selects an item in the master list to show the details. The user then clicks the Delete button in the details footer toolbar, and confirms the deletion of the item in the subsequent warning message dialog.

The user deletes single items by clicking the Delete button in the details footer toolbar
The user deletes single items by clicking the Delete button in the details footer toolbar
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Deleting Multiple Items

After activating multiselection mode in the master list header, the user selects the multiple items to be deleted. A Delete button is provided in the master list footer toolbar. When the user clicks or taps this button, a warning message dialog is shown, in which the user must confirm the deletion of the selected items.

The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Split-Screen Layout – Master List

Warning
The flexible column layout is set to be the successor of the split screen layout, combined with one or several dynamic pages. Both parts are fully responsive and offer additional features, such as a 3-column mode for showing further details, and the option to collapse/expand the header. They can be used in all floorplans. As of SAPUI5 release 1.48, the split screen layout is deprecated for freestyle applications. The 2- and 3-column modes are already supported with the semantic helper. Please use the flexible column layout instead for all upcoming applications.

The master list pattern is part of the split-screen layout. It allows users to scan, select, and navigate the list items to be displayed in the details area.

A split-screen layout with a master list
A split-screen layout with a master list

Usage

Only use the master list in combination with the split-screen layout.

Structure

The master list consists of 3 main areas:

  1. Master list header
    This is located at the top of the master list. It offers:

    • Back navigation
    • Item title (also in the plural form) and a count
    • Optional action on the right-hand side. Two possible actions are currently allowed: switch multiselection on/off, and set a context filter.
    • A search field that can be embedded in the optional subheader (m.Toolbar) area below the master list.
  2. Master list
    This is located below the header. The master list contains the items to be displayed. The master list must use one of the following list items:

  3. Master list footer
    This is located below the master list. It offers access to actions and the functionalities for filtering, sorting, and grouping the master list.
The structure of the master list
The structure of the master list

Responsiveness

Master and details screens on a smartphone
Master and details screens on a smartphone
Master and details screen on a tablet
Master and details screen on a tablet
Master and details screen on a desktop
Master and details screen on a desktop

The master list itself does not require much adaptation as the split-screen layout takes care of most of the multidevice adaptation. This includes, for example, separating the master list from the details area for smartphone navigation and for portrait mode on tablets (see split-screen layout for more details).

One specific device adaptation is the support of Pull to refresh on touch devices. If you compare the desktop and touch versions, you will see that the search field on the desktop has two icons: a magnifying glass for searching, and a sync icon for refreshing. On touch devices, this field contains only the magnifying glass. The user can pull down and release the master list to trigger the refresh behavior. For more information about this behavior, see the article on searching.

Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard
Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard

Behavior and Interaction

Search and Selection

The master list header displays the number of items – It updates on search and filter
The master list header displays the number of items – It updates on search and filter

The title in the master list header displays the types of objects contained in the master list, together with an item count in brackets. When the user searches or filters, the item count is adjusted dynamically.

In general, there are two search modes:

  1. The live search, which updates the list as the user types (preferred option).
  2. The delayed search, where the user has to select the Search trigger to execute the search.

The first item in the list is selected on start-up by default. If a user has selected an item in the master list, it is displayed in the details area. If the user now searches or filters the list and the item is no longer displayed in the list, the item still remains visible in the details area. The visible part of the list does not show a selection until the user changes the selection. If the search or filter is reset, the selected item will be displayed again in the list.

For more information about the behavior of the search field, see the article on searching.

Master-detail app on a tablet – First item is selected by default
Master-detail app on a tablet – First item is selected by default
The user carries out a search
The user carries out a search
If a search does not yield results, the selected item remains visible in the details area
If a search does not yield results, the selected item remains visible in the details area
The user resets the search and the selected item remains visible
The user resets the search and the selected item remains visible
Message page
Message page

As the master list and the details area appear side-by-side on tablets and desktops, the message page must be shown in the details area if no item is available in the app.

Selecting Multiple Items

The master list header can contain an action for switching to multi-selection mode
The master list header can contain an action for switching to multi-selection mode

If the app supports actions for multiple items simultaneously, a multiselect action can be placed in the master list header. When the user triggers multiselection mode, a checkbox appears next to each list item. The user can now select multiple items by checking each line item.

To exit this mode, the user selects the Close action in the master list header.

Apart from changing the selection mode, the user can also change the master list footer to display actions that can be applied to multiple items at the same time. If the footer only offers actions such as Sort and Filter in standard mode, multiselect mode should offer actions that can be applied to multiple items simultaneously, such as Delete and Approve.

Actions relating to the details are disabled when multiselection mode is switched on. Exception: If one of the selected items is in draft mode and the details of this item are shown, actions are enabled for this item. For more information, see draft handling.

There are three options for displaying selected items in the details area once the user triggers multiselection mode:

  1. Display last item (default)
  2. Display first item: In this case, the item selected first remains visible. Use this option if displaying an item takes too long and slows down selection.
  3. Display aggregate: In this case, the details area displays a summary of the selected items, and offers added value or functionality.
Option 1: Multiselection – First item remains displayed
Option 1: Multiselection – First item remains displayed
Option 2: Multiselection – Last item is displayed
Option 2: Multiselection – Last item is displayed
Option 3: Multiselection – Details shown as an aggregate
Option 3: Multiselection – Details shown as an aggregate
Option 3 on a smartphone: Multiselection – Details show an aggregate
Option 3 on a smartphone: Multiselection – Details show an aggregate

The app can also allow the user to edit multiple items simultaneously. In this case, the edit action is displayed in the master list footer. By selecting the edit action, the details area switches to edit mode. For more information, see the Edit Multiple Items section below.

Hierarchical Master List

In some cases, the master list is not a flat list, but contains a hierarchy. Hierarchies in the master list should be limited to a maximum of one grouping and one item level. If you have deeper hierarchies, use the tree table in a full screen layout.

A typical case is an app that offers different categories of items. In this case, the app starts with the master list showing the categories. To display such groups, you can use a standard list item (sap.m.StandardListItem) with the information attribute displaying the item count. In the details area, the app must display a meaningful introductory page.

When the user selects a group, the master list navigates to the item level of the hierarchy (multiple nested groups are not allowed in the master list), and the first item in the list is displayed and selected. The master list header displays the group name with the number of visible items in brackets.

To navigate back to the group level, the user clicks the back arrow, and a back navigation transition within the master list area takes place. The selected item remains visible. For more information about the navigation behavior, see split-screen layout.

Group level
Group level
Item level
Item level
Transition between group and item level
Transition between group and item level

Editing an Item

The app can allow the user to edit an individual item. The item-specific actions are located in the details area of the split-screen layout and placed depending on the floorplan that is used there. In most cases, the entire item is switched into edit mode  via footer toolbar. For more information, see manage simple objects.

Sorting

The Sort action resides in the master list footer. There are 2 ways to sort elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic sorting behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Sort icon, the view settings dialog must open with the sort tab.
  2. Select: If you only have a few predefined ways of sorting, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected sorting criteria should be highlighted with the selection background.
Sorting functionality with view settings dialog
Sorting functionality with view settings dialog

Filtering

The filter action is located in the master list footer. There are 3 ways to filter elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic filtering behavior in a consistent way. However, this might be too complex because it appears in a dialog. If the user selects the Filter icon, the view settings dialog must open on the filter tab.
  2. Select: If you have only a few predefined filters, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected filtering criteria should be highlighted with the selection background. A no-filter option (None) must be provided in the first position.
  3. Select plus view settings: The select control is normally used for cases where the user frequently chooses a set of predefined filters. However, this might not be sufficient; in some cases, a user may want to create a more complex filter. In this case, the select control can contain a More… option that opens the view settings dialog.

If a filter is applied to the master list, the infobar (a filter indication) should appear at the top of the list (use sap.m.toolbar, design: Info). It should inform the user of the criteria by which the list has been filtered (but not the values). The filter indication must not been shown if no filter is applied.

When the filter indication is selected, the view settings dialog should appear on the filter tab.

Filter functionality with view settings dialog
Filter functionality with view settings dialog
Using a segmented button to offer a switch between two sets of items
Using a segmented button to offer a switch between two sets of items

Sometimes users want to switch quickly between two sets of items, such as between their favorites and all items. They can generally do this by using the filter functionality. To make this more obvious, app developers can use the segmented button (sap.m.SegmentedButton) to offer these two options:

  1. You can place the segmented button as the first element in the master list content. It then scrolls away with the list.
  2. Alternatively, it can replace the search field in the subheader. Then it does not scroll away, but you no longer have a search function.

Other orders are not permitted. Use this solution carefully as it reduces the amount of screen real estate available.

Grouping

The grouping action resides in the master list footer. There are two ways to group elements:

  • View settings dialog(default, m.ViewSettingsDialog): This is a reusable component that can offer generic grouping behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Group icon, the view settings dialog has to open with the group tab.
  • Select: If you have only a few predefined groups, you can also make them directly accessible in a select control (m.Select) that can be embedded in the master list footer. The selected group criteria should be highlighted with the selection background. A no-grouping option (None) must be provided in the first position.

If grouping is applied to the master list, the group header should appear at the top of each group containing items. Empty groups do not appear. The group header should describe the group as follows:

Grouping Criteria: Group
(For example, Price Range: Below 500 EUR).

Grouping functionality using view settings dialog
Grouping functionality using view settings dialog

Adding an Item

The master list footer can contain an Add New Item action if this is supported by the app. Here, the user can create a new object and add it to the list. There are two ways to create a new item:

  1. Selecting the Add action causes the details area of the split-screen layout to load a create page floorplan. The new item appears in the master list only if it has been successfully created and saved. If the user navigates away, a data loss message is displayed. There are currently two options described by the data loss dialog and draft handling.
  2. Dialog: Selecting the Add action opens a popup dialog. This dialog offers all the form fields required to create the item. Selecting OK creates the new item and adds it to the master list. This option can be used if only a few fields are required to create the item.

Deleting an Item

To delete an item, the user selects an item in the master list to show the details. The user then clicks the Delete button in the details footer toolbar, and confirms the deletion of the item in the subsequent warning message dialog.

The user deletes single items by clicking the Delete button in the details footer toolbar
The user deletes single items by clicking the Delete button in the details footer toolbar
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Deleting Multiple Items

After activating multiselection mode in the master list header, the user selects the multiple items to be deleted. A Delete button is provided in the master list footer toolbar. When the user clicks this button, a warning message dialog is shown, in which the user must confirm the deletion of the selected items.

The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Master List

The master list pattern is part of the split-screen layout. It allows users to scan, select, and navigate the list items to be displayed in the details area.

A split-screen layout with a master list
A split-screen layout with a master list

Usage

Only use the master list in combination with the split-screen layout.

Structure

The master list consists of 3 main areas:

  1. Master list header
    This is located at the top of the master list. It offers:

    • Back navigation
    • Item title (also in the plural form) and a count
    • Optional action on the right-hand side. Two possible actions are currently allowed: switch multiselection on/off, and set a context filter.
    • A search field that can be embedded in the optional subheader (m.Toolbar) area below the master list.
  2. Master list
    This is located below the header. The master list contains the items to be displayed. The master list must use one of the following list items:

  3. Master list footer
    This is located below the master list. It offers access to actions and the functionalities for filtering, sorting, and grouping the master list.
The structure of the master list
The structure of the master list

Responsiveness

Master and details screens on a smartphone
Master and details screens on a smartphone
Master and details screen on a tablet
Master and details screen on a tablet
Master and details screen on a desktop
Master and details screen on a desktop

The master list itself does not require much adaptation as the split-screen layout takes care of most of the multidevice adaptation. This includes, for example, separating the master list from the details area for smartphone navigation and for portrait mode on tablets (see split-screen layout for more details).

One specific device adaptation is the support of Pull to refresh on touch devices. If you compare the desktop and touch versions, you will see that the search field on the desktop has two icons: a magnifying glass for searching, and a sync icon for refreshing. On touch devices, this field contains only the magnifying glass. The user can pull down and release the master list to trigger the refresh behavior. For more information about this behavior, see the article on searching.

Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard
Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard

Behavior and Interaction

Search and Selection

The master list header displays the number of items – It updates on search and filter
The master list header displays the number of items – It updates on search and filter

The title in the master list header displays the types of objects contained in the master list, together with an item count in brackets. When the user searches or filters, the item count is adjusted dynamically.

In general, there are two search modes:

  1. The live search, which updates the list as the user types (preferred option).
  2. The delayed search, where the user has to select the Search trigger to execute the search.

The first item in the list is selected on start-up by default. If a user has selected an item in the master list, it is displayed in the details area. If the user now searches or filters the list and the item is no longer displayed in the list, the item still remains visible in the details area. The visible part of the list does not show a selection until the user changes the selection. If the search or filter is reset, the selected item will be displayed again in the list.

For more information about the behavior of the search field, see the article on searching.

Master-detail app on a tablet – First item is selected by default
Master-detail app on a tablet – First item is selected by default
The user carries out a search
The user carries out a search
If a search does not yield results, the selected item remains visible in the details area
If a search does not yield results, the selected item remains visible in the details area
The user resets the search and the selected item remains visible
The user resets the search and the selected item remains visible
The empty page
The empty page

As the master list and the details area appear side-by-side on tablets and desktops, the message page must be shown in the details area if no item is available in the app.

Selecting Multiple Items

The master list header can contain an action for switching to multi-selection mode
The master list header can contain an action for switching to multi-selection mode

If the app supports actions for multiple items simultaneously, a multiselect action can be placed in the master list header. When the user triggers multiselection mode, a checkbox appears next to each list item. The user can now select multiple items by checking each line item.

To exit this mode, the user selects the Close action in the master list header.

Apart from changing the selection mode, the user can also change the master list footer to display actions that can be applied to multiple items at the same time. If the footer only offers actions such as Sort and Filter in standard mode, multiselect mode should offer actions that can be applied to multiple items simultaneously, such as Delete and Approve.

Actions relating to the details are disabled when multiselection mode is switched on. Exception: If one of the selected items is in draft mode and the details of this item are shown, actions are enabled for this item. For more information, see draft handling.

There are three options for displaying selected items in the details area once the user triggers multiselection mode:

  1. Display last item (default)
  2. Display first item: In this case, the item selected first remains visible. Use this option if displaying an item takes too long and slows down selection.
  3. Display aggregate: In this case, the details area displays a summary of the selected items, and offers added value or functionality.
Option 1: Multiselection – First item remains displayed
Option 1: Multiselection – First item remains displayed
Option 2: Multiselection – Last item is displayed
Option 2: Multiselection – Last item is displayed
Option 3: Multiselection – Details shown as an aggregate
Option 3: Multiselection – Details shown as an aggregate

The app can also allow the user to edit multiple items simultaneously. In this case, the edit action is displayed in the master list footer. By selecting the edit action, the details area switches to edit mode. For more information, see the Edit Multiple Items section below.

Hierarchical Master List

In some cases, the master list is not a flat list, but contains a hierarchy. Hierarchies in the master list should be limited to a maximum of one grouping and one item level. If you have deeper hierarchies, use the tree table in a full screen layout.

A typical case is an app that offers different categories of items. In this case, the app starts with the master list showing the categories. To display such groups, you can use a standard list item (sap.m.StandardListItem) with the information attribute displaying the item count. In the details area, the app must display a meaningful introductory page.

When the user selects a group, the master list navigates to the item level of the hierarchy (multiple nested groups are not allowed in the master list), and the first item in the list is displayed and selected. The master list header displays the group name with the number of visible items in brackets.

To navigate back to the group level, the user clicks or taps the back arrow, and a back navigation transition within the master list area takes place. The selected item remains visible. For more information about the navigation behavior, see split-screen layout.

Group level
Group level
Item level
Item level
Transition between group and item level
Transition between group and item level

Editing an Item

The app can allow the user to edit an individual item. The item-specific actions are located in the details area of the split-screen layout and placed depending on the floorplan that is used there. In most cases, the entire item is switched into edit mode  via footer toolbar. For more information, see edit page floorplan.

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items. Check out the mass editing article for a detailed description.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Sorting

The Sort action resides in the master list footer. There are 2 ways to sort elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic sorting behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Sort icon, the view settings dialog must open with the sort tab.
  2. Select: If you only have a few predefined ways of sorting, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected sorting criteria should be highlighted with the selection background.
Basic sorting functionality using the select control
Basic sorting functionality using the select control

Filtering

The filter action is located in the master list footer. There are 3 ways to filter elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic filtering behavior in a consistent way. However, this might be too complex because it appears in a dialog. If the user selects the Filter icon, the view settings dialog must open on the filter tab.
  2. Select: If you have only a few predefined filters, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected filtering criteria should be highlighted with the selection background. A no-filter option (None) must be provided in the first position.
  3. Select plus view settings: The select control is normally used for cases where the user frequently chooses a set of predefined filters. However, this might not be sufficient; in some cases, a user may want to create a more complex filter. In this case, the select control can contain a More… option that opens the view settings dialog.

If a filter is applied to the master list, the infobar (a filter indication) should appear at the top of the list (use sap.m.toolbar, design: Info). It should inform the user of the criteria by which the list has been filtered (but not the values). The filter indication must not been shown if no filter is applied.

When the filter indication is selected, the view settings dialog should appear on the filter tab.

Simple filter functionality and filter indication
Simple filter functionality and filter indication
Using a segmented button to offer a switch between two sets of items
Using a segmented button to offer a switch between two sets of items

Sometimes users want to switch quickly between two sets of items, such as between their favorites and all items. They can generally do this by using the filter functionality. To make this more obvious, app developers can use the segmented button (sap.m.SegmentedButton) to offer these two options:

  1. You can place the segmented button as the first element in the master list content. It then scrolls away with the list.
  2. Alternatively, it can replace the search field in the subheader. Then it does not scroll away, but you no longer have a search function.

Other orders are not permitted. Use this solution carefully as it reduces the amount of screen real estate available.

Grouping

The grouping action resides in the master list footer. There are two ways to group elements:

  • View settings dialog(default, m.ViewSettingsDialog): This is a reusable component that can offer generic grouping behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Group icon, the view settings dialog has to open with the group tab.
  • Select: If you have only a few predefined groups, you can also make them directly accessible in a select control (m.Select) that can be embedded in the master list footer. The selected group criteria should be highlighted with the selection background. A no-grouping option (None) must be provided in the first position.

If grouping is applied to the master list, the group header should appear at the top of each group containing items. Empty groups do not appear. The group header should describe the group as follows:

Grouping Criteria: Group
(For example, Price Range: Below 500 EUR).

Simple grouping functionality using the select control
Simple grouping functionality using the select control

Adding an Item

The master list footer can contain an Add New Item action if this is supported by the app. Here, the user can create a new object and add it to the list. There are two ways to create a new item:

  1. Selecting the Add action causes the details area of the split-screen layout to load a create page floorplan. The new item appears in the master list only if it has been successfully created and saved. If the user navigates away, a data loss message is displayed. There are currently two options described by the data loss dialog and draft handling.
  2. Dialog: Selecting the Add action opens a popup dialog. This dialog offers all the form fields required to create the item. Selecting OK creates the new item and adds it to the master list. This option can be used if only a few fields are required to create the item.

Deleting an Item

To delete an item, the user selects an item in the master list to show the details. The user then clicks the Delete button in the details footer toolbar, and confirms the deletion of the item in the subsequent warning message dialog.

The user deletes single items by clicking the Delete button in the details footer toolbar
The user deletes single items by clicking the Delete button in the details footer toolbar
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Deleting Multiple Items

After activating multiselection mode in the master list header, the user selects the multiple items to be deleted. A Delete button is provided in the master list footer toolbar. When the user clicks or taps this button, a warning message dialog is shown, in which the user must confirm the deletion of the selected items.

The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Master List

The master list pattern is part of the split-screen layout. It allows users to scan, select, and navigate the list items to be displayed in the details area.

A split-screen layout with a master list
A split-screen layout with a master list

Usage

Only use the master list in combination with the split-screen layout.

Structure

The master list consists of 3 main areas:

  1. Master list header
    This is located at the top of the master list. It offers:

    • Back navigation
    • Item title (also in the plural form) and a count
    • Optional action on the right-hand side. Two possible actions are currently allowed: switch multiselection on/off, and set a context filter.
    • A search field that can be embedded in the optional subheader (m.Toolbar) area below the master list.
  2. Master list
    This is located below the header. The master list contains the items to be displayed. The master list must use one of the following list items:

  3. Master list footer
    This is located below the master list. It offers access to actions and the functionalities for filtering, sorting, and grouping the master list.
The structure of the master list
The structure of the master list

Responsiveness

Master and details screens on a smartphone
Master and details screens on a smartphone
Master and details screen on a tablet
Master and details screen on a tablet
Master and details screen on a desktop
Master and details screen on a desktop

The master list itself does not require much adaptation as the split-screen layout takes care of most of the multidevice adaptation. This includes, for example, separating the master list from the details area for smartphone navigation and for portrait mode on tablets (see split-screen layout for more details).

One specific device adaptation is the support of Pull to refresh on touch devices. If you compare the desktop and touch versions, you will see that the search field on the desktop has two icons: a magnifying glass for searching, and a sync icon for refreshing. On touch devices, this field contains only the magnifying glass. The user can pull down and release the master list to trigger the refresh behavior. For more information about this behavior, see the article on searching.

Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard
Pull to refresh on touch devices replaces the Update button on devices with a mouse and keyboard

Behavior and Interaction

Search and Selection

The master list header displays the number of items – It updates on search and filter
The master list header displays the number of items – It updates on search and filter

The title in the master list header displays the types of objects contained in the master list, together with an item count in brackets. When the user searches or filters, the item count is adjusted dynamically.

In general, there are two search modes:

  1. The live search, which updates the list as the user types (preferred option).
  2. The delayed search, where the user has to select the Search trigger to execute the search.

The first item in the list is selected on start-up by default. If a user has selected an item in the master list, it is displayed in the details area. If the user now searches or filters the list and the item is no longer displayed in the list, the item still remains visible in the details area. The visible part of the list does not show a selection until the user changes the selection. If the search or filter is reset, the selected item will be displayed again in the list.

For more information about the behavior of the search field, see the article on searching.

Master-detail app on a tablet – First item is selected by default
Master-detail app on a tablet – First item is selected by default
The user carries out a search
The user carries out a search
If a search does not yield results, the selected item remains visible in the details area
If a search does not yield results, the selected item remains visible in the details area
The user resets the search and the selected item remains visible
The user resets the search and the selected item remains visible
Message page
Message page

As the master list and the details area appear side-by-side on tablets and desktops, the message page must be shown in the details area if no item is available in the app.

Selecting Multiple Items

The master list header can contain an action for switching to multi-selection mode
The master list header can contain an action for switching to multi-selection mode

If the app supports actions for multiple items simultaneously, a multiselect action can be placed in the master list header. When the user triggers multiselection mode, a checkbox appears next to each list item. The user can now select multiple items by checking each line item.

To exit this mode, the user selects the Close action in the master list header.

Apart from changing the selection mode, the user can also change the master list footer to display actions that can be applied to multiple items at the same time. If the footer only offers actions such as Sort and Filter in standard mode, multiselect mode should offer actions that can be applied to multiple items simultaneously, such as Delete and Approve.

Actions relating to the details are disabled when multiselection mode is switched on. Exception: If one of the selected items is in draft mode and the details of this item are shown, actions are enabled for this item. For more information, see draft handling.

There are three options for displaying selected items in the details area once the user triggers multiselection mode:

  1. Display last item (default)
  2. Display first item: In this case, the item selected first remains visible. Use this option if displaying an item takes too long and slows down selection.
  3. Display aggregate: In this case, the details area displays a summary of the selected items, and offers added value or functionality.
Option 1: Multiselection – First item remains displayed
Option 1: Multiselection – First item remains displayed
Option 2: Multiselection – Last item is displayed
Option 2: Multiselection – Last item is displayed
Option 3: Multiselection – Details shown as an aggregate
Option 3: Multiselection – Details shown as an aggregate

The app can also allow the user to edit multiple items simultaneously. In this case, the edit action is displayed in the master list footer. By selecting the edit action, the details area switches to edit mode. For more information, see the Edit Multiple Items section below.

Hierarchical Master List

In some cases, the master list is not a flat list, but contains a hierarchy. Hierarchies in the master list should be limited to a maximum of one grouping and one item level. If you have deeper hierarchies, use the tree table in a full screen layout.

A typical case is an app that offers different categories of items. In this case, the app starts with the master list showing the categories. To display such groups, you can use a standard list item (sap.m.StandardListItem) with the information attribute displaying the item count. In the details area, the app must display a meaningful introductory page.

When the user selects a group, the master list navigates to the item level of the hierarchy (multiple nested groups are not allowed in the master list), and the first item in the list is displayed and selected. The master list header displays the group name with the number of visible items in brackets.

To navigate back to the group level, the user clicks or taps the back arrow, and a back navigation transition within the master list area takes place. The selected item remains visible. For more information about the navigation behavior, see split-screen layout.

Group level
Group level
Item level
Item level
Transition between group and item level
Transition between group and item level

Editing an Item

The app can allow the user to edit an individual item. The item-specific actions are located in the details area of the split-screen layout and placed depending on the floorplan that is used there. In most cases, the entire item is switched into edit mode  via footer toolbar. For more information, see edit page floorplan.

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Editing Multiple Items

In edit mode, the user sees an edit page with all the editable fields. The footer toolbar of the details area should then offer actions to Save and Cancel the changes.

The values displayed at field level depend on the entries for the selected items. Check out the mass editing article for a detailed description.

Any changes the user makes in edit mode are applied to all selected items upon saving. Existing entries are overwritten.

Clicking Edit in multiselect mode on a smartphone takes the user directly to the edit page

Master list with an edit action
Master list with an edit action
Master list in edit mode
Master list in edit mode

Sorting

The Sort action resides in the master list footer. There are 2 ways to sort elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic sorting behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Sort icon, the view settings dialog must open with the sort tab.
  2. Select: If you only have a few predefined ways of sorting, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected sorting criteria should be highlighted with the selection background.
Basic sorting functionality using the select control
Basic sorting functionality using the select control

Filtering

The filter action is located in the master list footer. There are 3 ways to filter elements:

  1. View settings dialog (defaultsap.m.ViewSettingsDialog): This is a reusable component that can offer generic filtering behavior in a consistent way. However, this might be too complex because it appears in a dialog. If the user selects the Filter icon, the view settings dialog must open on the filter tab.
  2. Select: If you have only a few predefined filters, you can also make them directly accessible in a select control (sap.m.Select), which can be embedded in the master list footer. The selected filtering criteria should be highlighted with the selection background. A no-filter option (None) must be provided in the first position.
  3. Select plus view settings: The select control is normally used for cases where the user frequently chooses a set of predefined filters. However, this might not be sufficient; in some cases, a user may want to create a more complex filter. In this case, the select control can contain a More… option that opens the view settings dialog.

If a filter is applied to the master list, the infobar (a filter indication) should appear at the top of the list (use sap.m.toolbar, design: Info). It should inform the user of the criteria by which the list has been filtered (but not the values). The filter indication must not been shown if no filter is applied.

When the filter indication is selected, the view settings dialog should appear on the filter tab.

Simple filter functionality and filter indication
Simple filter functionality and filter indication
Using a segmented button to offer a switch between two sets of items
Using a segmented button to offer a switch between two sets of items

Sometimes users want to switch quickly between two sets of items, such as between their favorites and all items. They can generally do this by using the filter functionality. To make this more obvious, app developers can use the segmented button (sap.m.SegmentedButton) to offer these two options:

  1. You can place the segmented button as the first element in the master list content. It then scrolls away with the list.
  2. Alternatively, it can replace the search field in the subheader. Then it does not scroll away, but you no longer have a search function.

Other orders are not permitted. Use this solution carefully as it reduces the amount of screen real estate available.

Grouping

The grouping action resides in the master list footer. There are two ways to group elements:

  • View settings dialog(default, m.ViewSettingsDialog): This is a reusable component that can offer generic grouping behavior in a consistent way. However, this might be too complex because it appears in a dialog. If a user selects the Group icon, the view settings dialog has to open with the group tab.
  • Select: If you have only a few predefined groups, you can also make them directly accessible in a select control (m.Select) that can be embedded in the master list footer. The selected group criteria should be highlighted with the selection background. A no-grouping option (None) must be provided in the first position.

If grouping is applied to the master list, the group header should appear at the top of each group containing items. Empty groups do not appear. The group header should describe the group as follows:

Grouping Criteria: Group
(For example, Price Range: Below 500 EUR).

Simple grouping functionality using the select control
Simple grouping functionality using the select control

Adding an Item

The master list footer can contain an Add New Item action if this is supported by the app. Here, the user can create a new object and add it to the list. There are two ways to create a new item:

  1. Selecting the Add action causes the details area of the split-screen layout to load a create page floorplan. The new item appears in the master list only if it has been successfully created and saved. If the user navigates away, a data loss message is displayed. There are currently two options described by the data loss dialog and draft handling.
  2. Dialog: Selecting the Add action opens a popup dialog. This dialog offers all the form fields required to create the item. Selecting OK creates the new item and adds it to the master list. This option can be used if only a few fields are required to create the item.

Deleting an Item

To delete an item, the user selects an item in the master list to show the details. The user then clicks the Delete button in the details footer toolbar, and confirms the deletion of the item in the subsequent warning message dialog.

The user deletes single items by clicking the Delete button in the details footer toolbar
The user deletes single items by clicking the Delete button in the details footer toolbar
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Deleting Multiple Items

After activating multiselection mode in the master list header, the user selects the multiple items to be deleted. A Delete button is provided in the master list footer toolbar. When the user clicks or taps this button, a warning message dialog is shown, in which the user must confirm the deletion of the selected items.

The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user selects multiple items and clicks the Delete button in the footer toolbar to delete them
The user must then confirm the delete action in a dialog
The user must then confirm the delete action in a dialog

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Create Page Floorplan

The create page floorplan is used when a new object needs to be created in a full screen or split-screen layout.

Creating an object is a special case for the edit pattern. For details not covered in this article, please refer to the manage simple objects article.

Furthermore, this floorplan does not cover the creation of another line item within a screen, so for more information about line item creation, see the local flow with reference items article.

 

The create page floorplan is used when a new object needs to be created. Creating an object is a special case for the edit pattern; for details not covered in this article, refer to the simple objects article. Furthermore, the floorplan does not cover the creation of another line item within a screen, so for more information about line item creation, see the manage complex object article.
Simple edit (compact mode) on split screen
Simple edit (compact mode) on split screen

There are several ways in which the user can trigger create mode:

  1. Enter the app, and the default screen is a “create object” page (such as a new leave request).
  2. Click or tap the Create button (the plus icon ( )) in the master list footer or in the details area footer.
  3. Add a new line item by clicking the + icon at the top of a table control. For more information about this functionality, see the manage complex objects article.

Which variant you should choose depends on the use case.

There are also several ways of creating an object to support different use cases (more details about this are provided later):

  • Create the object via a dialog.
  • Create the object via the details screen.
  • Create the object using subpages (for more information, see manage complex objects).

Note the following:

Usage

  • Use create via dialog if there is only one object with a small number of fields that the user can edit (maximum of 7 editable fields).
  • The Create button (or “ “) is the preferred way to trigger the creation of a new object. We do not recommend hiding editable information from the user in tabs.
  • Use the create flow with subpages if there are multiple child pages included in the object. For more information about how creation with child pages works, see the manage complex objects article.

Structure

The create page floorplan is flexible and can be embedded in the full screen layout or split-screen layout. The title (app header) shows New and the current <Item Type>, such as New Product. The main pattern of the create page is the form. The footer toolbar is located at the bottom.

Create page layout
Create page layout

Responsiveness

The responsiveness of the create page control follows the responsive behavior of the forms and controls being used.

Create page floorplan on a smartphone
Create page floorplan on a smartphone
Create page floorplan on a tablet
Create page floorplan on a tablet
Create page floorplan on a desktop
Create page floorplan on a desktop

Flows and Variants

Create via Dialog

The create via dialog flow describes how a user can create an object, for example, in the split-screen layout. The user must first click or tap the plus ( ) button. The data can now be changed in edit mode. Once the user has completed the entries, he or she clicks the Save button. The updated object is now included in the master list, and object details are shown in the split screen.

Show a data loss message whenever the user tries to navigate away from the page or clicks the Cancel button while in edit mode. However, if the user has not changed anything, a data loss message is not necessary.

Create via dialog – Mobile flow
Create via dialog – Mobile flow

Create via Details Screen

Use the flat object view in the details area of the screen if:

  • You need to create elements in multiple categories (for example, general information and details).
  • You need to add a large amount of data that cannot be displayed in a dialog without scrolling or using tabs.

For more information about the flat object view, see flat object view floorplan.

The details screen with the long form is visible only on mobile devices. If there is a large amount of data, split the long form into sections (or categories) that are displayed as separate tabs after the item has been saved.

Whenever the user clicks or taps Cancel, or tries to navigate away from the current page, show a data loss message.

Create via details screen – Mobile flow
Create via details screen – Mobile flow

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Create Page Floorplan

The create page floorplan is used when a new object needs to be created in a full screen or split-screen layout.

Creating an object is a special case for the edit pattern. For details not covered in this article, please refer to the manage simple objects article.

Furthermore, this floorplan does not cover the creation of another line item within a screen, so for more information about line item creation, see the local flow with reference items article.

 

The create page floorplan is used when a new object needs to be created in full screen and split-screen layout. Creating an object is a special case for the edit pattern; for details not covered in this article, refer to the simple objects article. Furthermore, the floorplan does not cover the creation of another line item within a screen, so for more information about line item creation, see the manage complex object article.
Simple edit (compact mode) on split-screen layout
Simple edit (compact mode) on split-screen layout

There are several ways in which the user can trigger create mode:

  1. Enter the app, and the default screen is a “create object” page (such as a new leave request).
  2. Click or tap the Create button (the plus icon ( )) in the master list footer or in the details area footer.
  3. Add a new line item by clicking the + icon at the top of a table control. For more information about this functionality, see the manage complex objects article.

Which variant you should choose depends on the use case.

There are also several ways of creating an object to support different use cases (more details about this are provided later):

  • Create the object via a dialog.
  • Create the object via the details screen.
  • Create the object using subpages (for more information, see manage complex objects).
  • Create the object using the wizard in case of a long form, where the user needs more guidance.

Note the following:

The flow of the form should follow the logic of creation. Use in-place messages on the fields for validation.

Usage

  • Use create via dialog if there is only one object with a small number of fields that the user can edit (maximum of 7 editable fields).
  • The Create button (or “ “) is the preferred way to trigger the creation of a new object. We do not recommend hiding editable information from the user in tabs.
  • Use the create flow with subpages if there are multiple child pages included in the object. For more information about how creation with child pages works, see the manage complex objects article.

Structure

The create page floorplan is flexible and can be embedded in the full screen layout or split-screen layout. The title (app header) shows New and the current <Item Type>, such as New Product. The main pattern of the create page is the form. The footer toolbar is located at the bottom.

Create page layout
Create page layout

Responsiveness

The responsiveness of the create page floorplan follows the responsive behavior of the forms and controls being used.

Create page floorplan on a smartphone
Create page floorplan on a smartphone
Create page floorplan on a tablet
Create page floorplan on a tablet
Create page floorplan on a desktop
Create page floorplan on a desktop
Create page floorplan on a desktop in full screen
Create page floorplan on a desktop in full screen

Flows and Variants

Create via Dialog

The create via dialog flow describes how a user can create an object, for example, in the split-screen layout. The user must first click or tap the Create ( ) button. The data can now be changed in edit mode. Once the user has completed the entries, he or she clicks the Save button. The updated object is now included in the master list, and object details are shown in the split screen.

Clicking the Cancel button closes the dialog. A data loss message or quick confirmation popover is not necessary.

Create via Details Screen

Use the whole screen for displaying the form if:

  • You need to create elements in multiple categories (for example, general information and details).
  • You need to add a large amount of data that cannot be displayed in a dialog without scrolling or using tabs.

Show a data loss message whenever the user tries to navigate away from the page. The only exception is by using the draft handling. Clicking the Cancel button while in edit mode opens a quick confirmation popover. However, if the user has not changed anything, a data loss message is not necessary.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Edit with Subpages

SAP Fiori distinguishes between two edit flows: 

  • Local edit flow is an edit mode that applies to a single page. The user edits one page at a time.
  • Global edit flow is an edit mode that allows the user to edit multiple subpages in one editing session. The subpages are all linked to one main page.

Local edit flow: The user edits one page by pressing the Edit button. Before leaving the edit page, users must save their changes. Otherwise, the changes are lost (data loss message).

Global edit flow: The user clicks Edit on the main page, and every subpage linked to this page changes to edit mode. Navigation between the subpages is unrestricted. The subpages do not have an explicit Save button. Any changes are saved in the background automatically (temporary save). Each subpage has a Discard Changes button, which discards any changes made on that subpage.

To save the changes for all subpages to the database, the user has to navigate back to the main page and click the Save button. Clicking Cancel on the main page discards all changes to all subpages. If a user tries to navigate away from the main page, or clicks Cancel on the main page, a data loss message appears. No data loss message appears if the user is just leaving a subpage.

Try interactions of both edit flows in the Axure prototype (click dummy).

Local Edit Flow

Local means that the user edits one page by pressing the Edit button (1). When users try to navigate away from the page while in edit mode, they must save the modifications, otherwise the changes are lost (data loss message (3)). This behavior applies to both the main page and any subpages.

There are several ways to leave a page depending on the overall layout (full screen or split screen). The user can leave a page by clicking or tapping either the Back button (4) in the app header or the Home icon (5) in the shell bar. If the user has not saved the changes before leaving the page, a data loss message is shown.

In local edit flow, the user can move from one subpage to another by using the up and down arrows (6) in display mode. In edit mode, the user must save the entries, otherwise a data loss message is shown.

The user can save the entries in one of two ways:

  • Clicking or tapping Save and Next (7) brings the user to the next subpage, which stays in edit mode. Depending on the use case, clicking or tapping Save and Next can also take the user to display mode. This can happen if the user clicks through many subpages and edits only a few (logging issues).
    The assumption is that the user will mainly use the Save and Next button. This is the reason for highlighting the button.
  • Clicking or tapping the Save button saves all entries on the subpage and the user stays on the page.

Error handling: If an entry is incorrect or missing, the user must first change the entry before it can be saved.

Local edit flow
Local edit flow

Create a New Line Item

Display mode: After clicking or tapping the + icon (1), the user navigates to a new subpage, where he or she can Save the new entries or Cancel the process.

Edit mode: When the user clicks or taps the + icon, a data loss message (2) appears. The user must first Save the entries before being able to navigate to the new subpage.

New Line Item on Main Page (optional – special case)

Display mode: If the new line item includes only a few fields which could be displayed directly on the main page, the user can open a new row directly on the main page.
In this special case, the main page switches to edit mode and the user must first Save the entries before being able to leave.

Edit mode: If the new line item includes only a few fields which could be displayed directly on the main page, the user can open a new row (3) directly on the main page. The user must first Save the entries before being able to leave.

Local flow – Create new line item
Local flow – Create new line item

Global Edit Flow

Global means that the user clicks or taps Edit on a page (1), and every subpage linked to this page also changes to edit mode. Navigation between them is unrestricted. After the user switches to edit mode, the Edit button on the main page is replaced by two buttons labeled Save and Cancel (2).

There are two ways in which a user can set an app to edit mode:

  • The user enters the app, which is already in edit mode by default and no action has been triggered.
  • The user has to click or tap the Edit button on the main page.

The use case determines which variant should be chosen.

The subpages do not have a save function. The user’s modifications are automatically saved temporarily. No data loss message is needed on subpages. The only functions available are the Discard Changes button (3) and the Back to Main Page button (4).

The Discard Changes button is disabled until the user starts editing a field. The button is then enabled automatically. Disabled means that the Discard Changes button stays on a subpage the whole time but is inactive. The Discard Changes button discards the changes made on the subpage and reverts to the “back-end state”. The user stays on the subpage.

If there are identical input fields on the main page and on a subpage, these fields can be edited only on the main page. To prevent errors, the user is not able to edit these input fields on subpages.

Handling of sub-subpages is not recommended. If necessary, the Back to [title] Main Page button changes to Back to [title] subpage.

The Back to [Title] Main Page button (4) brings the user back to the main page. Change the name of the main page on this button to the name of your app’s main page.

The user entries are automatically saved temporarily. This button should give the user a secure feeling, and it has the same functionality as the Back button (6).

By using the up and down arrows (5), the user can navigate between subpages to edit more objects, for example.

The Back button (6) on subpages always navigates to the main page. Users stay in edit mode until they save the entries or discard them via Cancel. The entries on subpages are taken over by temporary automatic saving. If the user clicks or taps the Back button (6) or the Home icon (7) on the shell bar before saving the entries, a data loss message (10) is displayed.

An indicator labeled (modified) (8) marks edited objects on the main page until the changes are saved. This enables users to see modified subpages on the main page to ensure that they have changed all the required objects.

How to display (modified) in a table

Use the responsive table (sap.m.Table) pattern. It allows the responsive behavior of elements in the table, which means that (modified) stays below the title of the line item. If there is an ID number next to the line item title, put (modified) in the next row below.

Layout: (modified) is an additional text with smaller letters than the headline. It should not be truncated.

Error handling: If the user edits an object on one subpage and an error occurs, the user might then have to change a value on a second subpage to correct the data.
To edit the second subpage, the user should be able to switch during the subpages while the error still exists. The error should be shown to the user but navigation should be possible.
Finally, the user has to finish the editing process on the main page by clicking or tapping Save or Cancel. Therefore, the user always returns to the main page, which provides an overview of all modified pages and pages with errors.
An indicator labeled (contains errors) (9) marks objects that need to be corrected before saving.

Layout: (contains errors) is an additional text with smaller letters than the headline. It should not be truncated.

Global edit flow – Edit mode
Global edit flow – Edit mode

Create a New Line Item

Display mode: After clicking or tapping the + icon (1), the user navigates to a new subpage, where he or she can Save the new entries or Cancel the process.

Edit mode: After clicking or tapping the + icon (2), the user navigates to a new subpage. The Back to Main Page and Discard Changes button labels correspond to the button labels in edit mode.

New Line Item on Main Page (optional – special case)

If the new line item includes only a few fields which could be displayed directly on the main page, the user can open a new row (3) directly on the main page. This is possible in display and edit mode. After the user clicks or taps the + icon, the main page switches directly to edit mode.

Global edit flow – Create new line item
Global edit flow – Create new line item

Pessimistic Locking

If a user sets the main page to edit mode, the next user cannot edit the main page or the related subpages until the first user has saved the entries.
The second user can see the content in display mode and is given status information in the line item (1) and on detail pages in the object header (2) that User 1 is currently editing the content.

At this time, the Edit button is disabled (3).

Global edit flow – Pessimistic locking
Global edit flow – Pessimistic locking

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Worklist Floorplan

A worklist displays a collection of items that are to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In most cases, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

Work list – Full screen
Work list – Full screen

Usage

Use the work list floorplan if:

  • The user has numerous potential work items and needs to decide which ones to process first.
  • You want to give the user a direct entry point for taking action on work items.
  • Your app uses the full screen layout. The full screen worklist is preferable if the work items are complex objects.

Do not use the work list floorplan if:

  • You want to create only a lightweight worklist. Instead, use the split-screen layout for simple scenarios.
  • The items you are showing are not work items.
  • You want to show large item lists, or combine different data visualizations (graphics or tables). In this case, use the list report floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (app header) reflects the title of the launch tile, such as Manage Products.

The worklist contains a list of work items. You can also use the icon tab bar to split the list into different categories. In addition, the worklist can use filters and variants, as described for the list report floorplan. Bear in mind, however, that if users can filter the list, they may also overlook important work items.

To ensure that the application runs on all devices, we recommend using the responsive table. The responsive table also offers a wide range of options for optimizing the layout, scalability, and how the user takes action.

Basic structure
Basic structure

Responsiveness and Adaptiveness

Work list floorplan on a phone
Work list floorplan on a phone
Work list floorplan on tablet
Work list floorplan on tablet
Work list floorplan on a desktop device
Work list floorplan on a desktop device

Types

Simple Worklist

The worklist floorplan is optimized for working down a list of items. Ideally, the system provides the user with a complete list of work items in the correct order. You should also ensure that no important work items are lost, and keep distracting functions to a minimum.

The most basic version of the worklist is therefore a plain page with a list.

Simple work list without tabs
Simple work list without tabs

Category Work List

The icon tab bar enables users to call up work items in specific categories. This can help users identify critical items more easily. Different tabs can also contain tables with different configurations (for example, with different columns or actions).

You can offer visual orientation by applying semantic colors to the icons for the different categories (for example, red on the Error tab below).

Work list with tab categories
Work list with tab categories

KPI Work List

The key performance indicator (KPI) worklist allows the user to track a KPI while processing the worklist. You can display the KPI in the subheader.

Work list with tabs for specific categories
Work list with tabs for specific categories

Actions

Work list with a global toolbar for actions
Work list with a global toolbar for actions

The header title contains the global actions. These actions can apply to individual or multiple items selected by the user. Placing actions in the toolbar allows users to process several items at a time. However, more clicks are required to process individual work items.

Work list with actions at line item level
Work list with actions at line item level

You can also offer actions at line item level. This reduces the interaction required to a single click per item. Consider offering actions at line item level for frequently used actions, and if the list provides enough information to make a decision.

Work list with navigation to item details
Work list with navigation to item details
Work item details
Work item details

Often, users will need more information before they can take action. In this case, offer navigation to the work item details, and offer all the relevant actions in the detail screen.

Once the user has completed the task, the app should:

  • Return the user to the worklist.
  • Remove the processed item from the list, or move it to a “completed” section.
  • Confirm the user’s action with a message toast.

Visual Design

The work list has no visual design of its own, but app design and development teams should ensure that the margins and padding are similar to those of the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the work list on a smartphone
Basic layout of the work list on a smartphone
Basic layout of the work list on a tablet
Basic layout of the work list on a tablet
Basic layout of the work list on a desktop device
Basic layout of the work list on a desktop device

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Worklist Floorplan

A worklist displays a collection of items that are to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In most cases, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

Worklist – Full screen
Worklist – Full screen

Usage

Use the worklist floorplan if:

  • The user has numerous potential work items and needs to decide which ones to process first.
  • You want to give the user a direct entry point for taking action on work items.
  • Your app uses the full screen layout. The full screen worklist is preferable if the work items are complex objects. For simple scenarios, use the split-screen layout instead.

Do not use the worklist floorplan if:

  • You want to create only a lightweight worklist. Instead, use the split-screen layout for simple scenarios.
  • The items you are showing are not work items.
  • You want to show large item lists, or combine different data visualizations (graphics or tables). In this case, use the list report floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (app header) reflects the title of the launch tile, such as Manage Products.

The worklist contains a list of work items. You can also use the icon tab bar to split the list into different categories. In addition, the worklist can use filters and variants, as described for the list report floorplan. Bear in mind, however, that if users can filter the list, they may also overlook important work items.

To ensure that the application runs on all devices, we recommend using the responsive table. The responsive table also offers a wide range of options for optimizing the layout, scalability, and how the user takes action.

Basic structure
Basic structure

Responsiveness and Adaptiveness

Worklist floorplan on a smartphone
Worklist floorplan on a smartphone
Worklist floorplan on tablet
Worklist floorplan on tablet
Worklist floorplan on a desktop device
Worklist floorplan on a desktop device

Worklist Floorplan with the Dynamic Page Layout

Variant Management & Global Actions

The header title of the dynamic page provides a variant management and the global actions. The header title displays the selected tab if the header content is collapsed.

Dynamic Page Header

The header content of the page gets a snapping behavior. This includes the tab bar. The header content collapses after scrolling the page if used with the sap.m.table (responsive table), or can be collapsed manually if used with the sap.ui.tables (grid tabel, analytical table (ALV), tree table).

Footer Toolbar

In edit mode or for finalizing actions there is a footer toolbar. This element appears on the bottom of the page content and contains finalizing actions.

Types

Simple Worklist

The worklist floorplan allows the user to work through a list of items. Ideally, the system provides the user with a complete list of work items in the correct order. You should also ensure that no important work items are lost, and keep distracting functions to a minimum.

The most basic version of the worklist is therefore a plain page with a list.

Simple worklist without tabs
Simple worklist without tabs

Category Worklist

The icon tab bar enables users to call up work items in specific categories. This can help users identify critical items more easily. Different tabs can also contain tables with different configurations (for example, with different columns or actions).

You can offer visual orientation by applying semantic colors to the icons for the different categories (for example, red on the Error tab below).

Worklist with tab categories
Worklist with tab categories

KPI Worklist

The key performance indicator (KPI) worklist allows the user to track a KPI while processing the worklist. You can display the KPI in the subheader.

Worklist with tabs for specific categories
Worklist with tabs for specific categories

Actions

Worklist with a global toolbar for actions
Worklist with a global toolbar for actions

The header title contains the global actions. These actions can apply to individual or multiple items selected by the user. Placing actions in the toolbar allows users to process several items at a time. However, more clicks are required to process individual work items.

Work list with actions at line item level
Work list with actions at line item level

You can also offer actions at line item level. This reduces the interaction required to a single click per item. Consider offering actions at line item level for most frequently used actions, and if the list provides enough information to make the a decision.

Often, users will need more information before they can take action. In this case, offer navigation to the work item details, and offer all the relevant actions in the detail screen.

Worklist with navigation to item details
Worklist with navigation to item details
Work item details
Work item details

Once the user has completed the task, the app should:

  • Return the user to the worklist.
  • Remove the processed item from the list, or move it to a “completed” section.
  • Confirm the user’s action with a message toast.

Visual Design

The worklist has no visual design of its own, but app design and development teams should ensure that the margins and padding are similar to those of the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the worklist on a smartphone
Basic layout of the worklist on a smartphone
Basic layout of the worklist on a tablet
Basic layout of the worklist on a tablet
Basic layout of the worklist on a desktop device
Basic layout of the worklist on a desktop device

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Worklist Floorplan

A worklist displays a collection of items that are to be processed by the user. Working through the item list usually involves reviewing details of the list items and taking action. In most cases, the user has to either complete a work item or delegate it.

The focus of the worklist floorplan lies on processing the items. This differs from the list report floorplan, which focuses on filtering content to create a list.

Work List - Full Screen
Work List - Full Screen

Usage

Use the work list floorplan if:

  • The user has numerous potential work items and needs to decide which ones to process first.
  • You want to give the user a direct entry point for taking action on work items.
  • Your app uses the full screen layout. The full screen worklist is preferable if the work items are complex objects.

Do not use the work list floorplan if:

  • You want to create only a lightweight worklist. Instead, use the split-screen layout for simple scenarios.
  • The items you are showing are not work items.
  • You want to show large item lists, or combine different data visualizations (graphics or tables). In this case, use the list report floorplan instead.

Layout

The launchpad shell bar is always available at the top of SAP Fiori apps. The app title (app header) reflects the title of the launch tile, such as Manage Products.

The worklist contains a list of work items. You can also use the icon tab bar to split the list into different categories. In addition, the worklist can use filters and variants, as described for the list report floorplan. Bear in mind, however, that if users can filter the list, they may also overlook important work items.

To ensure that the application runs on all devices, we recommend using the responsive table. The responsive table also offers a wide range of options for optimizing the layout, scalability, and how the user takes action.

Basic structure
Basic structure

Responsiveness and Adaptiveness

Work list floorplan on a phone
Work list floorplan on a phone
Work list floorplan on tablet.
Work list floorplan on tablet.
Work list floorplan on a desktop.
Work list floorplan on a desktop.

Types

Simple Worklist

The worklist floorplan is optimized for working down a list of items. Ideally, the system provides the user with a complete list of work items in the correct order. You should also ensure that no important work items are lost, and keep distracting functions to a minimum.

The most basic version of the worklist is therefore a plain page with a list.

Simple work list without tab categories.
Simple work list without tab categories.

Category Work List

The icon tab bar enables users to call up work items in specific categories. This can help users identify critical items more easily. Different tabs can also contain tables with different configurations (for example, with different columns or actions).

You can offer visual orientation by applying semantic colors to the icons for the different categories (for example, red on the Error tab below).

Work list with tab categories
Work list with tab categories

KPI Work List

The key performance indicator (KPI) worklist allows the user to track a KPI while processing the worklist. You can display the KPI in the subheader.

Work list with tab categories
Work list with tab categories

Actions

Work list with a global toolbar for actions
Work list with a global toolbar for actions

The header title contains the global actions. These actions can apply to individual or on multiple items based on selection. While this provides the possibility to process multiple items at a time it always involves more clicks for the individual work item.

Work list with a actions on line items
Work list with a actions on line items

If there is a most frequent action on work items, this action could also be included in the line together with the item. This reduces the amount of interaction required to a single click per item. Obviously, this only works if the list already offers enough information to take the decision.

Work list with navigation to item details
Work list with navigation to item details
Work Item Details
Work Item Details

In many cases the user will have to inspect the details of a work item to get all information that he needs to take action. In this case the user navigates to the work item details. Here, all actions required should be offered to the user. When accomplishing the task the user should be returned to the work list, the processed item should disappear or move to a completed section and the action should be confirmed by a message toast.

Visual Design

Work list has no visual design on its own, but application design and development should make sure that the margins and paddings are similar to the normal page layout (e.g. the controls should have the same margins inside the Side Content container).

Basic layout of the work list on a smartphone
Basic layout of the work list on a smartphone
Basic layout of the work list on a tablet
Basic layout of the work list on a tablet
Basic layout of the work list on a desktop
Basic layout of the work list on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Flat Object View Floorplan

Flat object view floorplan
Flat object view floorplan

Usage

Use the flat object view floorplan if:

  • You want to switch to edit mode without disrupting the layout of the page.
  • You want to show the different sections for an object on one page.

Do not use the flat object view floorplan if:

  • The objects contain too much information for one page. Instead, use the object view floorplan, and build tabs to organize and simplify the content.

Structure

The flat object view has the same basic structure as the object view floorplan, with the object header control at the top and a footer toolbar at the bottom. However, unlike the object view floorplan, the flat object view does not have a tab container to switch between different facets of the object. Instead, it has one long flat layout with multiple form or table elements underneath each other. The flat object view builds entirely on existing controls. 

Flat object view – Structure
Flat object view – Structure

Responsivness and Adaptiveness

Flat object view plan on a phone
Flat object view plan on a phone
Flat object view on a tablet
Flat object view on a tablet
Flat object view on a desktop
Flat object view on a desktop

You can embed the flat object view floorplan in a full screen layout or split-screen layout. In both cases, it can be used as an alternative to the object view floorplan.

Flat object view - Split-screen layout
Flat object view - Split-screen layout

Edit

The flat object view is optimized for switching between the display and edit modes – the structure and layout of the page remain intact. In the object view, the tabs have to be flattened out in edit mode to avoid hidden editing errors and inconsistencies between tabs. In the flat object view, all elements are always visible, so any error messages and inconsistencies can be highlighted directly on the page.

Flat object view on a desktop device
Flat object view on a desktop device
Flat object view in edit mode
Flat object view in edit mode

In addition to the full page edit mode, the flat object view also supports a partial edit flow, where only certain sections switch to edit mode.

Flat object view - Partial edit for individual sections
Flat object view - Partial edit for individual sections
Flat object view - Partial edit active for one section
Flat object view - Partial edit active for one section

Scrolling

Because the flat object view displays everything on one page, users might need to scroll to reach the end. While scrolling itself is no longer critical – today’s devices all support optimized scroll gestures – usability issues can still occur with large tables and collapsible panels.

Embedding Large Tables

If the view contains a long embedded table, the remaining content may be pushed down too far. Therefore, when embedding a large table, make sure that you limit the number of items that are initially loaded. This ensures that the user can reach the content below the table.

Collapsible Panels

If your object has several sections, you might be tempted to use collapsible panels to reduce the length of the page and minimize scrolling. However, placing several collapsed panels below each other can look broken. It also forces the user to open and close containers, which can shift their position. This behavior has been proven to cause usability issues. Where possible, avoid using collapsible panels in the flat object view.

Flat object view - Scrolling behavior
Flat object view - Scrolling behavior
Avoid stacking collapsible panels
Avoid stacking collapsible panels

Guidelines

  • Avoid showing long tables in full when a page is first loaded. Instead, use lazy loading to display only the first 5 or 10 table items.
  • Avoid using collapsible panels to minimize scrolling.
  • Use either the panel or table controls as basic elements of the flat object page and avoid embedding elements in other elements. Placing the elements underneath each other makes the layout very clean and stable.
  • Use the object header at the top of the flat object view to give the page structure.
  • Choose between the global or local edit flow (the global flow is usually easier to handle).

Visual Design

Flat object view floorplan has no visual design on its own, but application design and development should make sure that the margins and paddings are similar to the normal page layout (e.g. the controls should have the same margins inside the Side Content container).

Basic layout of the flat objet view on a smartphone
Basic layout of the flat objet view on a smartphone
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a desktop
Basic layout of the flat object view on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Flat Object View Floorplan

The flat object view floorplan displays all the information for an object on one long, scrollable page. The advantage of this floorplan over the object view floorplan is that the layout stays the same in both display and edit mode.

Flat object view floorplan
Flat object view floorplan

Usage

Use the flat object view floorplan if:

  • You want to switch to edit mode without disrupting the layout of the page.
  • You want to show the different sections for an object on one page.

Do not use the flat object view floorplan if:

  • The objects contain too much information for one page. Instead, use the object view floorplan, and build tabs to organize and simplify the content.

Structure

The flat object view has the same basic structure as the object view floorplan, with the object header control at the top and a footer toolbar at the bottom. However, unlike the object view floorplan, the flat object view does not have a tab container to switch between different facets of the object. Instead, it has one long flat layout with multiple form or table elements underneath each other. The flat object view builds entirely on existing controls. 

Flat object view – Structure
Flat object view – Structure

Responsivness and Adaptiveness

Flat object view on a phone
Flat object view on a phone
Flat object view on a tablet
Flat object view on a tablet
Flat object view on a desktop
Flat object view on a desktop

You can embed the flat object view floorplan in a full screen layout or split-screen layout. In both cases, it can be used as an alternative to the object view floorplan.

Flat object view – Split-screen layout
Flat object view – Split-screen layout

Edit

The flat object view is optimized for switching between the display and edit modes – the structure and layout of the page remain intact. In the object view, the tabs have to be flattened out in edit mode to avoid hidden editing errors and inconsistencies between tabs. In the flat object view, all elements are always visible, so any error messages and inconsistencies can be highlighted directly on the page.

Flat object view on a desktop device
Flat object view on a desktop device
Flat object view in edit mode
Flat object view in edit mode

In addition to the full page edit mode, the flat object view also supports a partial edit flow, where only certain sections switch to edit mode.

Flat object view – Partial edit for individual sections
Flat object view – Partial edit for individual sections
Flat object view – Partial edit active for one section
Flat object view – Partial edit active for one section

Scrolling

Because the flat object view displays everything on one page, users might need to scroll to reach the end. While scrolling itself is no longer critical – today’s devices all support optimized scroll gestures – usability issues can still occur with large tables and collapsible panels.

Embedding Large Tables

If the view contains a long embedded table, the remaining content may be pushed down too far. Therefore, when embedding a large table, make sure that you limit the number of items that are initially loaded. This ensures that the user can reach the content below the table.

Collapsible Panels

If your object has several sections, you might be tempted to use collapsible panels to reduce the length of the page and minimize scrolling. However, placing several collapsed panels below each other can look broken. It also forces the user to open and close containers, which can shift their position. This behavior has been proven to cause usability issues. Where possible, avoid using collapsible panels in the flat object view.

Flat object view – Scrolling behavior
Flat object view – Scrolling behavior
Avoid stacking collapsible panels
Avoid stacking collapsible panels

Guidelines

  • Avoid showing long tables in full when a page is first loaded. Instead, use lazy loading to display only the first 5 or 10 table items.
  • Avoid using collapsible panels to minimize scrolling.
  • Use either the panel or table controls as basic elements of the flat object page and avoid embedding elements in other elements. Placing the elements underneath each other makes the layout very clean and stable.
  • Use the object header at the top of the flat object view to give the page structure.
  • Choose between the global or local edit flow (the global flow is usually easier to handle).

Visual Design

The flat object view floorplan has no visual design of its own. However, app design and development teams should ensure that the margins and padding are similar to those of the normal page layout. For example, the controls should have the same margins inside the side content container.

Basic layout of the flat object view on a smartphone
Basic layout of the flat object view on a smartphone
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a tablet
Basic layout of the flat object view on a desktop
Basic layout of the flat object view on a desktop

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Introduction to Smart Templates (SAP Fiori Elements)

SAP Fiori elements (formerly known as smart templates) provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. The goals are to ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

SAP Fiori elements use annotations that add semantics and structures to the data provided by the user.

SAP Fiori elements are part of the SAPUI5 delivery.

Currently Available

The following floorplans are currently available with SAP Fiori elements (in full screen):

Where applicable, smart templates also provide draft handling, non-draft, and global edit flow functionalities, as well as message handling.

Smart templates – The production line for UIs
Smart templates – The production line for UIs

Responsiveness

The responsiveness of the SAP Fiori element depends on the responsiveness of the controls used.

SAP Fiori elements generally use priority annotation on fields and actions to control responsiveness. This annotation supports the values high, medium, and low. Annotating actions with a priority level helps to control the overflow behavior of the toolbar. In the responsive table, the priorities also define the pop-in behavior of columns.

Behavior and Interaction

The behavior and interaction generally follows the guidelines for the respective floorplan or concept. If the guideline offers choices, SAP Fiori elements implement the most generic option or, where possible, provide different options to choose from. Deviations from the guidelines are sometimes necessary due to current technical limitations, which are listed on the respective pages. These limitations are usually short term and will be solved in future releases.

SAP Fiori elements contain a certain amount of default text, which can be overridden by the app development team if necessary. One such example is standard message texts.

The templates offer breakout scenarios at page level, where it’s possible to add, remove, or replace whole pages, and at section level on the object page. See the object page article for more details.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • No links.

Introduction to Smart Templates (SAP Fiori Elements)

Smart templates provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. The goals are to ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

The term “smart” refers to the annotations that add semantics and structures to the provided data, and the way in which the templates understand these semantics.

Smart templates are part of the SAPUI5 delivery.

Currently Available

The following floorplans are currently available with smart templates (in full screen):

Where applicable, smart templates also provide draft handling, non-draft, and global edit flow functionalities, as well as message handling.

Smart templates – The production line for UIs
Smart templates – The production line for UIs
Information
The design can also include aspects that are not yet available. The app development team can prepare the service and annotations, and as soon as the new feature becomes available, it will automatically be shown (depending on the SAPUI5 version used in the corresponding system).

Development Process

Development steps in creating a smart template SAP Fiori app
Development steps in creating a smart template SAP Fiori app

Responsiveness

The responsiveness of the smart templates depends on the responsiveness of the controls used.

The templates generally use priority annotation on fields and actions to control responsiveness. This annotation supports the values high, medium, and low. Annotating actions with a priority level helps to control the overflow behavior of the toolbar. In the responsive table, the priorities also define the pop-in behavior of columns.

Behavior and Interaction

The behavior and interaction generally follows the guidelines for the respective floorplan or concept. If the guideline offers choices, the templates implement the most generic option or, where possible, provide different options to choose from. Deviations from the guidelines are sometimes necessary due to current technical limitations, which are listed on the respective pages.

The templates contain a certain amount of default text, which can be overridden by the app development team if necessary. One such example is standard message texts.

The only breakout scenario that the templates currently offer is to add, remove, or replace entire pages. Currently, it is not possible to override or replace specific parts of a page.

List Report (Smart Templates/SAP Fiori Elements)

The smart template list report floorplan is an instance of the general list report floorplan implemented as a reusable template. The list report floorplan allows users to work with large lists of items and take action. The guidelines for the list report generally apply. Existing deviations and limitations are listed below.

Usage

If you are not sure whether to use this floorplan, please consult the list report floorplan guidelines. Use this template to efficiently implement standard applications that are based on large lists. The smart filter bar, smart table, and object page sections support breakout scenarios. This means that custom-coded deviations are technically possible, although this is not the case for the object header.

Information
Due to technical or time constraints, the templates have certain limitations or deviations from the guidelines, which are listed below.

Responsiveness

The overall responsiveness depends mainly on the capability of the underlying controls; that is, the filter bar and the table being used. The table toolbar is responsive.
The template uses the smart table, which can render the responsive table, the grid table, and the analytical table. Depending on its use case, the app development team decides which table representation fits best. For more details, see the respective guideline articles.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The template comprises the same areas as the list report:

  • The app header showing the name of the app.
  • The smart filter bar with variant management.
  • The table toolbar for generic and app-specific actions.
  • The smart table with layout management.
  • The footer toolbar offering the share menu.
Schematic visualization of smart template – List report floorplan
Schematic visualization of smart template – List report floorplan

Behavior and Interaction

Smart Filter Bar

Within the smart filter bar, app-specific filters are also possible. The following are possible as breakout scenarios: combo box, select, input field, search field, and value help, date picker, and rating indicator.

The default variant in the filter bar cannot be executed automatically when the page is loading. However, users can create their own variants and configure them to be loaded automatically.

Actions in the Smart Table Toolbar

Rendering
The toolbar supports layout management. It shows generic actions rendered as text icons (for example, “personalize”, including sort, filter, and group, “export to spreadsheet”, and “add/create item”). App development teams may define their own actions, which are rendered as text buttons (such as Copy, Approve, or Delete).

Actions in the smart table toolbar
Actions in the smart table toolbar

Triggering
The user must select an item before triggering a use case specific action. Hiding actions is not possible. The app development team can define the type of dialog for the action:

  • The system simply triggers the action.
  • The action needs a user confirmation. This is used, for example, for critical actions that have severe consequences. The system opens a dialog in which the user needs to confirm the action. This message is generic and cannot be replaced.
  • The action needs additional user input, such as an approval comment. The system opens a dialog with one or more entry elements in which the user enters the required data. The system can prefill data if applicable.

Smart Table 

The smart table supports the following table types: responsive table, grid table, analytical table, and tree table. We do not recommend using the tree table at present.
The smart table supports the display of:

  • Single and multi selection of rows.
  • Draft/locked state indication within the rows.
  • Line item navigation inside the app (to a related object page, for example).
  • Link and smart link to navigate to different targets, also outside the application.

 

At present, the smart table does not support:

  • The object number. Showing, for example, an amount as an object number would not appear specially formatted, but as standard text.
  • Line item navigation to outside apps.

 

The grid table and the analytical table do not support:

  • Line item navigation with a chevron icon to detail screens. As a short-term solution, the toolbar offers the “Show Details” action for navigating to details.

 

Only the responsive table supports the display of:

  • A specific status like “out of stock” in connection with the standard semantic color status icon.
  • The object identifier, showing the product name and ID.

 

Only the responsive table does not support:

  • The enabling, disabling, showing, or hiding of action buttons. Action buttons are always displayed, even if they would not have an effect with a specific item chosen by the user. The app displays an error message in these cases.
  • Smart multi selection which applies the items that are chosen and applicable in the given use case. For example, if a user chooses five items and only three are applicable to the chosen action, the app displays an error message. This generally enables multi selection.

Footer Toolbar

App-specific actions cannot currently be offered in the footer toolbar besides the share.

The footer toolbar offers the share menu in an action sheet. It features Save as Tile if the launchpad is available, Send Email, and Share in Jam if Jam is available.

At present, the message popover for error messages is only supported by the object page, not within the list report.

The footer toolbar offers the share menu in an action sheet.
The footer toolbar offers the share menu in an action sheet.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report (Smart Templates/SAP Fiori Elements)

The smart template list report floorplan is an instance of the general list report floorplan implemented as a reusable template. The list report floorplan allows users to work with large lists of items and take action. The guidelines for the list report generally apply. Existing deviations and limitations are listed below.

Usage

If you are not sure whether to use this floorplan, please consult the list report floorplan guidelines. Use this template to efficiently implement standard applications that are based on large lists. The smart filter bar, smart table, and object page sections support breakout scenarios. This means that custom-coded deviations are technically possible, although this is not the case for the object header.

Information
Due to technical or time constraints, the templates have certain limitations or deviations from the guidelines, which are listed below.

Responsiveness

The overall responsiveness depends mainly on the capability of the underlying controls; that is, the filter bar and the table being used. The table toolbar is responsive.
The template uses the smart table, which can render the responsive table, the grid table, and the analytical table. Depending on its use case, the app development team decides which table representation fits best. For more details, see the respective guideline articles.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The template comprises the same areas as the list report:

  • The app header showing the name of the app.
  • The smart filter bar with variant management.
  • The table toolbar for generic and app-specific actions.
  • The smart table with layout management.
  • The footer toolbar offering the share menu.
Schematic visualization of smart template – List report floorplan
Schematic visualization of smart template – List report floorplan

Behavior and Interaction

Smart Filter Bar

Within the smart filter bar, app-specific filters are also possible. Besides the combo box, select, input field, search field, and value help, all other controls are also possible as breakout scenarios, for example the date picker and the rating indicator .

The default variant in the filter bar cannot be executed automatically when the page is loading. However, users can create their own variants and configure them to be loaded automatically.

The variant management works as a page variant. The variant management saves all states of  the page at once, including filter settings and table layouts, so there won´t be different variants for different controls.

Actions in the Smart Table Toolbar

Rendering

The toolbar supports layout management. It shows generic actions rendered as icons (like “personalize”, including sort, filter, and group, “export to spreadsheet”, and “add/create item”). App development teams may define their own actions, which are rendered as text buttons (such as Copy, Approve, or Delete).

Actions in the smart table toolbar
Actions in the smart table toolbar

Triggering

The user must select an item before triggering a use case specific action. Disabling actions is not possible. The app development team can define the type of dialog for the action:

  • The system simply triggers the action.
  • The action needs a user confirmation. This is used, for example, for critical actions that have severe consequences. The system opens a dialog in which the user needs to confirm the action. This message is generic and cannot be replaced.
  • The action needs additional user input, such as an approval comment. The system opens a dialog with one or more entry elements in which the user enters the required data. The system can prefill data if applicable.

Smart Table

Within the smart template list report, you can use the responsive table, grid table, and analytical table within the smart table. The tree table is not supported by the smart template list report.

The smart table supports the display of:

  • Single and multiselection of rows.
  • Draft/locked state indication within the rows.
  • Line item navigation inside the app (for example, to a related object page).
  • Line item cross navigation to another SAP Fiori application or even to another system.
  • Link and smart link to navigate to different targets, also outside the application.
  • Actions on row level in text or icon form (such as Approve, Reject, etc.)
  • Rating indicator and progress bar.
  • Full screen mode via maximize button in the table toolbar.

Only the responsive table supports the display of:

  • A specific status (such as Out of Stock) in connection with the standard semantic color status icon.
  • The object identifier, showing the product name and ID.
  • Pictures in line items.

At present, the smart table does not support:

  • The object number. Object numbers (such as amounts) will appear as standard text.

The grid table and the analytical table do not support:

  • Line item navigation with a chevron icon to detail screens. As a short-term solution, the toolbar offers the action Show Details to allow the user to navigate to further details.

Only the responsive table does not support:

  • The enabling, disabling, showing, or hiding of action buttons. Action buttons are always displayed, even if they would not have an effect on a specific item chosen by the user. The app displays an error message in these cases.
  • Smart multiselection, which applies the items that are chosen and applicable in the given use case. For example, if a user chooses five items and only three are applicable to the chosen action, the app displays an error message.

Footer Toolbar

  • App-specific actions cannot currently be offered in the footer toolbar, aside from the share action.
  • The footer toolbar offers the share menu in an action sheet. It featuresSave as Tile if the launchpad is available, and Send Email and Share in Jam if Jam is available.
  • At present, the message popover for error messages is only supported by the object page, not within the list report.
  • Buttons can be emphasized to give them a brighter appearance.
The footer toolbar offers the share menu in an action sheet.
The footer toolbar offers the share menu in an action sheet.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report (Smart Templates/SAP Fiori Elements)

The SAP Fiori element list report (formerly referred to as smart template) is an instance of the general list report floorplan implemented as a reusable template. The list report floorplan allows users to work with large lists of items and take action. The guidelines for the list report generally apply. Existing deviations and limitations are listed below.

Usage

If you are not sure whether to use this floorplan, please consult the list report floorplan guidelines. Use this template to efficiently implement standard applications that are based on large lists. The smart filter bar, smart table, and object page sections support breakout scenarios. This means that custom-coded deviations are technically possible, although this is not the case for the object header.

Information
Due to technical or time constraints, the templates have certain limitations or deviations from the guidelines, which are listed below.

Responsiveness

The overall responsiveness depends mainly on the capability of the underlying controls; that is, the filter bar and the table being used. The table toolbar is responsive.
The template uses the smart table, which can render the responsive table, the grid table, and the analytical table. Depending on its use case, the app development team decides which table representation fits best. For more details, see the respective guideline articles.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The template is based on the dynamic page and consists of the following areas:

  • The shell header shows the name of the app.
  • The header title shows the variant management for the page, filter information (if the header content is collapsed) and global actions such as Share.
  • The header content (collapsible) including the smart filter bar.
  • The smart table including a table toolbar with (optional) layout management and generic and app-specific actions.
  • The footer toolbar for displaying finalizing actions.
Schematic visualization of the SAP Fiori element list report
Schematic visualization of the SAP Fiori element list report

Behavior and Interaction

Header Title

The title bar includes variant management, filter information, and a toolbar for global actions such as Share.

By default, the variant management saves the filter settings only. In addition, It can also save the table layout settings (which is recommended), so that no additional variant management for the table is needed.

The default variant in the filter bar cannot be executed automatically when the page is loading. However, users can create their own variants and configure them to be loaded automatically.

The toolbar is reserved for actions. In most cases, this toolbar should only contain the Share icon button. The Share button opens an action sheet, which features Save as Tile (if the launchpad is available), Send Email, and Share in Jam (if Jam is available). Show the Share button only if it makes sense for your application.

Header Content – Smart Filter Bar

Within the smart filter bar, app-specific filters are also possible. Apart from the combo box, select, input field, search field, and value help, it’s also possible to use other controls, such as the date picker or the rating indicator, in breakout scenarios.

The filter bar collapses when scrolling down the page (with sap.m.Table only), and expandeds again when scrolling back up. To avoid this automatic expansion and collapse, users can also pin the filter bar so that it always stays open.

Expansion and collapse of the filter bar also works by clicking on the background of the title bar.

The filter bar offers the manual update mode (default) and the live update mode. The manual update mode displays a Go button which triggers the filtering. The live update mode triggers filtering each time a filter setting is changed.

Use the manual update mode only if you run into performance problems while loading the table data.

Smart Table – Table Toolbar

Available Actions

The toolbar can support the following functionalities:

  • Table title
  • Item count
    • Turned on by default. Turn it off if requesting the item count causes performance problems.
  • Variant management for the table layout
    • Although it is turned on by default, it should not be used in most cases. Table layouts should be stored together with the page variant instead, so that there is only one place for managing variants on the entire page.
  • Add/Create
    • An icon button to trigger an object page for creating an item. If this functionality is not needed, or if adding or creating new items should work in a different way (such as via a dialog), turn it off.
  • Delete
    • A text button to delete selected items. Delete is enabled as soon as deletable items are part of the selection. If this functionality is not needed, turn it off.
  • View settings (Sort, Filter, Group)
  • Export to Spreadsheet
    • An icon button to trigger downloading of table data. If you need export functionality, turn this on.
  • Maximize
    • An icon button to open the table in full-screen mode. This should be needed only rarely in the list report. It is turned off by default.
  • In addition, app-specific actions can be added, such as Copy or Approve. These actions are displayed as text buttons. App-specific actions are always enabled. If the selection does not meet the requirements of the action, a message dialog is triggered.

Actions can be emphasized (do this for zero or one app-specific action only) or be shown in a positive and negative state.

Actions in the smart table toolbar
Actions in the smart table toolbar

Triggering

App-specific actions can be one of the following types:

  • The system simply triggers the action.
  • The action needs a user confirmation. This is used, for example, for critical actions that have severe consequences. The system opens a dialog in which the user needs to confirm the action. This message is generic and cannot be replaced.
  • The action needs additional user input, such as an approval comment. The system opens a dialog with one or more entry elements in which the user enters the required data. The system can prefill data if applicable.

App-specific actions can also trigger a navigation to another app or to a related object page inside the same app. The navigation can depend on zero or one selected item(s).

Smart Table

Within this SAP Fiori element, you can use the responsive table, grid table, or analytical table within the smart table. The tree table is not supported.

The smart table supports:

  • None-, single-, or multiselection.
    • For multi-selection, theSAP Fiori element triggers the action for all selected items. If an error occurs with one or more of the selected items, a message is displayed. All other items are processed.
  • Text control in line items.
  • Indications of editing states within the rows.
    • For example, Draft or Locked by….The table can be filtered by the editing states by using the filter bar.
  • Line item navigation inside the app (to a related object page only).
  • Line item cross navigation to another SAP Fiori application or to another system.
  • Link and smart link to navigate to any webpage, to another app, or to a related object page inside the same app.
  • Line item actions as text or icon buttons (such as Approve or Reject)
  • Object status control in line items:
    • Use of a specific status such as Out of Stock in connection with the standard semantic color and/or status icon.
  • Any control which the corresponding table allows by using breakout columns.

At present, the smart table does not support:

  • The object number. Amounts appear as standard text only.

Only the responsive table supports:

  • A column that displays the object identifier, including the object name and ID.
  • Pictures in line items.
  • A rating indicator and progress bar in line items.
  • Line item navigation with a chevron icon to detail screens. For the grid table and analytical table, the toolbar offers a Show Details button instead.

Only the grid table and analytical table support:

  • App-specific column widths: While the smart template list report uses an automatic calculation for the width of each column, this calculation is not always perfect. Apps can override the calculated width per column.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

List Report (SAP Fiori Elements)

The SAP Fiori element list report (formerly referred to as smart template) is an instance of the general list report floorplan implemented as a reusable template. The list report floorplan allows users to work with large lists of items and take action. The guidelines for the list report generally apply. Existing deviations and limitations are listed below.

Usage

If you are not sure whether to use this floorplan, please consult the list report floorplan guidelines. Use this template to efficiently implement standard applications that are based on large lists. The smart filter bar, smart table, and object page sections support breakout scenarios. This means that custom-coded deviations are technically possible, although this is not the case for the object header.

Information
Due to technical or time constraints, the templates have certain limitations or deviations from the guidelines, which are listed below.

Responsiveness

The overall responsiveness depends mainly on the capability of the underlying controls; that is, the filter bar and the table being used. The table toolbar is responsive.
The template uses the smart table, which can render the responsive table, the grid table, and the analytical table. Depending on its use case, the app development team decides which table representation fits best. For more details, see the respective guideline articles.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The template is based on the dynamic page and consists of the following areas:

  • The shell header shows the name of the app.
  • The header title shows the variant management for the page, filter information (if the header content is collapsed) and global actions such as Share.
  • The header content (collapsible) including the smart filter bar.
  • The smart table including a table toolbar with (optional) layout management and generic and app-specific actions.
  • The footer toolbar for displaying finalizing actions.
Schematic visualization of the SAP Fiori element list report
Schematic visualization of the SAP Fiori element list report

Behavior and Interaction

Header Title

The title bar includes variant management, filter information, and a toolbar for global actions such as Share.

By default, the variant management saves the filter settings only. In addition, It can also save the table layout settings (which is recommended), so that no additional variant management for the table is needed.

The default variant in the filter bar cannot be executed automatically when the page is loading. However, users can create their own variants and configure them to be loaded automatically.

The toolbar is reserved for actions. In most cases, this toolbar should only contain the Share icon button. The Share button opens an action sheet, which features Save as Tile (if the launchpad is available), Send Email, and Share in Jam (if Jam is available). Show the Share button only if it makes sense for your application.

Header Content – Smart Filter Bar

Within the smart filter bar, app-specific filters are also possible. Apart from the combo box, select, input field, search field, and value help, it’s also possible to use other controls, such as the date picker or the rating indicator, in breakout scenarios.

The filter bar collapses when scrolling down the page (with sap.m.Table only), and expands again when scrolling back up. To avoid this automatic expansion/collapse, users can also pin the filter bar so that it always stays open.

Expanding and collapsing the filter bar also works by clicking the background of the title bar.

The filter bar offers the manual update mode (default) and the live update mode. The manual update mode displays a Go button, which triggers the filtering. The live update mode triggers filtering each time a filter setting is changed.

Use the manual update mode only if you run into performance problems while loading the table data.

Smart Table – Table Toolbar

Available Actions

The toolbar can support the following functionalities:

  • Table title
  • Item count
    • Turned on by default. Turn it off if requesting the item count causes performance problems.
  • Variant management for the table layout
    • Although it is turned on by default, it should not be used in most cases. Table layouts should be stored together with the page variant instead, so that there is only one place for managing variants on the entire page.
  • Add/Create
    • An icon button that triggers an object page for creating an item. If this functionality is not needed, or if adding or creating new items should work in a different way (such as via a dialog), turn it off.
  • Delete
    • A text button to delete selected items. Delete is enabled as soon as deletable items are part of the selection. If this functionality is not needed, turn it off.
  • View Settings (Sort, Filter, Group)
  • Export to Spreadsheet
    • An icon button that triggers the downloading of table data. If you need export functionality, turn this on.
  • Maximize
    • An icon button to open the table in full-screen mode. This should be needed only rarely in the list report. It is turned off by default.
  • In addition, app-specific actions can be added, such as Copy or Approve. These actions are displayed as text buttons. App-specific actions can be enabled or disabled, pending on the selection in the table.

Actions can be emphasized (do this for zero or one app-specific action only) or be shown in a positive and negative state.

Actions in the smart table toolbar
Actions in the smart table toolbar

Triggering

App-specific actions can be one of the following types:

  • The system simply triggers the action.
  • The action needs a user confirmation. This is used, for example, for critical actions that have severe consequences. The system opens a dialog in which the user needs to confirm the action. This message is generic and cannot be replaced.
  • The action needs additional user input, such as an approval comment. The system opens a dialog with one or more entry elements in which the user enters the required data. The system can prefill data if applicable.

App-specific actions can also trigger a navigation to another app or to a related object page inside the same app. The navigation can depend on zero or one selected item(s).

Smart Table

Within this SAP Fiori element, you can use the responsive tablegrid table, or analytical table within the smart table. The tree table is not supported.

The smart table supports:

  • None, single, or multiselection.
    • For multiselection, the SAP Fiori Element triggers the action for all selected items. If an error occurs with one or more of the selected items, a message is displayed. All other items are processed.
  • Text control in line items.
  • Indications of editing states within the rows.
    • For example, Draft or Locked by….The table can be filtered by the editing states by using the filter bar.
  • Line item navigation inside the app (to a related object page only).
  • Line item cross navigation to another SAP Fiori application or to another system.
  • Link and smart link to navigate to any webpage, to another app, or to a related object page inside the same app.
  • Line item actions as text or icon buttons (such as Approve or Reject)
  • Object status control in line items:
    • Use of a specific status such as Out of Stock in connection with the standard semantic color and/or status icon.
  • Any control which the corresponding table allows by using breakout columns.

At present, the smart table does not support:

Only the responsive table supports:

Only the grid table and analytical table support:

  • App-specific column widths: While the smart template list report uses an automatic calculation for the width of each column, this calculation is not always perfect. Apps can override the calculated width per column.

Footer Toolbar

Finalizing actions are placed on the footer toolbar. Finalizing actions can be shown or hidden (for example, depending on access rights).

Use the footer toolbar only if you have closing or finalizing actions for the whole page. For the list report, this is only a rare case.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Wizard Floorplan

The wizard floorplan allows users to complete a long or unfamiliar task by dividing it into sections and guiding the user through it. The wizard consists of the walkthrough screen, where the form sections are revealed in sequence after each one is completed, and the summary page, where the form is displayed in read-only mode for assessment and final submission. You can use the wizard both in full-screen and split-screen layouts.

Wizard - Steps
Wizard - Steps

Usage

When to Use the Wizard Floorplan

The wizard aims to help users by dividing large or complex tasks into segments. Use the wizard if the user has to accomplish a long task (such as filling out a long questionnaire) or a task that is unfamiliar to the user. The wizard should lead the user through a minimum of 3 and a maximum of 8 steps.

When Not to Use the Wizard Floorplan

If you have a task with only 2 steps or a format that the user is familiar with (for example, it is part of their daily routine), do not use the wizard as it only adds unnecessary clicks to the process. If your process needs more than 8 steps, the wizard will not support those steps as the process is too long and can be confusing for the user. In this case, you should consider restructuring the task.

The main use case for a wizard is creating business objects. For edit use cases, use the edit flow or the object page.

Responsiveness

The wizard supports all devices (except smartwatches). It is available in cozy and compact modes, and has been specified for high-contrast black as well.

Wizard – Size S
Wizard – Size S
Wizard – Size M
Wizard – Size M
Wizard – Size L
Wizard – Size L

Structure

The wizard has two main screens: the walkthrough screen, where users complete a segmented task, and the summary screen, where they can check the data they are about to submit. Wizard content is not restricted to forms; other content such as a value help dialog can also be used.

Walkthrough Screen

The walkthrough screen is the wizard’s main screen. After triggering the wizard, the user is taken to the walkthrough screen, which shows only the first section of the form. Once the user has filled out all the necessary fields, a Step XY button appears, which allows the user to move to the next step. When the user has completed the last section of the wizard, the button label changes to Review and the user is taken to the summary screen.

The wizard footer is used to display the Cancel button, which exits the wizard. If the user has modified any fields, a data loss message also prompts the user. You can also use a Save as Draft function in the footer if the form is long and the user may have to save it before finishing it.

Walkthrough screen in full screen layout
Walkthrough screen in full screen layout

The progress bar/anchor navigation highlights the completed steps and the current step. It also allows the user to navigate between steps by clicking on any of the circles.

The progress bar exhibits a grouping behavior if there are multiple steps and the screen width is reduced. This behavior is the same on smartphone, tablet, and desktop screens.

Wizard header and anchor navigation
Wizard header and anchor navigation
Wizard Tooltip – Grouped steps
Wizard Tooltip – Grouped steps

Depending on user preference, you can also have an unknown number of steps after a particular step (“branching”). In this case, a dotted line shows that more steps will follow.

Wizard branching
Wizard branching

Summary Screen

The summary screen has no progress bar/anchor navigation. It shows the completed steps in read-only mode, which can then be proofread before being submitted.

The summary screen consists of the form sections displayed in read-only mode. To allow the user to go back and edit entries, an Edit button needs to be provided either in the footer or on each form section.

If the Edit button is placed in the footer, the user is taken back to the first section of the wizard, while the buttons on each section allow the user to jump to that particular step. Alternatively, users can click the back button to go to the last step. From here, they can scroll or tap through the sections.

The main action on the summary page should reflect the action taken by the user when completing the wizard, such as Submit or Save.

Wizard summary page example
Wizard summary page example

Layout

Wizard structure in full screen layout
Wizard structure in full screen layout
Wizard structure in split-screen layout
Wizard structure in split-screen layout

Types

There are two types of wizard – “standard” and “branching” – which differ in terms of the functions they offer.

Use the standard type if:

  • The total number of steps is known in advance.
  • The number of steps does not change during usage.
  • There is linear progression from one step to the next.

Use the branching type if:

  • The total number of steps is not known.
  • The number of steps may change during usage.
  • There is non-linear progression. In other words, the user’s choice during one step determines which step comes next.

Styles

In addition to the functional types, there are also different visual styles.

Numbers and Icons

By default, both versions use a number inside a circle to represent each step. App developers also have the option of using icons instead of numbers to help users identify the steps. If you plan to use icons, be sure to assign icons to all the steps (not just to some). The icons you choose should be unique and not look too similar. This will ensure that users do not get individual steps confused with one another.

Steps represented by numbers
Steps represented by numbers
Steps represented by icons
Steps represented by icons

Labels

To help users identify the individual steps even more easily, app developers can assign labels. As with icons, labels must be applied to all or none of the steps.

If there is enough horizontal space, all labels are shown.

All labels are visible
All labels are visible

As the width is reduced, the steps outside the currently selected one do not show labels.

Labels - reduced width
Labels - reduced width

Finally, the unselected and outermost steps are stacked on top of each other to further accommodate the reduced space.

Stacked labels
Stacked labels

Users can still easily access steps inside a stack. A single click opens a list of steps inside this stack.

Labels - stacked popover
Labels - stacked popover

Explanatory Texts

Ideally, the steps’ headlines and field labels should be enough information for users to complete their tasks. However, if additional explanations are needed, applications can put a simple text underneath a step’s headline – either via the sap.m.Text or the sap.m.FormattedText control.

Navigation and Error Handling

Navigation

Users can trigger the wizard app from another application, the launchpad, or a notification. The wizard always starts at the initial walkthrough page and ends after the user has clicked the main action (such as Submit) on the summary screen. The Step XY button is only used on the walkthrough page, and its purpose is to load the next section of the form.

On the summary page, the user can use either the Edit button in the footer or the “back” arrow to return to the wizard and edit any of the fields.

Modifying dependent steps: If there are steps that depend on each other (for example, a selection in step 2 triggers an optional step) and the user modifies the parent step, the dependent step is changed or deleted. This first triggers a warning message (when the input control loses focus) that data will be lost.

Error Handling

Error handling is done via message popovers. When the user clicks the Step XY button, the form sections and fields should be validated. When the user clicks the Submit button on the summary page, the entire form is validated. If there are any errors, the user stays on the walkthrough page, the message popover is displayed, and clicking any of the error items scrolls the page to the relevant field, which is also highlighted in red.

Section validation differs from validation of the entire form. In the first case, correct data entry in the form fields is validated. In the second case, the entire form is checked for backend system errors (such as duplicated data entry).

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • Wizard (SAPUI5 API reference)
  • Wizard (SAPUI5 samples)
  • Form (SAPUI5 API reference)
  • Form (SAPUI5 samples)

Wizard Floorplan

The wizard floorplan allows users to complete a long or unfamiliar task by dividing it into sections and guiding the user through it. The wizard consists of the walkthrough screen, where the form sections are revealed in sequence after each one is completed, and the summary page, where the form is displayed in read-only mode for assessment and final submission. You can use the wizard both in full-screen and split-screen layouts.

Wizard floorplan
Wizard floorplan

Usage

When to Use the Wizard Floorplan

The wizard aims to help users by dividing large or complex tasks into segments. Use the wizard if the user has to accomplish a long task (such as filling out a long questionnaire) or a task that is unfamiliar to the user. The wizard should lead the user through a minimum of 3 and a maximum of 8 steps.

When Not to Use the Wizard Floorplan

If you have a task with only 2 steps or a format that the user is familiar with (for example, it is part of their daily routine), do not use the wizard as it only adds unnecessary clicks to the process. If your process needs more than 8 steps, the wizard will not support those steps as the process is too long and can be confusing for the user. In this case, you should consider restructuring the task.

The main use case for a wizard is creating business objects. For edit use cases, use the edit flow or the object page.

Structure

The wizard has two main screens: the walkthrough screen, where users complete a segmented task, and the summary screen, where they can check the data they are about to submit. Wizard content is not restricted to forms; other content such as a value help dialog can also be used.

Walkthrough Screen

The walkthrough screen is the wizard’s main screen. After triggering the wizard, the user is taken to the walkthrough screen, which shows only the first section of the form. Once the user has filled out all the necessary fields, a Step XY button appears, which allows the user to move to the next step. When the user has completed the last section of the wizard, the button label changes to Review and the user is taken to the summary screen.

The wizard footer is used to display the Cancel button, which exits the wizard. If the user has modified any fields, a data loss message also prompts the user. You can also use a Save as Draft function in the footer if the form is long and the user may have to save it before finishing it.

Walkthrough screen in full screen layout
Walkthrough screen in full screen layout

The progress bar/anchor navigation highlights the completed steps and the current step. It also allows the user to navigate between steps by clicking on any of the circles.

The progress bar exhibits a grouping behavior if there are multiple steps and the screen width is reduced. This behavior is the same on smartphone, tablet, and desktop screens.

Wizard progress bar and anchor navigation
Wizard progress bar and anchor navigation

Depending on user preference, you can also have an unknown number of steps after a particular step (“branching”). In this case, a dotted line shows that more steps will follow.

Wizard branching
Wizard branching

Summary Screen

The summary screen has no progress bar/anchor navigation. It shows the completed steps in read-only mode, which can then be proofread before being submitted.

The summary screen consists of the form sections displayed in read-only mode. To allow the user to go back and edit entries, an Edit button needs to be provided either in the footer or on each form section.

If the Edit button is placed in the footer, the user is taken back to the first section of the wizard, while the buttons on each section allow the user to jump to that particular step. Alternatively, users can click the back button to go to the last step. From here, they can scroll or tap through the sections.

The main action on the summary page should reflect the action taken by the user when completing the wizard, such as Submit or Save.

Wizard summary page example
Wizard summary page example

Layout

Wizard structure in full screen layout
Wizard structure in full screen layout
Wizard structure in split-screen layout
Wizard structure in split-screen layout

Types

There are two types of wizard – “standard” and “branching” – which differ in terms of the functions they offer.

Use the standard type if:

  • The total number of steps is known in advance.
  • The number of steps does not change during usage.
  • There is linear progression from one step to the next.

Use the branching type if:

  • The total number of steps is not known.
  • The number of steps may change during usage.
  • There is non-linear progression. In other words, the user’s choice during one step determines which step comes next.

Styles

In addition to the functional types, there are also different visual styles.

Numbers and Icons

By default, both versions use a number inside a circle to represent each step. App developers also have the option of using icons instead of numbers to help users identify the steps. If you plan to use icons, be sure to assign icons to all the steps (not just to some). The icons you choose should be unique and not look too similar. This will ensure that users do not get individual steps confused with one another.

Steps represented by numbers
Steps represented by numbers
Steps represented by icons
Steps represented by icons

Explanatory Texts

Ideally, the steps’ headlines and field labels should be enough information for users to complete their tasks. However, if additional explanations are needed, applications can put a simple text underneath a step’s headline – either via the sap.m.Text or the sap.m.FormattedText control.

Responsiveness and Adaptation

The wizard supports all devices (except smartwatches). It is available in cozy and compact modes, and has been specified for high-contrast black as well.

Wizard – Size S
Wizard – Size S
Wizard – Size M
Wizard – Size M
Wizard – Size L
Wizard – Size L

Navigation and Error Handling

Navigation

Users can trigger the wizard app from another application, the launchpad, or a notification. The wizard always starts at the initial walkthrough page and ends after the user has clicked the main action (such as Submit) on the summary screen. The Step XY button is only used on the walkthrough page, and its purpose is to load the next section of the form.

On the summary page, the user can use either the Edit button in the footer or the “back” arrow to return to the wizard and edit any of the fields.

Modifying dependent steps: If there are steps that depend on each other (for example, a selection in step 2 triggers an optional step) and the user modifies the parent step, the dependent step is changed or deleted. This first triggers a warning message (when the input control loses focus) that data will be lost.

Error Handling

Error handling is done via message popovers. When the user clicks the Step XY button, the form sections and fields should be validated. When the user clicks the Submit button on the summary page, the entire form is validated. If there are any errors, the user stays on the walkthrough page, the message popover is displayed, and clicking any of the error items scrolls the page to the relevant field, which is also highlighted in red.

Section validation differs from validation of the entire form. In the first case, correct data entry in the form fields is validated. In the second case, the entire form is checked for backend system errors (such as duplicated data entry).

Wizard error handling
Wizard error handling

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • Wizard (SAPUI5 API reference)
  • Wizard (SAPUI5 samples)
  • Form (SAPUI5 API reference)
  • Form (SAPUI5 samples)

Wizard Floorplan

The wizard floorplan allows users to complete a long or unfamiliar task by dividing it into sections and guiding the user through it. The wizard consists of the walkthrough screen, where the form sections are revealed in sequence after each one is completed, and the summary page, where the form is displayed in read-only mode for assessment and final submission. You can use the wizard both in full-screen and split-screen layouts.

Wizard floorplan
Wizard floorplan

Usage

When to Use the Wizard Floorplan

The wizard aims to help users by dividing large or complex tasks into segments. Use the wizard if the user has to accomplish a long task (such as filling out a long questionnaire) or a task that is unfamiliar to the user. The wizard should lead the user through a minimum of 3 and a maximum of 8 steps.

When Not to Use the Wizard Floorplan

If you have a task with only 2 steps or a format that the user is familiar with (for example, it is part of their daily routine), do not use the wizard as it only adds unnecessary clicks to the process. If your process needs more than 8 steps, the wizard will not support those steps as the process is too long and can be confusing for the user. In this case, you should consider restructuring the task.

The main use case for a wizard is creating business objects. For edit use cases, use the edit flow or the object page.

Structure

The wizard has two main screens: the walkthrough screen, where users complete a segmented task, and the summary screen, where they can check the data they are about to submit. Wizard content is not restricted to forms; other content such as a value help dialog can also be used.

Walkthrough Screen

The walkthrough screen is the wizard’s main screen. After triggering the wizard, the user is taken to the walkthrough screen, which shows only the first section of the form. Once the user has filled out all the necessary fields, a Step XY button appears, which allows the user to move to the next step. When the user has completed the last section of the wizard, the button label changes to Review and the user is taken to the summary screen.

The wizard footer is used to display the Cancel button, which exits the wizard. If the user has modified any fields, a data loss message also prompts the user. You can also use a Save as Draft function in the footer if the form is long and the user may have to save it before finishing it.

Walkthrough screen in full screen layout
Walkthrough screen in full screen layout

The progress bar/anchor navigation highlights the completed steps and the current step. It also allows the user to navigate between steps by clicking on any of the circles.

The progress bar exhibits a grouping behavior if there are multiple steps and the screen width is reduced. This behavior is the same on smartphone, tablet, and desktop screens.

Wizard progress bar and anchor navigation
Wizard progress bar and anchor navigation

Depending on user preference, you can also have an unknown number of steps after a particular step (“branching”). In this case, a dotted line shows that more steps will follow.

Wizard branching
Wizard branching

Summary Screen

The summary screen has no progress bar/anchor navigation. It shows the completed steps in read-only mode, which can then be proofread before being submitted.

The summary screen consists of the form sections displayed in read-only mode. To allow the user to go back and edit entries, an Edit button needs to be provided either in the footer or on each form section.

If the Edit button is placed in the footer, the user is taken back to the first section of the wizard, while the buttons on each section allow the user to jump to that particular step. Alternatively, users can click the back button to go to the last step. From here, they can scroll or tap through the sections.

The main action on the summary page should reflect the action taken by the user when completing the wizard, such as Submit or Save.

Wizard summary page example
Wizard summary page example

Layout

Wizard structure in full screen layout
Wizard structure in full screen layout
Wizard structure in split-screen layout
Wizard structure in split-screen layout

Types

There are two types of wizard – “standard” and “branching” – which differ in terms of the functions they offer.

Use the standard type if:

  • The total number of steps is known in advance.
  • The number of steps does not change during usage.
  • There is linear progression from one step to the next.

Use the branching type if:

  • The total number of steps is not known.
  • The number of steps may change during usage.
  • There is non-linear progression. In other words, the user’s choice during one step determines which step comes next.

Styles

In addition to the functional types, there are also different visual styles.

Numbers and Icons

By default, both versions use a number inside a circle to represent each step. App developers also have the option of using icons instead of numbers to help users identify the steps. If you plan to use icons, be sure to assign icons to all the steps (not just to some). The icons you choose should be unique and not look too similar. This will ensure that users do not get individual steps confused with one another.

Steps represented by numbers
Steps represented by numbers
Steps represented by icons
Steps represented by icons

Labels

To help users identify the individual steps even more easily, app developers can assign labels. As with icons, labels must be applied to all or none of the steps.

If there is enough horizontal space, all labels are shown.

All labels are visible
All labels are visible

As the width is reduced, the steps outside the currently selected one do not show labels.

Labels - reduced width
Labels - reduced width

Finally, the unselected and outermost steps are stacked on top of each other to further accommodate the reduced space.

Stacked labels
Stacked labels

Users can still easily access steps inside a stack. A single click opens a list of steps inside this stack.

Labels - stacked popover
Labels - stacked popover

Explanatory Texts

Ideally, the steps’ headlines and field labels should be enough information for users to complete their tasks. However, if additional explanations are needed, applications can put a simple text underneath a step’s headline – either via the sap.m.Text or the sap.m.FormattedText control.

Responsiveness and Adaptation

The wizard supports all devices (except smartwatches). It is available in cozy and compact modes, and has been specified for high-contrast black as well.

Wizard – Size S
Wizard – Size S
Wizard – Size M
Wizard – Size M
Wizard – Size L
Wizard – Size L

Navigation and Error Handling

Navigation

Users can trigger the wizard app from another application, the launchpad, or a notification. The wizard always starts at the initial walkthrough page and ends after the user has clicked the main action (such as Submit) on the summary screen. The Step XY button is only used on the walkthrough page, and its purpose is to load the next section of the form.

On the summary page, the user can use either the Edit button in the footer or the “back” arrow to return to the wizard and edit any of the fields.

Modifying dependent steps: If there are steps that depend on each other (for example, a selection in step 2 triggers an optional step) and the user modifies the parent step, the dependent step is changed or deleted. This first triggers a warning message (when the input control loses focus) that data will be lost.

Error Handling

Error handling is done via message popovers. When the user clicks the Step XY button, the form sections and fields should be validated. When the user clicks the Submit button on the summary page, the entire form is validated. If there are any errors, the user stays on the walkthrough page, the message popover is displayed, and clicking any of the error items scrolls the page to the relevant field, which is also highlighted in red.

Section validation differs from validation of the entire form. In the first case, correct data entry in the form fields is validated. In the second case, the entire form is checked for backend system errors (such as duplicated data entry).

Wizard error handling
Wizard error handling

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

  • Wizard (SAPUI5 API reference)
  • Wizard (SAPUI5 samples)
  • Form (SAPUI5 API reference)
  • Form (SAPUI5 samples)

Edit Page Floorplan

Simple edit (compact mode) on split screen
Simple edit (compact mode) on split screen

The edit page floorplan offers various options for editing an existing object or page. You can use this floorplan for standalone apps, full screen apps, or as part of a split-screen layout. The edit page contains forms and numerous other controls.

There are two ways in which a user can set an app to edit mode (examples are provided below):

  • The user enters the app, which is already in edit mode by default and no action has been triggered.
  • The user has to click or tap the Edit button to set the page to edit mode.

The use case determines which variant should be chosen.

There are also several ways of editing a page to support different use cases (more details about this are provided later):

  • Simple edit
  • Partial edit

Note:

  • The flow of the form should follow the logic of creation. Use in-place messages on the fields for validation.
  • If you are using the edit flow combined with draft handling, have a look at the draft handling article.
  • With full screen layout, you can also set the whole table to edit mode and edit the values directly. Such cases are rather exceptional.
  • The object view and flat object view floorplans use specific edit patterns, which are described under Object View Floorplan and Flat Object View Floorplan.
  • Editing multiple items on the master list allows you to implement multiselect edit functionality in different ways to support different use cases. For more information about this, see Master List.

Usage

When to Use Which Flow Type

  • Use the simple edit flow if the user wants to edit the whole page and save it afterwards. If there are related subpages on this object, you have to choose between the local and global edit flow.
  • The partial edit flow with transparent button is the preferred way to set a part of an object to edit mode. Use the partial edit flow with dialog if the switch from display mode to edit mode involves an extensive change of layout.
  • Use the partial edit flow if only parts of the page (single sections) should be editable and not the whole page. If there are a lot of editable sections, think about setting the whole page to (simple) edit mode. This depends on which approach best supports your use case.
  • Use the local edit flow with subpages if the user is supposed to save every page separately. Whenever the user wants to navigate away from the page while in edit mode, either the modifications must be saved or changes are lost (data loss message). Unsaved changes can be kept only by using draft handling.
  • Use the global edit flow with subpages if the user is supposed to be able to navigate seamlessly between multiple subpages linked to a main page in edit mode.

Structure

The edit page floorplan is flexible and can be embedded in the full screen layout or split-screen layout. The title (application header) shows Edit and the current <Item Type>, such as Edit Product. The main pattern of the edit page is the form. The footer bar appears right at the bottom.

Schematic visualization of edit page
Schematic visualization of edit page

Responsiveness

The responsiveness of the edit page control follows the responsive behavior of the forms and controls used.

Touch devices on a phone
Touch devices on a phone
Touch devices on a tablet
Touch devices on a tablet
Letterboxing on a desktop
Letterboxing on a desktop

Simple Edit

Starting in display mode with split-screen layout

The “Simple Edit” flow in split-screen layout describes how a user can edit an item of the master list. At the first step, the user has to click the Edit button (detail footer toolbar) to switch into edit mode, until then the page is in display mode. If the user has finished the entries s/he clicks the Save button. The updated object is then marked in the master list and the object details are shown in display mode again. As a confirmation the user gets a message toast that the object has been successfully saved.

Simple edit - starting in display mode with split-screen layout
Simple edit - starting in display mode with split-screen layout

Starting in edit mode with split-screen layout

In some use cases an object is always editable and it does not make sense to show it in display mode. In these cases the user starts directly in edit mode. In the footer toolbar there is a Save and Cancel button offered. If the user clicks on Save then the object stays in edit mode. As a confirmation the user gets a message toast that the object has been successfully saved.

Simple edit - starting in edit mode with split-screen layout
Simple edit - starting in edit mode with split-screen layout

Full screen layout

The edit flow in full screen layout describes how a user can edit a line item in the table. Very often the line item contains more details then displayed in the table, so that the user has to navigate to a detail page and edit the values there. After editing the detail page the user clicks on Save.

There are two ways to go forward after saving, depending on the use case:

  • The user navigates automatically to the previous page and the updated line item will be shown in the table.
  • The updated line item on the detail page will switch to display mode. The user may want to check the entries again with the possibility to change them by means of a click on the Edit button in the footer toolbar. To navigate back to the table the user has to click on the Back button in the App Header.

 

As a confirmation the user gets in both ways a message toast that the object has been successfully saved.

Simple edit in full screen - variant 1
Simple edit in full screen - variant 1
Simple edit in full screen - variant 2
Simple edit in full screen - variant 2

Data loss message

Show a data loss message in Split-Screen Layout and Full Screen Layout whenever the user wants to navigate away from the page or clicks the Cancel button while in edit mode (example above Simple Edit Flow in split-screen). Unsaved changes can be kept only by using draft handling. However, if the user has nothing changed on the content side, a data loss message is not necessary.

Partial Edit

Partial Edit in place

This edit flow describes how a user can edit a section of an existing object via transparent button in split screen and full screen layout. A transparent button called Edit is placed right aligned above the object (section header). After a click on the Edit button, the object switches into edit mode and the Edit button changes to Save and Cancel.

The partial edit with transparent button is the preferred way to set a section of an existing object into edit mode.

Partial Edit in place
Partial Edit in place

Partial Edit Flow with Dialog

This edit flow describes how a user can edit one or several existing object/s (mass editing) via dialog in split screen and full screen layout. One example of this is selecting several line items in the table and clicking the Edit button. Then a dialog shows up with all merged and editable fields of the object/s. Fields with different values from the selected line items show a prompt text called “Multiple Values“. Fields with equal values will be shown directly. Click on Save will close the dialog and shows the updated line items.

Use the partial edit flow with dialog if the switch from display mode to edit mode involves an extensive change of layout; e.g. mass editing. If there are more than 8 editable fields in the dialog, a better way could be navigating to a detail page.

Partial edit with dialog
Partial edit with dialog

Data loss message

Show a data loss message in Split-Screen Layout and Full Screen Layout whenever the user wants to navigate away from the page or clicks the Cancel button while in edit mode (example above Simple Edit Flow in split-screen). Unsaved changes can be kept only by using draft handling. However, if the user has nothing changed on the content side, a data loss message is not necessary.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Overview Page (Smart Templates/SAP Fiori Elements)

The overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs in a single page, based on the user’s specific domain or role. It allows the user to focus on the most important tasks, enabling faster decision-making as well as immediate action.

The overview page employs cards (containers of content), which are based on smart template technology, and which act as a UI framework for organizing large amounts of information on an equal plane within the page. The overview page is created by a developer based on annotated views of app data (meaning that app content can be tailored to the domain or role). Information can be visualized in an attractive and efficient way using different types of cards.

In short, the overview page is a simple, one-stop, data-driven SAP Fiori app that gives a role all essential information. It allows the user to view, filter, and react to information quickly.

Usage

Use the overview page if:

  • The user has a specific role and needs to filter and react to information stemming from a range of applications.
  • The user needs to gather information from different sources that support a specific task focus or information need.
  • You want to offer different information formats (such as charts, lists, and tables) on a single page for a specific domain or role.
  • You want to organize and display a set of (filterable) data to provide an entry-level view of content related to a specific domain or role.

Do not use the overview page if:

  • A high-level or birds-eye view of application content is sufficient.
  • You want give access to all available SAP Fiori apps for all groups or domains.
  • You want to add or delete applications. Instead, consider using the SAP Fiori launchpad home page.

The Difference Between the SAP Fiori Launchpad Home Page, Overview Page and the Object Page

The launchpad home page contains all of a user’s favorite apps and offers access to them via tiles. This covers all the roles that a user would have, such as employee, manager, production worker, or quality manager.

An overview page, on the other hand, focuses on the tasks of a specific role. The user may therefore use multiple overview pages. For example, one overview page could be used to reflect the user’s role as manager, and allow him or her to manage the performance reviews of the team. Another overview page could be used to track quality issues and other relevant information pertaining to the machines that he or she is responsible for in the role of quality manager.

The overview page uses cards. These cards display more (preview) information than tiles due to their sizes and properties. A further distinctive feature is that identical card types also could perform simple actions.

The overview page is always role-based. This means the user will find heterogeneous information related to a specific business context and the daily tasks of the specific role. This is not the case with the object page, which contains object-based, homogenous information.

Have a look at the tables below, which further describe the differences between the launchpad home page, the object page, and the overview page:

Fiori Launchpad Home Page Overview Pagge
Framework (given) SAP Fiori application (optional)
“Birds-eye” view “Street level” view
Single point of entry Specific business context for a role
No actions Micro actions
One SAP Fiori launchpad per user Multiple overview pages per user possible
Overview Page Object Page
Role-based Object-based
“Street level” view “Details” view
Heterogeneous information Homogeneous information

Role-Specific Overview Pages

Only provide an overview page for a role if it makes sense to do so. An overview page gathers information from different sources that support a specific task focus or information need. If a role or user has several such main tasks that require a specific set of information, the role or user might also have multiple overview pages. However, there is no fixed coupling (for example, one overview page per role).

Interaction Flow

The overview page in SAP Fiori functions like a typical SAP Fiori app. This means that you can start it by clicking a tile on the SAP Fiori launchpad home page, or by bookmarking the direct link to the overview page in your browser to access it directly as you would any other app. The figure below illustrates the complete interaction flow.

Overview page screen navigation flow
Overview page screen navigation flow

Responsiveness

The entire SAP Fiori overview page floorplan is fully responsive and uses letterboxing. The flexible “easy scan” layout can accommodate typical laptop screens as well as larger desktop monitors, and features responsive (collapsible) “columns” of cards that can scale all the way down to tablet or phone screen sizes. The columns are of equal width and contain the cards in the following layout sizes:

  • Small: one column
  • Medium: two columns
  • Large: three columns
  • Extended: four to five columns for large desktop screen resolutions (maximum five columns)
Overview page – Size S
Overview page – Size S
Overview page – Size M
Overview page – Size M
Overview page – Size L
Overview page – Size L

The width of the cards changes depending on the screen size being used: either 20 or 25 rem is displayed. This process starts automatically and saves the responsiveness and readability of the cards to each device. This flexible width behavior applies to all card types.

Structure

The overview page consists of the following components:

  • Overview page header
  • Smart filter bar
  • Content area with cards

These are described in more detail below.

Overview page structure
Overview page structure

Components

Overview Page Header

The overview page uses the object page header for a page header. The header is the uppermost element in the floorplan. Its purpose is to provide the user with context and relevant information about the page it represents. The information allowed in the object page header of an overview page is limited to a title, subtitle (optional), and an icon button used to open the smart filter bar.

Smart Filter Bar

The smart filter bar  is used “as is”, meaning that for the overview page, all existing functions and behaviors of the current UI5 control are available, including variant management. The smart filter bar filters all the content on the page and in the data base. A notable exception is that the smart filter bar is not visible when the page is first loaded; the user must select the filter icon from the object header to cause the smart filter bar to appear on the page. On a desktop, once the smart filter bar has been invoked, it is always displayed in extended mode. On mobile devices, once it has been invoked, the smart filter bar is always displayed as collapsed.

Content Area of the Overview Page

The content area contains responsive (collapsible) columns of cards. The content area of the overview page features what is referred to as the “easy scan” layout. Note that you cannot place tiles in the content area on the overview page. Like an operating system’s home screen, the home screen only offers access to apps, but no further functionality for keeping the home page clean and usable. The overview page contains cards but no tiles. Cards have more than one interaction area and might even offer actions, thus making them much richer than tiles. Apps can be launched from an overview page through the header area of a card that is related to the specific app.

Warning
You cannot place tiles in the content area of the overview page.

Cards

Cards, which are entirely new for the overview page, are containers of application content. A card is a smart component that uses UI annotation to render its content, and is bound to a single data source. Cards differ in the content they display. They can show a chart, a list of items, a table, informative text, or a combination of two elements. For example, an analytical card may show a KPI header and a chart.

Cards used for the “easy scan” layout always have a uniform horizontal width, but may vary in their vertical dimension based on the card type.

The vertical size (height) is determined by the card type and the embedded control.

Card Components

Every card comprises three components: a header area, a content area, and a footer area. The header and content areas are mandatory. In some cases, the footer area is not needed (such as for the stack or analytical cards) and is therefore optional. Please have a look at the UI text guidelines for the overview page to ensure the correct usage of UI texts in the overview page.

Card components
Card components

Header Area

The card header area is a required section of the card layout. It serves two purposes:

  1. It indicates what content the card contains.
  2. It functions as a navigation area. As the entire header is selectable, the user can navigate to the specific app or view from which the card content originates. We recommend that you continuously use a navigation functionality on all cards (exception: link list cards). 

The height of the header area is variable; it expands vertically to contain the text. The header area is mandatory and can contain up to two text fields for descriptive purposes: title and subtitle. At least the title must be used in the header area as a required element. The subtitle is still optional.

The primary purpose of the header area is to identify the content source and present the reason why it is important to look at the card (title), to show any relevant parameters (subtitle), and to provide navigation to the content source (application).

Title

The headline represents the card’s “point of view”. In one or two words, it explains why this card exists and why a user might want to use it. It is a natural language reflection of the annotated view and should express the results of the setting.

Subtitle

You can use it to qualify the title, offer an explanation, or show a status. The use of the subtitle can differ, depending on the card type.

Content Area of Cards

The content area is mandatory and reserved for application content. Content is currently displayed in a card by embedding a UI5 control that specifies the properties and data format to be displayed. For example, an embedded UI5 standard list control provides formatting (such as row height, font sizes, and number of text blocks).

 

Footer Area

The footer area has a fixed height. It is also optional as, in some cases, a footer area is not needed (such as for stack or analytical cards). It serves two purposes:

  1. For cards that display information about a single object or data point, the footer area is used to display actions associated to the content of the card. This only applies to the quick view card. For more information, see the section on Behavior and Interaction in this article. For this case, the overflow toolbar control is used.
  2. For cards that display links to a group of multiple objects (such as list or table cards), the footer is informational and contains no actions. It provides a summary text label which describes how many items are shown on the card in respect to all items returned for the particular annotated view. For example: Showing 3 of 10. If there aren’t any items, the following text should be displayed: No items found.
Footer area with actions
Footer area with actions
Footer area with a summary text label
Footer area with a summary text label

Card Types

Single-Object Cards

Cards that feature content with a single focal point, detail, or entity are called single-object cards. An example is a business card with information about a particular contact. The quick view card and the analytical card are single-object cards.

Object Group Cards

Cards that feature a subset of items grouped together by relation to a common topic are called object group cards. A typical example would be a list of sales orders grouped by amount, status, or most recent status. They do not have actions, but are designed in such a way that each row or list item is selectable, thus providing direct navigation to the detailed object within the parent application. Object group cards include all types of list cards and table cards.

Quick View Card

Quick view card on the overview page
Quick view card on the overview page

The quick view card displays basic details about a single object, such as a contact with name, address, and telephone numbers. A small picture can also be added. Clicking on the header area of a card opens the corresponding app. The quick view card inherits the UI5 element sap.m.QuickView. It is only available inside the object stream; you cannot position it on the overview page itself. Only the footer area of the quick view card can currently provide actions.

Analytical Card

Analytical cards are used for data visualization. They are single-object cards that consist of two areas: a header area that displays the aggregated value of a key measure (KPI), and a chart area that displays a representation of data in graphical format. Analytical cards do not contain a footer area.

The KPI header is mandatory for the overview page. The KPI header includes the title (mandatory), the KPI with the respective unit (mandatory), and a subtitle (optional). The subtitle can show the filter criteria used for the chart, and can contain up to two lines of text. The KPI itself adopts the semantic colors red (negative), green (positive), or gray (neutral). The announcement of the percentage (optional) and the triangle indicator (optional, showing an upward or downward trend) can also be displayed.

The following charts (VizFrame) are currently available for use in the overview page:

  • Line chart
  • Bubble chart
  • Donut chart
  • Column chart
  • Stacked column chart
  • Vertical bullet chart

For more information, see analytical card.

KPI header in analytical cards
KPI header in analytical cards

List Card

List cards are a type of object group card, and display a set of items in a vertical list. The list card uses the sap.m.List container in the content area. Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the returned ResultSet objects. Clicking on a list item (row) on the card opens the detail view for that specific item in the same parent application.

Two different line item types are available: “condensed list item” and “extended list item”. However, you can only use one type of list item on any given card. The condensed list item shows minimal information – two lines of text and a number – and contains the same properties as the SAPUI5 control sap.m.StandardListItem. The extended list item displays more information – three lines of text and three numbers – and contains the same properties as the SAPUI5 control sap.m.ObjectListItem.

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

List card with condensed list items
List card with condensed list items
Condensed list items with semantic colors
Condensed list items with semantic colors
List card with extended list items
List card with extended list items
Extended list items with semantic colors
Extended list items with semantic colors

Bar Chart List Card

The bar chart list card adds a chart component to a list. You can embed a progress indicator in either a condensed or extended list format.

Overview page – Bar chart list card
Overview page – Bar chart list card

Table Card

Table cards are a type of object group card, and display a set of items in a table format. Table cards use the responsive SAPUI5 control sap.m.Table. Clicking on the header area of a table card  opens the parent application with the same filter applied as for the annotated card with access to a table of all the returned ResultSet objects. In contrast, clicking on a table row inside the card opens that specific object detail screen within an app. The card limit the width of the table to three columns and no row should display more than three lines of text The first and second column show a data field and the last column a data point. The height of the card reflects its content. If one or more items are returned, show the items in the footer area with a summary text “Showing x of x”.

Overview page – Table card
Overview page – Table card

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

If no items are found, the card should only display the header and footer information. The only selectable area would be the header for navigation to the corresponding app.

If one or more items are returned, show the items in the list/table format with a footer area for summary text. The height of the card depends on the amount of content.

Link List Card

Link list cards allow you to display a collection of links or images that can reference both internal and external targets. Links and images are handled as two separate variants:

Variant Type List

The variant type list shows a collection of links which navigate to a target, or which open a popover to show additional information. You may optionally add a subtitle or additional information below each link. Maximum one line of text for each link and each subtitle is allowed. You may also display an icon or an image in front of each link. If icons are added to the link list, each link must show an icon. This is also the case for images. If an image is not available, you can use a placeholder instead.

Example use cases for the variant type list include a list of links with navigation to the most used apps for a specific user role, or a list showing recently used contacts.

Variant Type Image

The variant type image uses the sap.m.Carousel control to display one or more images for different use cases. If the user hovers over the image with the mouse, forward and backward icons and the paging indicator appear. If there is only one image in the carousel, these will not be visibile. The link and an optional subtitle are displayed above the carousel. Maximum one line of text for the link, and one line for the subtitle, is allowed.

Link list card - variant type list
Link list card - variant type list
Link list card - variant type list
Link list card - variant type list
Link list card - variant type list
Link list card - variant type list
Link list card - variant type image
Link list card - variant type image

Stack Card

A stack card is a special collection of up to 20 single-object cards based on a topic or action. Click the stack card cover to open and browse individual cards, with the option to view, inspect, or take action.

Overview page – Stack card
Overview page – Stack card

The stack card cover contains the following components:

Title Area

The title should be one line of text and can be the name of an app or a topic.

Stack Content Count

Stack card covers should always display the total number of cards contained within the stack. The maximum number of cards in a stack is 20.

Headline Area

The headline in a stack card can have up to two lines of text. Subtitles are not available. The headline should be used to explain the contents of the stack, and to highlight what is new or has changed since the last visit.

Status Area

Every stack card should display a single line of text to indicate a status. This can be the time of the last update, an indication of urgency, or the last time the user opened the stack.

Navigation

The stack card cover contains two clickable areas for navigation: the left area navigates to the parent application, and the right area triggers the opening of the object stream (see below), which contains the scrollable collection of cards in an overlay.

Object Stream

The object stream is a scrollable, open stack of cards that appears on the surface of the OVP in a modeless overlay. Cards in the object stream should be ordered chronologically, with the most recent items appearing first by default. However, app developers can also define the best object stream sorting option for their own needs and custom content.

Object stream with scrolling cards
Object stream with scrolling cards

Object Stream Components

The modeless overlay serves as a container or layer for other controls and functionality. Clicking on the stack card cover opens the overlay. When invoked, it should be bound to the card object that launched it. The opened overlay should appear centered vertically to the entire screen window.

Once invoked, the modeless overlay should expand to contain whatever content is provided by the object stream. If more cards are available than fit in the available overlay window space, the area becomes scrollable, and the user can scroll or swipe to see more cards. An arrow icon appears, indicating that the object stream contains more cards.

The overlay should contain a single-line label for text and a Close button. Clicking outside the overlay surface also closes the overlay.

If the stack card contains no cards, the stack link is not active and the overlay cannot be opened. The stack count number displays 0. If only one card is in the stack, an object stream opens containing just a single card.

Tablet Version

On tablet devices, the modeless overlay should expand horizontally to display three cards in landscape mode and two in portrait mode. It should also expand vertically to contain the card height plus room for an area at the top of the control where the stack card title and a button can be provided allowing the user to close the overlay. The overlay should be vertically centered in the entire screen window.

Smartphone Version

On a smartphone, tapping on the right navigation area opens the object stream in a new window that fills the screen at the top of the OVP page. Here, the user can swipe through cards in the stack and take micro actions. Tapping the Close button closes the stack card and returns the user to the main OVP page.

Arrow Indicators (Scrolling)

Arrows appear only in the desktop version. If all cards in a stream are displayed on the screen, no arrows are visible. If there are more cards in the stream than fit in the visible area, the arrow icon appears on the right side when hovering over anywhere on the object stream. Hovering the mouse anywhere over the arrow button area causes the cards to advance.

Once the first card begins to move out of the viewable overlay area, a second arrow button indicator appears on the left. Once the last card has come completely into view, the right arrow indicator disappears.

Placeholder Card

The object stream can display up to 20 cards. A placeholder card occupies the last card position in any object stream. It marks the end point of the object stream and provides a quick navigation point for jumping to the app or apps that have card content in the stream. The placeholder is not included in the number of cards shown to the user on the stack card cover.

The entire card is navigable and should direct the user to the app that the stack card represents, or should display links to the apps corresponding to the cards in the stack.

Behavior and Interaction

The layout of the overview page consists a scrollable page of cards for each device, making it easy to scan through quickly.

Actions on Cards

Only quick view cards can have actions in the footer area (inside the object stream). Through the usage of the overflow toolbar control the primary and secondary are lapsed.

All actions are right-aligned. If there are more actions to be displayed than is allowed by the space in the footer area, the additional actions move into the overflow. This icon is represented by the three dots (…) and is used as a place to consolidate all other actions. Clicking on the overflow invokes the appearance of an action sheet, which displays the list of additional actions. Clicking on an action starts it and dismisses the action sheet. A maximum of six actions are allowed in the footer area. We recommend using only those actions which are actually necessary for the user.

Footer area with actions
Footer area with actions
Footer area with the open actions in the overflow
Footer area with the open actions in the overflow

There are two possible types of action: navigation and function import. Any combination of navigation and function import actions is allowed. Any error or confirmation would be displayed directly on the overview page with message handling.

Navigate

Navigation is “intent-based” and takes the user to a different SAP Fiori app that specializes in executing an action. Navigation actions are always multiple-click (meaning they can be repeated over and over). If we take the example of an SAP Fiori detail view that supports operations for the intended action, the intended destination screen would open in the same browser window, and any errors or task confirmation toast messages would be handled by the supporting application, not the overview page. If another application is open, the object stream should remain as is until the user returns to the overview page.

Import Function

The import function is a term to describe how actions are named in OData. It has two purposes:

  1. An action requires some input parameters. These would be handled on the overview page screen without further navigation. When an action choice is made (through user selection), the card should change to a dialog, and the input or selection action can be carried out.
  2. An action can have no parameters, and in such a case, the action request is sent immediately. Once the action has been completed, the card disappears from the object stream.

Action on Smartphone

Action behavior on a smartphone is very similar to that on a desktop or tablet. The main difference is that whenever an action on a card requires an input dialog box, the default option should be to use a full screen version for the smartphone’s form factor.

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori Overview Page.

Elements and Controls

Implementation

Overview Page (Smart Templates/SAP Fiori Elements)

Overview Page
Overview Page

View, filter, and take immediate action

The overview page (OVP) is a data-driven SAP Fiori app type and floorplan that provides all the information a user needs in a single page, based on the user’s specific domain or role. It allows the user to focus on the most important tasks, and view, filter, and react to information quickly.

Each task or topic is represented by a card (or content container). The overview page acts as a UI framework for organizing multiple cards on a single page. The overview page is based on SAP Fiori elements technology, and uses annotated views of app data, meaning that the app content can be tailored to the domain or role. Different types of card allow you to visualize information in an attractive and efficient way.

  • Entry-level view of content on cards

  • One specific context and task area for one role

  • Content from different sources shows side by side – no need to switch screens

  • Information can be visualized on cards in different ways (texts, charts, lists, tables)

  • Easy filtering

  • Micro actions let users react on the spot

Usage

Use the overview page if:

  • The user has a specific role and needs to filter and react to information stemming from a range of applications.
  • The user needs to gather information from different sources that support a specific task focus or information need.
  • You want to give users a place to focus on their role-specific tasks.
  • You want to offer different information formats (such as charts, lists, and tables) on a single page for the tasks of a specific domain or role.
  • You want to organize and display a set of (filterable) data to provide an entry-level view of content related to a specific domain or role.

Do not use the overview page if:

  • A high-level or birds-eye view of application content is sufficient.
  • You just want the user to launch an application. In this case, use the SAP Fiori launchpad home page instead.
  • You want to show information about one object only. In this case, use the object page instead.

The Difference Between the SAP Fiori Launchpad Home Page, Overview Page, and Object Page

Different entry points in SAP Fiori
Different entry points in SAP Fiori

As you can see in the picture above, the overall content scope (shown in gray) becomes more focused with each interaction step. The launchpad home page contains all of a user’s favorite apps and offers access to them via tiles. This covers all the roles that a user might have, such as employee, manager, production worker, or quality manager.

An overview page focuses on the key tasks for a specific role, and contains only the most frequently-used apps for that role. The overview page uses cards, which display more (preview) information than tiles because of their size, properties, and interaction areas. One card type also allows users to perform simple actions. Cards represent an entry-level view of application content.

Launchpad Home Page vs. Overview Page

Launchpad Home Page Overview Pagge
Framework (given) SAP Fiori application (optional)
“Birds-eye” view “Street-level” view
Single point of entry Specific business context for a role
No actions Micro actions
One SAP Fiori launchpad per user Multiple overview pages per user possible

The overview page is always role-based. The user sees a heterogeneous set of information related to a specific business context and the tasks associated with a specific role. This is not the case with the object page, which contains homogenous, object-based information.

Overview Page vs. Object Page

Overview Page Object Page
Role-based Object-based
“Street-level” view “Details” view
Heterogeneous information Homogeneous information

Role-Specific Overview Pages

Only provide an overview app for a role if it makes sense to do so. An overview page brings together information from different sources that support a specific task focus or information need. If a role or user has several such main tasks that each require a specific set of information, the role or user might also have multiple overview apps. For example, one overview app could be used to reflect the user’s role as manager, and allow him or her to manage the performance reviews of the team. Another overview app could be used to track quality issues and other relevant information pertaining to the machines that he or she is responsible for in the role of quality manager.

Dedicated Floorplan

While other floorplans like the list report and object page can be combined in a single app, there is a 1:1 relationship between the overview page floorplan and the corresponding overview app. The overview page floorplan is never combined with other floorplans. Because of this, the terms “overview page floorplan” and “overview (page) app” are often used synonymously.

Interaction Flow

As for any other SAP Fiori app, users open overview page apps by selecting a tile on the SAP Fiori launchpad home page, or by bookmarking the direct link in a browser. From the overview page the user decides which issues need attention, and navigates via cards to the relevant SAP Fiori apps.

The overview page supports navigation to both SAP Fiori and non-SAP Fiori apps. For SAP Fiori apps, it uses intent-based navigation. Non-SAP Fiori apps open in a new the browser window. In the screen flow, always position the overview app between the SAP Fiori launchpad home page and the SAP Fiori app. Never start overview apps from another SAP Fiori app.

The picture below illustrates the complete interaction flow:
SAP Fiori launchpad home page ➝ SAP Fiori overview app ➝ SAP Fiori app or non-SAP Fiori app

Overview page – Interaction flow
Overview page – Interaction flow

Responsiveness

The overview page floorplan is fully responsive. The card layout can accommodate typical laptop screens as well as larger desktop monitors, and features responsive (collapsible) “columns” of cards that can scale all the way down to tablet or phone screen sizes.

Overview page – Size L/XL
Overview page – Size L/XL
Overview page – Size M
Overview page – Size M
Overview page – Size S
Overview page – Size S

Structure

The basic structure and appearance of the overview page is governed by the dynamic page layout. This enables you to use variant managementtext, and a smart filter bar in the upper part of the screen (dynamic page header). The content of the overview page is presented using cards. The card layout determines the size and position of the cards.

Overview page – Basic structure
Overview page – Basic structure

Dynamic Page

General Information on the Dynamic Page

The dynamic page is a layout control that has been designed to support various floorplans and use cases. The layout is fully responsive and enables a coherent and consistent dynamic page header across all floorplans. The dynamic page consists of three main areas: 

  • Header title combined with global actions (stays fixed)
  • Header content (expandable/collapsible area)
  • Content of the page with floating footer toolbar and finalizing actions (optional)

Generally speaking, the header title and the header content form the dynamic page header. The content of the page differs from floorplan to floorplan.

Dynamic Page Header 

The header content snaps on defined triggers to show more of the actual page content: “snap on scroll” and “snap on click”. The most important information in the header is aggregated as a subtitle in the header title area (for example, “Filtered by: None”). The floating footer toolbar isn’t affected the when the header snaps.

On a desktop device, the header content also includes a pin icon (toggle button) on the right. Clicking on this pin icon disables the snapping behavior, allowing users to keep the expanded mode of the header title and all elements in the header content even when they scroll and click. This fixed mode stays until the user clicks the pin again. The pin is not offered on mobile devices, since keeping the entire header area expanded would leave too little screen real estate for the actual content.

Dynamic Page in the Overview Page

The overview page can consume three different versions of the dynamic page. All the variants have two things in common:

  • The floating footer toolbar is not included.
  • There are no global actions in the header title.

The smart filter bar in the header content uses the live update mode: the results are updated immediately whenever the user changes a filter field. As a result, there is no Go button for the filter bar. 

The table shows all the variants of the dynamic page currently supported for the object page.

Dynamic Page Variants for the Overview Page

Variant 1 Variant 2 Variant 3
Dynamic page header yes
Header title Variant Management Text
Header content Smart Filter Bar
Page content Cards Cards Cards
Floating footer toolbar

Variant 1 – Variant Management and Smart Filter Bar (default)

In this variant, the header title contains variant management, and the header content includes the smart filter bar. When the user scrolls or clicks, the header content snaps as defined.

Dynamic page variant 1 – Expanded mode for size XL/L/M
Dynamic page variant 1 – Expanded mode for size XL/L/M
Dynamic page variant 1 – Snapped mode for size XL/L/M
Dynamic page variant 1 – Snapped mode for size XL/L/M
Dynamic page variant 1 – Expanded mode for size S
Dynamic page variant 1 – Expanded mode for size S
Dynamic page variant 1 – Snapped mode for size S
Dynamic page variant 1 – Snapped mode for size S

Variant 2 – Text in the Header Title

In the second variant, the header title contains a text, which serves the same purpose as the former page subtitle. The header content is empty (auto hidden), and therefore doesn’t snap. The content area displays the overview page cards.

Dynamic page variant 2 – Expanded/snapped mode for size XL/L/M
Dynamic page variant 2 – Expanded/snapped mode for size XL/L/M
Dynamic page variant 2 – Expanded/snapped mode for size S
Dynamic page variant 2 – Expanded/snapped mode for size S

Variant 3 – No Header

This variant doesn’t snap because both the header title and header content are empty (auto hidden). In this case, the overview page cards (page content) display directly below the shell bar.

Dynamic page variant 3 – Size XL/L/M
Dynamic page variant 3 – Size XL/L/M
Dynamic page variant 3 – Size S
Dynamic page variant 3 – Size S

Overview Page Layout

The overview page layout describes the position and size of cards in the content area below the dynamic page header (header title and header content).

Only place cards on the overview page. Never add tiles.

Card Layout

The card layout contains responsive (collapsible) columns of cards. The card width is fixed, and the height is determined by the card type and the embedded control.

There is no limit on the number of cards included. To view all the cards, the user just scrolls down.

Fixed card layout
Fixed card layout

The card layout uses padding on both sides. The cards are displayed inside collapsible columns, making the page fully responsive. When the user resizes the browser or uses a smaller screen, the columns containing the cards collapse. In this way, the layout can accommodate typical laptop screens, larger desktop monitors, and mobile devices:

  • Phone: 1 column
  • Tablet (portrait): 2 columns
  • Laptop / tablet (landscape): 3 columns
  • Large desktop: 4 columns
  • Extended monitor: 5 columns (maximum)

The width of the cards is tied to the column width. Breakpoints for the different screen resolutions determine whether the column width is 20 or 25 rem. The cards inside the columns adapt their width automatically. By contrast, the height of the cards is flexible, and depends on the content and type of card.

Rearranging Cards

Users can reposition cards on the overview page by dragging them to a different location. As the user drags a card, it swaps place with any cards in its path. Releasing the mouse or lifting the finger from the touch surface completes the move. To avoid gaps, cards always snap to the next free space in the row, or to the start of next row.

The cards are arranged as a “Z” flow: cards are ordered from left to right, starting with the first card on the top left of the page. For example, if a 5-column layout is reduced to 4-column layout, the fifth card drops to the next row, assuming the leftmost position underneath the first card.

Personalized Selection of Cards

Users can also hide cards. The corresponding setting is in the Me Area under Manage Cards. A popover lists the different card names, and users can opt to show or hide them using a switch control. Restore reinstates the default setup. The personalized setup stays until the user next changes it.

 

Cards

Cards are containers for app content, and represent an entry-level view of the most pertinent app data for a given topic or issue. Technically, a card is a smart component that uses UI annotations to render its content. Cards differ in the content they display: They can show a chart, a list, a table, informative text, or a combination of two elements. However, cards never have editable fields.

Cards can vary in size, depending on the selected layout. They can focus on a single object or topic, or on a group of objects.

Card Components

Every card comprises three components: a header area, a content area, and a footer area. The header and content areas are mandatory. The footer area is optional (for example, it is not needed on stack cards or analytical cards).

Make sure that you define and format the texts on all the cards consistently. Check the UI text guidelines for the overview page for details.

Overview page – Card components
Overview page – Card components

Card Header

The card header area is mandatory, and serves two purposes:

  • It indicates what the card is about.
  • It acts as a navigation area for opening the parent app, whereby the whole header area is clickable. We recommend offering this navigation on all cards (exception: link list card). 

The height of the header area is variable; it expands vertically to accommodate the text. The header area can contain two text fields: a mandatory title, and an optional subtitle. The primary purpose of the header area is to identify the content source, summarize the focus of the card (title), show any relevant parameters (subtitle), and offer navigation to the content source (parent app).

Title

The title is mandatory and represents the card’s “point of view”. In one or two words, it explains why this card exists and why a user might want to use it. It is a natural language reflection of the annotated view. Titles that exceed two lines are truncated with the ellipsis ().

Subtitle

The subtitle is optional. You can use it to qualify the title, offer an explanation, or show a status. The use of the subtitle can differ, depending on the card type. Subtitles that exceed one line are truncated with the ellipsis (…).

Overview page – Header area
Overview page – Header area

Card Content

The content area is mandatory and is reserved for application content. Content is currently displayed on cards by embedding SAPUI5 controls that specify the properties and data format. For example, an embedded standard list control provides formatting, such as row height, font sizes, and the number of text blocks.

Card Footer

The footer is optional and is not needed for some types of card (such as stack cards or analytical cards). The footer area serves two purposes;

  • On quick view cards that display information on a single object or data point, you can use the footer area to offer related actions. In this case, the overflow toolbar control is used.
  • On cards that display a group of links (such as list or table cards), the footer area is used for information only. Use a text label to show how many of the relevant items are showing on the card (for example, Showing 3 of 10). If no items are returned, display the standard text No items found.

The height of the footer bar is fixed.

Card footer area with actions
Card footer area with actions
Card footer area with a positive summary text label
Card footer area with a positive summary text label
Card footer area with with a negative summary text label
Card footer area with with a negative summary text label

Formatting Dates, Times, Amounts, and Currencies

Apply the following formats:

  • Dates: The default is the relative date format (for example, today). However, you can also use the medium date format (such as Aug 7, 2015).
  • Times: Times are not visible per default, but if you need to show a time, use the short format (for example, 11:28 AM)
  • Integers / Currencies: Use the short format (for example, 1K for 1000).

Navigation and Interaction

The navigation and interaction depends on the technical card type:

  • Single-object cards
  • Object group cards
  • Stack cards
  • Link list cards

This section looks at the different technical card types, how card views can be combined, and how to incorporate actions.

Single-Object Cards

Cards that feature content with a single focal point, detail, or entity are called single-object cards. An example is a quick view card with information about a particular product. Analytical cards are also single-object cards. The header area of this card type always navigates to this specific focal point, detail, or entity. The content area can also have interaction areas (for example, a section in a chart, or a telephone number for a contact). However, only quick view cards can have actions in the footer area.

Interaction for a single-object card
Interaction for a single-object card

Object Group Cards

Cards that feature a subset of items grouped by a common criterion are called object group cards. A typical example would be a list of purchase orders grouped by delivery date, amount, or supplier. The cards do not have actions, but each row or list item is selectable, thus providing direct navigation to the object details within the parent application. The header area of this card type always navigates to all items in the list or table. Object group cards include all types of list cards, bar chart list cards, and table cards.

Interaction for a an object group card
Interaction for a an object group card

Link List Cards

Link list cards allow you to display a collection of links or images that can reference both internal and external targets.

  • Links can navigate to a target or open a popover with additional information.
  • Clicking an image opens an image carousel.
Interaction for a link list card
Interaction for a link list card

Stack Cards

A stack card is a special card type for showing a collection of single-object cards. Stack cards have 3 components with different navigation areas:

  • The top-level stack card opens the collection and contains two clickable areas: the left area navigates to the parent app, and the right area opens the object stream.
  • The object stream shows individual cards that represent objects from the parent application. The object stream heading links to the parent application, while individual cards can contain links and actions relating to the respective object. A Close button returns the user to the stack card.
  • The last card in the object stream is the placeholder card. The entire card is navigable and leads the user directly to the parent application.
Interaction for a stack card
Interaction for a stack card
Interaction for a placeholder card
Interaction for a placeholder card

View Switch

You can use a view switch to offer two different content areas on one card, which can help to reduce the number of cards on the overview page. The user chooses the view using a select control. You can only combine views that have a common denominator. The options offered by the select control merely offer different perspectives. For example, a card “Purchasing Spend” (title in the header area) could offer two views “By Material Group” and “By Supplier” (options in the select control). The view switch is located between the header and content areas.

You can use the view switch for the following cards:

View switch
View switch

Actions on Cards

Only quick view cards within an object stream can have actions in the footer area. The overflow toolbar manages how the actions are displayed. All actions are right-aligned. Any actions that don’t fit into the available space move into the overflow action sheet, represented by the ellipsis ( ). A maximum of six actions are allowed in the footer area. Only offer actions the user really needs in the specific context.

Footer area with additional actions in the overflow
Footer area with additional actions in the overflow

There are two possible types of action: navigation and function import. Any combination of navigation and function import actions is allowed. Error or confirmation messages are displayed directly on the overview page.

Type: Navigation

Navigation is “intent-based” and takes the user to a different SAP Fiori app that specializes in executing an action. Navigation actions are always multi-click (meaning they can be repeated over and over). The destination screen opens in the same browser window, and any error or task confirmation messages are handled by the supporting application, not the overview page.

Type: Function Import

Function imports are custom OData service operations for actions. These actions are handled by the overview page, rather than by another SAP Fiori app.

The interaction depends on whether or not the action requires user input:

  • If the action requires additional user input, the input parameters are handled directly on the overview screen without further navigation. A dialog appears on top of the card, allowing the user to enter data or make a selection. An example of additional input might be the rejection reason for a “Reject” action.
  • If the action has no input parameters, the action request is sent immediately. Once the action has been completed, the card disappears from the object stream.

Action on Phone

If an action on a card requires an input dialog box, use a full screen dialog on smartphones.

Card Types

Quick View Card

Quick view cards are a single-object cards. They display the basic details for one object, such as the name, address, and phone numbers for contact. This card type is only available within the object stream; you can’t place quick view cards on the overview page itself. The quick view card inherits the SAPUI5 element sap.m.QuickView.

Clicking on the header area of the card opens the detailed view of the object in the corresponding parent app. Currently, the header area can only show a static text for all cards in the object stream. If the content area of a card cannot display all the information, a scrollbar appears on the right. Only the footer area of the quick view card can currently provide actions.

Quick view card for a contact
Quick view card for a contact
Quick view card for a product
Quick view card for a product

Analytical Card

Analytical cards are used for data visualization. They are single-object cards that consist of two areas: a header area that displays the aggregated value of a key measure (KPI), and a chart area that displays a representation of data in graphical format. Analytical cards do not contain a footer area.

The KPI header is mandatory for analytical cards used on the overview page. The KPI header includes the title (mandatory), the KPI with the respective unit (mandatory), and a subtitle (optional). The subtitle can show the filter criteria used for the chart, and can contain up to two lines of text. The KPI itself uses the semantic colors red (negative), green (positive), or gray (neutral). You can also display a percentage indicator (optional) or triangle indicator showing an upward or downward trend (optional).

For more information, see analytical card.

The following (VizFrame) charts are available:

  • Line chart
  • Bubble chart
  • Column chart
  • Stacked column chart
  • Vertical bullet chart
  • Donut chart
  • Scatter plot
  • Combined chart
  • Scatter plot

List Card

List cards are a type of object group card, and display a set of items in a vertical list. List cards use the sap.m.List container in the content area.

List Card Navigation

Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific item in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

List Item Types

Two different list item types are available:

  • The standard list item always shows 3 pieces of information and inherits the properties of the SAPUI5 control sap.m.StandardListItem.
  • The extended list item can show up to 6 pieces of information and inherits the properties of the SAPUI5 control sap.m.ObjectListItem.

You can only use one type of list item on any given card.

In addition, you can display the data on the right-hand side in semantic colors.

List card with standard list item
List card with standard list item
List card with extended list item
List card with extended list item
Size of a List Card

List cards resize according to the content available. The height can vary, depending on the number of text fields. Show no more than five standard list items and no more than three extended list items on one card. To see the full result set, the user needs to navigate to the parent app.

List Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Bar Chart List Card

Bar chart list cards are a type of object group card, and display a set of items in a vertical list. Unlike list cards, bar chart list cards are embedded in another component: the progress indicator. This allows you to use semantic colors.

Bar Chart List Card Navigation

Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific item in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

Bar Chart List Item Types

Three different list item types are available:

  • The standard list item always shows 3 pieces of information.
  • The condensed list item can show up to 4 pieces of information.
  • The extended list item can show up to 6 pieces of information.

You can only use one type of list item on any given card.

Size of a Bar Chart List Card

Bar chart list cards resize according to the content available. The height can vary, depending on the number of text fields. Show no more than five standard/condensed list items and no more than three extended list items on one card. To see the full result set, the user needs to navigate to the parent app.

Bar Chart List Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Bar chart list card with standard list item
Bar chart list card with standard list item
Bar chart list card with condensed list item
Bar chart list card with condensed list item
Bar chart list card with extended list item
Bar chart list card with extended list item

Table Card

Table cards are a type of object group card, and display a set of items in a table format. Table cards use the responsive SAPUI5 control sap.m.Table.

Table Card Navigation

Clicking the header area of a table card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific object in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

Table Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Size of a Table Card

Table cards resize according to the content available. The height can vary depending on the number of table cells. Tables are limited to a maximum of 3 columns and 3 rows, with a maximum of 3 lines of text per row. To see the full result set, the user needs to navigate to the parent app. The first and second columns can only show a data field. The third column can also display a data point, which can show in semantic colors.

Table card
Table card

Link List Card

Link list cards allow you to display a collection of links or images that can reference both internal and external targets. Links and images are handled as two separate variants:

Variant Type: List

The list variant shows a collection of links that can navigate to a target or open a popover with additional information. You can also show an optional subtitle below the link with a description or additional information. The link text and subtitle are each limited to one line.

You can display an icon or image before each link. For example, you might want to include app icons for set of links to recently-used apps, or images for a list of recent contacts. Use icons and images consistently:

  • If you opt to use icons, show an icon before every link.
  • If you include images, use a placeholder for images that are not available.
Link list card – Variant type
Link list card – Variant type "list"
Link list card – Variant type
Link list card – Variant type "list" with icons
Link list card – Variant type
Link list card – Variant type "list" with images

Variant Type: Image

The image variant uses the sap.m.Carousel control to display one or more images. If the carousel contains only one image, the Previous and Next icons and the paging indicator are not visible. The link and an optional subtitle are displayed above the carousel. The link text and subtitle are each limited to one line.

Link list card – Variant type
Link list card – Variant type "image"

Stack Card

A stack card is a special collection of single-object quick view cards, based on a topic or action. Unlike the other card types, the top-level stack cards don’t show any application content. Instead, they act as an entry point to an object stream containing multiple cards.

Stack cards have the following components:

  • The title is the top element and is always required. It is used as the heading for the detail view, and comprises 1-2 lines of text.
  • The subtitle is optional. You can use it to qualify the title, offer an explanation, or show a status. The purpose of the subtitle is explain the content of the stack in one line, so its usage depends on the context.
  • The stack content count indicates the number of cards in the stack (object stream). The object stream can contain up to 20 cards. Below the number of cards in the stack, you see the total number of items returned for the annotated view (for example, “20 of 42”).

The top-level stack card contains two clickable navigation areas:

  • The left area and View All link navigate to the parent application, where the user can see all the objects returned for the annotated view (42 in the example above). The placeholder card inside the object stream has the same navigation target.
  • The right area opens the object stream, which contains a scrollable collection of cards presented in an overlay format. The user can browse individual cards, with the option to view, inspect, or take action.

Object Stream

Overview page – Object stream
Overview page – Object stream

Clicking the right-hand area of the stack card opens the object stream. The object stream appears on top of the overview page as a modeless overlay, and serves as a layer for showing quick view cards with actions. The overlay has a one-line label on the left as a heading, and a Close button on the right. Clicking outside the overlay area also closes the object stream.

The object stream can have up to 20 cards, which all get their content from the same parent application. By default, the cards are ordered chronologically, with the most recent items first. However, app developers can define the best object stream sorting option for their own needs and custom content. If the number of cards exceeds the available space in the overlay window, an arrow icon appears on the right for scrolling. Mobile device users can swipe to see more cards. If the object stream is empty, the stack link is not active and the overlay cannot be opened. The stack count number displays 0. If only one item is returned, the object stream contains just a single card.

The header area of the quick view cards in the object stream navigates to the detail view for that specific object in the parent application. The footer area of the quick view cards can also offer actions.

Object Stream – Scroll Arrows

Scroll arrows only appear on desktop devices. If all the cards in the object stream fit on the screen, the arrows are not visible. If the number of cards exceeds the available space, an arrow icon appears on the right when the user mouses over the object stream overlay. Mousing over the arrow button area scrolls the cards across the screen from right to left. As soon as the first card on the left moves out of the visible overlay area, a second arrow appears on the left for moving in the other direction. Once the last card is in full view, the arrow on the right disappears.

Object Stream – Placeholder Card

If the number of items returned for the annotated view exceeds the maximum 20 cards allowed in the object stream, a placeholder card is added automatically at the end of the stream (as card 21). The entire placeholder card is navigable, and takes the user to the full result set in the parent application.

Overview page – Placeholder card
Overview page – Placeholder card

Object Stream – Tablet Version

On tablet devices, the modeless overlay expands horizontally. It also expands vertically to accommodate the card height and allow space for the title and Close button. The user can swipe through cards and perform micro actions. Swiping a card in view moves the entire object stream. Tapping the Close button closes the stack card and returns the user to the main overview page. There are no scroll arrows on touch devices.

Object Stream – Phone Version

On smartphones, the overview page layout collapses to a single column in both portrait and landscape modes. Tapping on the right-hand navigation area of a stack card opens the object stream on top of the overview page in a new full screen window.

The object stream expands horizontally and vertically to accommodate the card height, and to allow space for the title and Close button. The user can swipe through the cards and perform micro actions. Swiping a card moves the entire object stream. Since the cards are too large to fit on the screen in landscape mode, users can also scroll vertically to see the full card content. Tapping the Close button closes the stack card and returns the user to the main overview page. There are no scroll arrows on touch devices.

Visual Design

Overview Page – Visual design in the fixed card layout size L/XL
Overview Page – Visual design in the fixed card layout size L/XL
Overview Page – Visual design in the fixed card layout size M
Overview Page – Visual design in the fixed card layout size M
Overview Page – Visual design in the fixed card layout size S
Overview Page – Visual design in the fixed card layout size S

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori Overview Page.

Elements and Controls

Implementation

Overview Page (SAP Fiori Elements)

Overview Page
Overview Page

View, filter, and take immediate action

The overview page (OVP) is a data-driven SAP Fiori app type and floorplan that provides all the information a user needs in a single page, based on the user’s specific domain or role. It allows the user to focus on the most important tasks, and view, filter, and react to information quickly.

Each task or topic is represented by a card (or content container). The overview page acts as a UI framework for organizing multiple cards on a single page. The overview page is based on SAP Fiori elements technology, and uses annotated views of app data, meaning that the app content can be tailored to the domain or role. Different types of card allow you to visualize information in an attractive and efficient way.

  • Entry-level view of content on cards

  • One specific context and task area for one role

  • Content from different sources shows side by side – no need to switch screens

  • Information can be visualized on cards in different ways (texts, charts, lists, tables)

  • Easy filtering

  • Micro actions let users react on the spot

Usage

Use the overview page if:

  • The user has a specific role and needs to filter and react to information stemming from a range of applications.
  • The user needs to gather information from different sources that support a specific task focus or information need.
  • You want to give users a place to focus on their role-specific tasks.
  • You want to offer different information formats (such as charts, lists, and tables) on a single page for the tasks of a specific domain or role.
  • You want to organize and display a set of (filterable) data to provide an entry-level view of content related to a specific domain or role.

Do not use the overview page if:

  • A high-level or birds-eye view of application content is sufficient.
  • You just want the user to launch an application. In this case, use the SAP Fiori launchpad home page instead.
  • You want to show information about one object only. In this case, use the object page instead.

The Difference Between the SAP Fiori Launchpad Home Page, Overview Page, and Object Page

Different entry points in SAP Fiori
Different entry points in SAP Fiori

As you can see in the picture above, the overall content scope (shown in gray) becomes more focused with each interaction step. The launchpad home page contains all of a user’s favorite apps and offers access to them via tiles. This covers all the roles that a user might have, such as employee, manager, production worker, or quality manager.

An overview page focuses on the key tasks for a specific role, and contains only the most frequently-used apps for that role. The overview page uses cards, which display more (preview) information than tiles because of their size, properties, and interaction areas. One card type also allows users to perform simple actions. Cards represent an entry-level view of application content.

Launchpad Home Page vs. Overview Page

Launchpad Home Page Overview Pagge
Framework (given) SAP Fiori application (optional)
“Birds-eye” view “Street-level” view
Single point of entry Specific business context for a role
No actions Micro actions
One SAP Fiori launchpad per user Multiple overview pages per user possible

The overview page is always role-based. The user sees a heterogeneous set of information related to a specific business context and the tasks associated with a specific role. This is not the case with the object page, which contains homogenous, object-based information.

Overview Page vs. Object Page

Overview Page Object Page
Role-based Object-based
“Street-level” view “Details” view
Heterogeneous information Homogeneous information

Role-Specific Overview Pages

Only provide an overview app for a role if it makes sense to do so. An overview page brings together information from different sources that support a specific task focus or information need. If a role or user has several such main tasks that each require a specific set of information, the role or user might also have multiple overview apps. For example, one overview app could be used to reflect the user’s role as manager, and allow him or her to manage the performance reviews of the team. Another overview app could be used to track quality issues and other relevant information pertaining to the machines that he or she is responsible for in the role of quality manager.

Dedicated Floorplan

While other floorplans like the list report and object page can be combined in a single app, there is a 1:1 relationship between the overview page floorplan and the corresponding overview app. The overview page floorplan is never combined with other floorplans. Because of this, the terms “overview page floorplan” and “overview (page) app” are often used synonymously.

Interaction Flow

As for any other SAP Fiori app, users open overview page apps by selecting a tile on the SAP Fiori launchpad home page, or by bookmarking the direct link in a browser. From the overview page the user decides which issues need attention, and navigates via cards to the relevant SAP Fiori apps.

The overview page supports navigation to both SAP Fiori and non-SAP Fiori apps. For SAP Fiori apps, it uses intent-based navigation. Non-SAP Fiori apps open in a new the browser window. In the screen flow, always position the overview app between the SAP Fiori launchpad home page and the SAP Fiori app. Never start overview apps from another SAP Fiori app.

The picture below illustrates the complete interaction flow:
SAP Fiori launchpad home page ➝ SAP Fiori overview app ➝ SAP Fiori app or non-SAP Fiori app

Overview page – Interaction flow
Overview page – Interaction flow

Responsiveness

The overview page floorplan is fully responsive. The card layout can accommodate typical laptop screens as well as larger desktop monitors, and features responsive (collapsible) “columns” of cards that can scale all the way down to tablet or phone screen sizes.

Overview page – Size L/XL
Overview page – Size L/XL
Overview page – Size M
Overview page – Size M
Overview page – Size S
Overview page – Size S

Structure

The basic structure and appearance of the overview page is governed by the dynamic page layout. This enables you to use variant managementtext, and a smart filter bar in the upper part of the screen (dynamic page header). The content of the overview page is presented using cards. The card layout determines the size and position of the cards.

Overview page – Basic structure
Overview page – Basic structure

Dynamic Page

Dynamic Page in the Overview Page

The overview page can consume four different versions of the dynamic page layout. All the variants have two things in common:

  • The floating footer toolbar is not included.
  • There are no global actions in the header title.

The smart filter bar in the header content uses the live update mode: the results are updated immediately whenever the user changes a filter field. As a result, there is no Go button for the filter bar.

Dynamic Page Variants for the Overview Page

Variant 1 Variant 2 Variant 3 Variant 4
Dynamic page header yes yes
Header title Variant Management Text Text
Header content Smart Filter Bar Smart Filter Bar
Page content Cards Cards Cards Cards
Floating footer toolbar

Variant 1 – Variant Management and Smart Filter Bar (default)

In this variant, the header title contains variant management, and the header content includes the smart filter bar. When the user scrolls or clicks, the header content snaps as defined.

Dynamic page variant 1 – Expanded mode for size XL/L/M
Dynamic page variant 1 – Expanded mode for size XL/L/M
Dynamic page variant 1 – Snapped mode for size XL/L/M
Dynamic page variant 1 – Snapped mode for size XL/L/M
Dynamic page variant 1 – Expanded mode for size S
Dynamic page variant 1 – Expanded mode for size S
Dynamic page variant 1 – Snapped mode for size S
Dynamic page variant 1 – Snapped mode for size S

Variant 2 – Text in the Header Title

In the second variant, the header title contains a text, which serves the same purpose as the former page subtitle. The header content is empty (auto hidden), and therefore doesn’t snap. The content area displays the overview page cards.

Dynamic page variant 2 – Expanded/snapped mode for size XL/L/M
Dynamic page variant 2 – Expanded/snapped mode for size XL/L/M
Dynamic page variant 2 – Expanded/snapped mode for size S
Dynamic page variant 2 – Expanded/snapped mode for size S

Variant 3 – No Header

This variant doesn’t snap because both the header title and header content are empty (auto hidden). In this case, the overview page cards (page content) display directly below the shell bar.

Dynamic page variant 3 – Size XL/L/M
Dynamic page variant 3 – Size XL/L/M
Dynamic page variant 3 – Size S
Dynamic page variant 3 – Size S

Variant 4 – Text in the Header Title and Smart Filter Bar 

In this variant, the header title contains a text, and the header content area contains the smart filter bar. When the user scrolls or clicks, the header content snaps as defined.

Dynamic page variant 4 – Expanded mode for size XL/L/M
Dynamic page variant 4 – Expanded mode for size XL/L/M
Dynamic page variant 4 – Snapped mode for size XL/L/M
Dynamic page variant 4 – Snapped mode for size XL/L/M
Dynamic page variant 4 – Expanded mode for size S
Dynamic page variant 4 – Expanded mode for size S
Dynamic page variant 4 – Snapped mode for size S
Dynamic page variant 4 – Snapped mode for size S

Overview Page Layout

The overview page layout describes the position and size of cards in the content area below the dynamic page header (header title and header content).

Only place cards on the overview page. Never add tiles.

Card Layout

The card layout contains responsive (collapsible) columns of cards. The card width is fixed, and the height is determined by the card type and the embedded control.

There is no limit on the number of cards included. To view all the cards, the user just scrolls down.

Fixed card layout
Fixed card layout

The card layout uses padding on both sides. The cards are displayed inside collapsible columns, making the page fully responsive. When the user resizes the browser or uses a smaller screen, the columns containing the cards collapse. In this way, the layout can accommodate typical laptop screens, larger desktop monitors, and mobile devices:

  • Phone: 1 column
  • Tablet (portrait): 2 columns
  • Laptop / tablet (landscape): 3 columns
  • Large desktop: 4 columns
  • Extended monitor: 5 columns (maximum)

The width of the cards is tied to the column width. Breakpoints for the different screen resolutions determine whether the column width is 20 or 25 rem. The cards inside the columns adapt their width automatically. By contrast, the height of the cards is flexible, and depends on the content and type of card.

Rearranging Cards

Users can reposition cards on the overview page by dragging them to a different location. As the user drags a card, it swaps place with any cards in its path. Releasing the mouse or lifting the finger from the touch surface completes the move. To avoid gaps, cards always snap to the next free space in the row, or to the start of the next row.

The cards are arranged as a “Z” flow: cards are ordered from left to right, starting with the first card on the top left of the page. For example, if a 5-column layout is reduced to 4-column layout, the fifth card drops to the next row, assuming the leftmost position underneath the first card.

Personalized Selection of Cards

Users can also hide cards. The corresponding setting is in the Me Area under Manage Cards. A popover lists the different card names, and users can opt to show or hide them using a switch control. Restore reinstates the default setup. The personalized setup stays until the user next changes it.

Cards

Cards are containers for app content, and represent an entry-level view of the most pertinent app data for a given topic or issue. Technically, a card is a smart component that uses UI annotations to render its content. Cards differ in the content they display: They can show a chart, a list, a table, informative text, or a combination of two elements. However, cards never have editable fields.

Cards can vary in size, depending on the selected layout. They can focus on a single object or topic, or on a group of objects.

Card Components

Every card comprises three components: a header area, a content area, and a footer area. The header and content areas are mandatory. The footer area is optional (for example, it is not needed on stack cards or analytical cards).

Make sure that you define and format the texts on all the cards consistently. Check the UI text guidelines for the overview page for details.

Overview page – card components
Overview page – card components

Card Header

The card header area is mandatory, and serves two purposes:

  • It indicates what the card is about.
  • It functions as a navigation area for opening the parent app, whereby the whole header area is clickable. We recommend offering this navigation on all cards (exception: link list card). 

The height of the header area is variable; it expands vertically to accommodate the text. The header area can contain two text fields: a mandatory title, and an optional subtitle. The primary purpose of the header area is to identify the content source, summarize the focus of the card (title), show any relevant parameters (subtitle), and offer navigation to the content source (parent app).

Title

The title is mandatory and represents the card’s “point of view”. In one or two words, it explains why this card exists and why a user might want to use it. It is a natural language reflection of the annotated view. Titles that exceed two lines are truncated with the ellipsis ().

Subtitle

The subtitle is optional. You can use it to qualify the title, offer an explanation, or show a status. The use of the subtitle can differ, depending on the card type. Subtitles that exceed one line are truncated with the ellipsis (…).

Overview page – header area
Overview page – header area

Card Content

The content area is mandatory and is reserved for application content. Content is currently displayed on cards by embedding SAPUI5 controls that specify the properties and data format. For example, an embedded standard list control provides formatting, such as row height, font sizes, and the number of text blocks.

Card Footer

The footer is optional and is not needed for some types of card (such as stack cards or analytical cards). The footer area serves two purposes;

  • On quick view cards that display information on a single object or data point, you can use the footer area to offer related actions. In this case, the overflow toolbar control is used.
  • On cards that display a group of links (such as list or table cards), the footer area is used for information only. Use a text label to show how many of the relevant items are showing on the card (for example, Showing 3 of 10). If no items are returned, display the standard text No items found.

The height of the footer bar is fixed.

Card footer area with actions
Card footer area with actions
Card footer area with a positive summary text label
Card footer area with a positive summary text label
Card footer area with with a negative summary text label
Card footer area with with a negative summary text label

Formatting Dates, Times, Amounts, and Currencies

Apply the following formats:

  • Dates: The default is the relative date format (for example, today). However, you can also use the medium date format (such as Aug 7, 2015).
  • Times: Times are not visible per default, but if you need to show a time, use the short format (for example, 11:28 AM)
  • Integers / Currencies: Use the short format (for example, 1K for 1000).

Navigation and Interaction

The navigation and interaction depends on the technical card type:

  • Single-object cards
  • Object group cards
  • Special cards

This section looks at the different technical card types, how card views can be combined, and how to incorporate actions.

Single-Object Cards

Cards that feature content with a single focal point, detail, or entity are called single-object cards. An example is a quick view card with information about a particular product. Analytical cards are also single-object cards. The header area of this card type always navigates to this specific focal point, detail, or entity. The content area can also have interaction areas (for example, a section in a chart, or a telephone number for a contact). However, only quick view cards can have actions in the footer area.

Interaction for a single-object card
Interaction for a single-object card

Object Group Cards

Cards that feature a subset of items grouped by a common criterion are called object group cards. A typical example would be a list of purchase orders grouped by delivery date, amount, or supplier. The cards do not have actions, but each row or list item is selectable, thus providing direct navigation to the object details within the parent application. The header area of this card type always navigates to all items in the list or table. Object group cards include all types of list cards, bar chart list cards, and table cards.

Interaction for an object group card
Interaction for an object group card

Link List Cards

Link list cards allow you to display a collection of links or images that can reference both internal and external targets.

  • Links can navigate to a target or open a popover with additional information.
  • Clicking an image opens an image carousel.
Interaction for a link list card
Interaction for a link list card

Stack Cards

A stack card is a special card type for showing a collection of single-object cards. Stack cards have 3 components with different navigation areas:

  • The top-level stack card opens the collection and contains two clickable areas: the left area navigates to the parent app, and the right area opens the object stream.
  • The object stream shows individual cards that represent objects from the parent application. The object stream heading links to the parent application, while individual cards can contain links and actions relating to the respective object. A Close button returns the user to the stack card.
  • The last card in the object stream is the placeholder card. The entire card is navigable and leads the user directly to the parent application.
Interaction for a stack card
Interaction for a stack card
Interaction for a placeholder card
Interaction for a placeholder card

View Switch

You can use a view switch to offer two different content areas on one card, which can help to reduce the number of cards on the overview page. The user chooses the view using a select control. You can only combine views that have a common denominator. The options offered by the select control merely offer different perspectives. For example, a card “Purchasing Spend” (title in the header area) could offer two views “By Material Group” and “By Supplier” (options in the select control). The view switch is located between the header and content areas.

You can use the view switch for the following cards:

View switch
View switch

Actions on Cards

Only quick view cards within an object stream can have actions in the footer area. The overflow toolbar manages how the actions are displayed. All actions are right-aligned. Any actions that don’t fit into the available space move into the overflow action sheet, represented by the ellipsis ( ). A maximum of six actions are allowed in the footer area. Only offer actions the user really needs in the specific context.

Footer area with additional actions in the overflow
Footer area with additional actions in the overflow

There are two possible types of action: navigation and function import. Any combination of navigation and function import actions is allowed. Error or confirmation messages are displayed directly on the overview page.

Type: Navigation

Navigation is “intent-based” and takes the user to a different SAP Fiori app that specializes in executing an action. Navigation actions are always multi-click (meaning they can be repeated over and over). The destination screen opens in the same browser window, and any error or task confirmation messages are handled by the supporting application, not the overview page.

Type: Function Import

Function imports are custom OData service operations for actions. These actions are handled by the overview page, rather than by another SAP Fiori app.

The interaction depends on whether or not the action requires user input:

  • If the action requires additional user input, the input parameters are handled directly on the overview screen without further navigation. A dialog appears on top of the card, allowing the user to enter data or make a selection. An example of additional input might be the rejection reason for a “Reject” action.
  • If the action has no input parameters, the action request is sent immediately. Once the action has been completed, the card disappears from the object stream.

Action on Phone

If an action on a card requires an input dialog box, use a full screen dialog on smartphones.

Card Types

Quick View Card

Quick view cards are single-object cards. They display the basic details for one object, such as the name, address, and phone numbers for a contact. This card type is only available within the object stream; you can’t place quick view cards on the overview page itself. The quick view card inherits the SAPUI5 element sap.m.QuickView.

The header area contains a static text, such as Purchase Order, and an optional dynamic text, such as 1005-3345. In this way, each card header can show different content. Clicking on the header area of the card opens the detailed view of the object in the corresponding parent app. If the content area of a card cannot display all the information, a scrollbar appears on the right. Only the footer area of the quick view card can currently provide actions.

Quick view card for a contact
Quick view card for a contact
Quick view card for a product
Quick view card for a product
Quick view card for a purchase order
Quick view card for a purchase order

Analytical Card

Analytical cards are used for data visualization. They are single-object cards that consist of two areas: a header area that displays the aggregated value of a key measure (KPI), and a chart area that displays a representation of data in graphical format. Analytical cards do not contain a footer area.

The KPI header is mandatory for analytical cards used on the overview page. The KPI header includes the title (mandatory), the KPI with the respective unit (mandatory), and a subtitle (optional). The subtitle can show the filter criteria used for the chart, and can contain up to two lines of text. The KPI itself uses the semantic colors red (negative), green (positive), or gray (neutral). You can also display a percentage indicator (optional) or triangle indicator showing an upward or downward trend (optional).

For more information, see analytical card.

The following (VizFrame) charts are available:

  • Line chart
  • Bubble chart
  • Column chart
  • Stacked column chart
  • Vertical bullet chart
  • Donut chart
  • Scatter plot
  • Combined chart
  • Scatter plot

List Card

List cards are a type of object group card, and display a set of items in a vertical list. List cards use the sap.m.List container in the content area.

List Card Navigation

Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific item in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

List Item Types

Two different list item types are available:

  • The standard list item always shows 3 pieces of information and inherits the properties of the SAPUI5 control sap.m.StandardListItem.
  • The extended list item can show up to 6 pieces of information and inherits the properties of the SAPUI5 control sap.m.ObjectListItem.

You can only use one type of list item on any given card.

In addition, you can display the data on the right-hand side in semantic colors.

List card with standard list item
List card with standard list item
List card with extended list item
List card with extended list item
Size of a List Card

List cards resize according to the content available. The height can vary, depending on the number of text fields. Show no more than five standard list items and no more than three extended list items on one card. To see the full result set, the user needs to navigate to the parent app.

List Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Bar Chart List Card

Bar chart list cards are a type of object group card, and display a set of items in a vertical list. Unlike list cards, bar chart list cards are embedded in another component: the progress indicator. This allows you to use semantic colors.

Bar Chart List Card Navigation

Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific item in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

Bar Chart List Item Types

Three different list item types are available:

  • The standard list item always shows 3 pieces of information.
  • The condensed list item can show up to 4 pieces of information.
  • The extended list item can show up to 6 pieces of information.

You can only use one type of list item on any given card.

Size of a Bar Chart List Card

Bar chart list cards resize according to the content available. The height can vary, depending on the number of text fields. Show no more than five standard/condensed list items and no more than three extended list items on one card. To see the full result set, the user needs to navigate to the parent app.

Bar Chart List Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Bar chart list card with standard list item
Bar chart list card with standard list item
Bar chart list card with condensed list item
Bar chart list card with condensed list item
Bar chart list card with extended list item
Bar chart list card with extended list item

Table Card

Table cards are a type of object group card, and display a set of items in a table format. Table cards use the responsive SAPUI5 control sap.m.Table.

Table Card Navigation

Clicking the header area of a table card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the objects returned for the result set.

Clicking a list item (row) on the card opens the detail view for that specific object in the same parent application.

Because the header area and line items are based on the same result set, they must always link to the same target application.

Table Card Footer

In the footer area, indicate how many items are showing on the card in relation to the total number of relevant items. Use the summary text: Showing [Items on Card] of [Total Items], as in Showing 5 of 13.

Size of a Table Card

Table cards resize according to the content available. The height can vary depending on the number of table cells. Tables are limited to a maximum of 3 columns and 3 rows, with a maximum of 3 lines of text per row. To see the full result set, the user needs to navigate to the parent app. The first and second columns can only show a data field. The third column can also display a data point, which can show in semantic colors.

Table card
Table card

Link List Card

Link list cards allow you to display a collection of links or images that can reference both internal and external targets. Links and images are handled as two separate variants:

Variant Type: List

The list variant shows a collection of links that can navigate to a target or open a popover with additional information. You can also show an optional subtitle below the link with a description or additional information. The link text and subtitle are each limited to one line.

You can display an icon or image before each link. For example, you might want to include app icons for set of links to recently-used apps, or images for a list of recent contacts. Use icons and images consistently:

  • If you opt to use icons, show an icon before every link.
  • If you include images, use a placeholder for images that are not available.
Link list card – Variant type
Link list card – Variant type "list"
Link list card – Variant type
Link list card – Variant type "list" with icons
Link list card – Variant type
Link list card – Variant type "list" with images

Variant Type: Image

The image variant uses the sap.m.Carousel control to display one or more images. If the carousel contains only one image, the Previous and Next icons and the paging indicator are not visible. The link and an optional subtitle are displayed above the carousel. The link text and subtitle are each limited to one line.

Link list card – Variant type
Link list card – Variant type "image"

Stack Card

A stack card is a special collection of single-object quick view cards, based on a topic or action. Unlike the other card types, the top-level stack cards don’t show any application content. Instead, they act as an entry point to an object stream containing multiple cards.

Stack cards have the following components:

  • The title is the top element and is always required. It is used as the heading for the detail view, and comprises 1-2 lines of text.
  • The subtitle is optional. You can use it to qualify the title, offer an explanation, or show a status. The purpose of the subtitle is explain the content of the stack in one line, so its usage depends on the context.
  • The stack content count indicates the number of cards in the stack (object stream). The object stream can contain up to 20 cards. Below the number of cards in the stack, you see the total number of items returned for the annotated view (for example, “20 of 42”).

The top-level stack card contains two clickable navigation areas:

  • The left area and View All link navigate to the parent application, where the user can see all the objects returned for the annotated view (42 in the example above). The placeholder card and heading inside the object stream have the same navigation target.
  • The right area opens the object stream, which contains a scrollable collection of cards presented in an overlay format. The user can browse individual cards, with the option to view, inspect, or take action.

Object Stream

Overview page – Object stream
Overview page – Object stream

Clicking the right-hand area of the stack card opens the object stream. The object stream appears on top of the overview page as a modeless overlay, and serves as a layer for showing quick view cards with actions. The overlay has heading on the top left, and a Close button on the right. The heading is the same as the stack card title, and links to the full result set in the parent application (same target as the left-side navigation on the stack card and the navigation from the placeholder card). Clicking outside the overlay area also closes the object stream.

The object stream can have up to 20 cards, which all get their content from the same parent application. By default, the cards are ordered chronologically, with the most recent items first. However, app developers can define the best object stream sorting option for their own needs and custom content. If the number of cards exceeds the available space in the overlay window, an arrow icon appears on the right for scrolling. Mobile device users can swipe to see more cards. If the object stream is empty, the stack link is not active and the overlay cannot be opened. The stack count number displays 0. If only one item is returned, the object stream contains just a single card.

The header area of the quick view cards in the object stream navigates to the detail view for that specific object in the parent application. The footer area of the quick view cards can also offer actions.

Object Stream – Scroll Arrows

Scroll arrows only appear on desktop devices. If all the cards in the object stream fit on the screen, the arrows are not visible. If the number of cards exceeds the available space, an arrow icon appears on the right when the user mouses over the object stream overlay. Mousing over the arrow button area scrolls the cards across the screen from right to left. As soon as the first card on the left moves out of the visible overlay area, a second arrow appears on the left for moving in the other direction. Once the last card is in full view, the arrow on the right disappears.

Object Stream – Placeholder Card

If the number of items returned for the annotated view exceeds the maximum 20 cards allowed in the object stream, a placeholder card is added automatically at the end of the stream (as card 21). The entire placeholder card is navigable, and takes the user to the full result set in the parent application.

Overview page – Placeholder card
Overview page – Placeholder card

Object Stream – Tablet Version

On tablet devices, the modeless overlay expands horizontally. It also expands vertically to accommodate the card height and allow space for the title and Close button. The user can swipe through cards and perform micro actions. Swiping a card in view moves the entire object stream. Tapping the Close button closes the stack card and returns the user to the main overview page. There are no scroll arrows on touch devices.

Object Stream – Phone Version

On smartphones, the overview page layout collapses to a single column in both portrait and landscape modes. Tapping on the right-hand navigation area of a stack card opens the object stream on top of the overview page in a new full screen window.

The object stream expands horizontally and vertically to accommodate the card height, and to allow space for the title and Close button. The user can swipe through the cards and perform micro actions. Swiping a card moves the entire object stream. Since the cards are too large to fit on the screen in landscape mode, users can also scroll vertically to see the full card content. Tapping the Close button closes the stack card and returns the user to the main overview page. There are no scroll arrows on touch devices.

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori Overview Page.

Elements and Controls

Implementation

Overview Page (Smart Templates/SAP Fiori Elements)

The overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs in a single page, based on the user’s specific domain or role. It allows the user to focus on the most important tasks, enabling faster decision-making as well as immediate action.

The overview page employs cards (containers of content), which are based on smart template technology, and which act as a UI framework for organizing large amounts of information on an equal plane within the page. The overview page is created by a developer based on annotated views of app data (meaning that app content can be tailored to the domain or role). Information can be visualized in an attractive and efficient way using different types of cards.

In short, the overview page is a simple, one-stop, data-driven SAP Fiori app that gives a role all essential information. It allows the user to view, filter, and react to information quickly.

Developer Hint
Configuration: The overview page is currently created by the developer based on annotated views of app data (meaning that app content can be tailored to the domain or role).

Usage

Use the overview page if:

  • The user has a specific role and needs to filter and react to information stemming from a range of applications.
  • The user needs to gather information from different sources that support a specific task focus or information need.
  • You want to offer different information formats (such as charts, lists, and tables) on a single page for a specific domain or role.
  • You want to organize and display a set of (filterable) data to provide an entry-level view of content related to a specific domain or role.

Do not use the overview page if:

  • A high-level or birds-eye view of application content is sufficient.
  • You want give access to all available SAP Fiori apps for all groups or domains.
  • You want to add or delete applications. Instead, consider using the SAP Fiori launchpad home page.

The Difference Between the SAP Fiori Launchpad Home Page, Overview Page and the Object Page

The launchpad home page contains all of a user’s favorite apps and offers access to them via tiles. This covers all the roles that a user would have, such as employee, manager, production worker, or quality manager.

An overview page, on the other hand, focuses on the tasks of a specific role. The user may therefore use multiple overview pages. For example, one overview page could be used to reflect the user’s role as manager, and allow him or her to manage the performance reviews of the team. Another overview page could be used to track quality issues and other relevant information pertaining to the machines that he or she is responsible for in the role of quality manager.

The overview page uses cards. These cards display more (preview) information than tiles due to their sizes and properties. A further distinctive feature is that identical card types also could perform simple actions.

The overview page is always role-based. This means the user will find heterogeneous information related to a specific business context and the daily tasks of the specific role. This is not the case with the object page, which contains object-based, homogenous information.

Have a look at the tables below, which further describe the differences between the launchpad home page, the object page, and the overview page:

Fiori Launchpad Home Page Overview Pagge
Framework (given) SAP Fiori application (optional)
“Birds-eye” view “Street level” view
Single point of entry Specific business context for a role
No actions Micro actions
One SAP Fiori launchpad per user Multiple overview pages per user possible
Overview Page Object Page
Role-based Object-based
“Street level” view “Details” view
Heterogeneous information Homogeneous information

Role-Specific Overview Pages

Only provide an overview page for a role if it makes sense to do so. An overview page gathers information from different sources that support a specific task focus or information need. If a role or user has several such main tasks that require a specific set of information, the role or user might also have multiple overview pages. However, there is no fixed coupling (for example, one overview page per role).

Interaction Flow

The overview page in SAP Fiori functions like a typical SAP Fiori app. This means that you can start it by clicking a tile on the SAP Fiori launchpad home page, or by bookmarking the direct link to the overview page in your browser to access it directly as you would any other app. The figure below illustrates the complete interaction flow.

Overview page screen navigation flow
Overview page screen navigation flow

Responsiveness

The entire SAP Fiori overview page floorplan is fully responsive and uses letterboxing. The flexible “easy scan” layout can accommodate typical laptop screens as well as larger desktop monitors, and features responsive (collapsible) “columns” of cards that can scale all the way down to tablet or phone screen sizes. The columns are of equal width and contain the cards in the following layout sizes:

  • Small: one column
  • Medium: two columns
  • Large: three columns
  • Extended: four to five columns for large desktop screen resolutions (maximum five columns)
Overview page for smartphone
Overview page for smartphone
Overview page for tablet
Overview page for tablet
Overview page for desktop
Overview page for desktop

The width of the cards changes depending on the screen size being used: either 20 or 25 rem is displayed. This process starts automatically and saves the responsiveness and readability of the cards to each device. This flexible width behavior applies to all card types.

Structure

The overview page consists of the following components:

  • Overview page header
  • Smart filter bar
  • Content area with cards

These are described in more detail below.

Overview page structure
Overview page structure

Components

Overview Page Header

The overview page uses the object page header for a page header. The header is the uppermost element in the floorplan. Its purpose is to provide the user with context and relevant information about the page it represents. The information allowed in the object page header of an overview page is limited to a title, subtitle (optional), and an icon button used to open the smart filter bar.

Smart Filter Bar

The smart filter bar  is used “as is”, meaning that for the overview page, all existing functions and behaviors of the current UI5 control are available, including variant management. The smart filter bar filters all the content on the page and in the data base. A notable exception is that the smart filter bar is not visible when the page is first loaded; the user must select the filter icon from the object header to cause the smart filter bar to appear on the page. On a desktop, once the smart filter bar has been invoked, it is always displayed in extended mode. On mobile devices, once it has been invoked, the smart filter bar is always displayed as collapsed.

Content Area of the Overview Page

The content area contains responsive (collapsible) columns of cards. The content area of the overview page features what is referred to as the “easy scan” layout. Note that you cannot place tiles in the content area on the overview page. Like an operating system’s home screen, the home screen only offers access to apps, but no further functionality for keeping the home page clean and usable. The overview page contains cards but no tiles. Cards have more than one interaction area and might even offer actions, thus making them much richer than tiles. Apps can be launched from an overview page through the header area of a card that is related to the specific app.

Warning
You cannot place tiles in the content area of the overview page.

Cards

Cards, which are entirely new for the overview page, are containers of application content. A card is a smart component that uses UI annotation to render its content, and is bound to a single data source. Cards differ in the content they display. They can show a chart, a list of items, a table, informative text, or a combination of two elements. For example, an analytical card may show a KPI header and a chart.

Cards used for the “easy scan” layout always have a uniform horizontal width, but may vary in their vertical dimension based on the card type.

The vertical size (height) is determined by the card type and the embedded control. It is flexible for list or table cards, and fixed for quick view or analytical cards.

Card Components

Every card comprises three components: a header area, a content area, and a footer area. The header and content areas are mandatory. In some cases, the footer area is not needed (such as for the stack or analytical cards) and is therefore optional.

Card components
Card components

Header Area

The card header area is a required section of the card layout. It serves two purposes:

  1. It indicates what content the card contains.
  2. It functions as a navigation area. As the entire header is selectable, the user can navigate to the specific app or view from which the card content originates. We recommend that you continuously use a navigation functionality on all cards.

The height of the header area is variable; it expands vertically to contain the text. The header area is mandatory and can contain up to three text fields for descriptive purposes (title, headline, and subtitle). At least one of the text labels must be used in the header area as a required element.

The primary purpose of the header area is to identify the content source (title), to present the reason why it is important to look at the card (headline), to show any relevant parameters (subtitle), and to provide navigation to the content source (an app).

Title

The title explains what the card is about and/or identifies the source or parent application.

Headline

The headline represents the card’s “point of view”. In one or two words, it explains why this card exists and why a user might want to use it. It is a natural language reflection of the annotated view and should express the results of the setting.

Subtitle

You should use the subtitle for any clarifying description, such as a filter parameter or setting info that adds value to the title.

Content Area of Cards

The content area is mandatory and reserved for application content. Content is currently displayed in a card by embedding a UI5 control that specifies the properties and data format to be displayed. For example, an embedded SAPUI5 standard list control provides formatting (such as row height, font sizes, and number of text blocks).

Footer Area

The footer area has a fixed height. It is also optional as, in some cases, a footer area is not needed (such as for stack or analytical cards). It serves two purposes:

  1. For cards that display information about a single object or data point, the footer area is used to display actions associated to the content of the card. This only applies to the quick view card. For more information, see the section on Behavior and Interaction in this article.
  2. For cards that display links to a group of multiple objects (such as list or table cards), the footer is informational and contains no actions. It provides a summary text label which describes how many items are shown on the card in respect to all items returned for the particular annotated view. For example: Showing 3 of 10. If there aren’t any items, the following text should be displayed: No items found.
Footer area with actions
Footer area with actions
Footer area with a summary text label
Footer area with a summary text label

Card Types

Single-Object Cards

Cards that feature content with a single focal point, detail, or entity are called single-object cards. An example is a business card with information about a particular contact. All single-object cards have the same fixed vertical height, which never changes. The quick view card and the analytical card are single-object cards.

Object Group Cards

Cards that feature a subset of items grouped together by relation to a common topic are called object group cards. A typical example would be a list of sales orders grouped by amount, status, or most recent status. Grouped cards have a flexible height. They do not have actions, but are designed in such a way that each row or list item is selectable, thus providing direct navigation to the detailed object within the parent application. Object group cards include all types of list cards and table cards.

Quick View Card

Quick view card on the overview page
Quick view card on the overview page

The quick view card displays basic details about a single object, such as a contact with name, address, and telephone numbers. A small picture can also be added. Clicking on the header area of a card opens the corresponding app. The quick view card inherits the UI5 element sap.m.QuickView. It is only available inside the object stream; you cannot position it on the overview page itself. Only the footer area of the quick view card can currently provide actions.

Analytical Card

Analytical cards are used for data visualization. They are single-object cards that consist of two areas: a header area that displays the aggregated value of a key measure (KPI), and a chart area that displays a representation of data in graphical format.

The KPI header includes the title and a subtitle. The headline is replaced by the KPI with the respective unit, which can be shown using semantic colors. An optional percentage indicator and a triangle indicator (showing an upward or a downward trend) can also be displayed. The optional subtitle can show the filter criteria used for the chart, and can contain up to two lines of text.

Currently, the VizFrame line chart, bubble chart, and donut chart without a footer area are available for use on the overview page.

For more information, see analytical card.

KPI header in analytical cards
KPI header in analytical cards
Analytical card with a donut chart
Analytical card with a donut chart
Analytical card with a line chart
Analytical card with a line chart
Analytical card with a bubble chart
Analytical card with a bubble chart

List Card

List cards are a type of object group card, and display a set of items in a vertical list. The list card uses the sap.m.List container in the content area. Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the returned ResultSet objects. Clicking on a list item (row) on the card opens the detail view for that specific item in the same parent application.

Two different line item types are available: “condensed list item” and “extended list item”. However, you can only use one type of list item on any given card. The condensed list item shows minimal information – two lines of text and a number – and contains the same properties as the SAPUI5 control sap.m.StandardListItem. The extended list item displays more information – three lines of text and three numbers – and contains the same properties as the SAPUI5 control sap.m.ObjectListItem.

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

List card with condensed list items
List card with condensed list items
List card with extended list items
List card with extended list items

Bar Chart List Card

The bar chart list card adds a chart component to a list. You can embed a progress indicator in either a condensed or extended list format.

Overview page – Bar chart list card
Overview page – Bar chart list card

Table Card

Table cards are a type of object group card, and display a set of items in a table format. Table cards use the responsive SAPUI5 control sap.m.Table. Clicking on the header area of a table card  opens the parent application with the same filter applied as for the annotated card with access to a table of all the returned ResultSet objects. In contrast, clicking on a table row inside the card opens that specific object detail screen within an app. The card limit the width of the table to three columns and no row should display more than three lines of text The first and second column show a data field and the last column a data point. The height of the card reflects its content. If one or more items are returned, show the items in the footer area with a summary text “Showing x of x”.

Overview page – Table card
Overview page – Table card

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

If no items are found, the card should only display the header and footer information. The only selectable area would be the header for navigation to the corresponding app.

If one or more items are returned, show the items in the list/table format with a footer area for summary text. The height of the card depends on the amount of content.

Stack Card

A stack card is a special collection of up to 20 single-object cards based on a topic or action. Click the stack card cover to open and browse individual cards, with the option to view, inspect, or take action.

Overview page – Stack card
Overview page – Stack card

The stack card cover contains the following components:

Title Area

The title should be one line of text and can be the name of an app or a topic.

Stack Content Count

Stack card covers should always display the total number of cards contained within the stack. The maximum number of cards in a stack is 20.

Headline Area

The headline in a stack card can have up to two lines of text. Subtitles are not available. The headline should be used to explain the contents of the stack, and to highlight what is new or has changed since the last visit.

Status Area

Every stack card should display a single line of text to indicate a status. This can be the time of the last update, an indication of urgency, or the last time the user opened the stack.

Navigation

The stack card cover contains two clickable areas for navigation: the left area navigates to the parent application, and the right area triggers the opening of the object stream (see below), which contains the scrollable collection of cards in an overlay.

Object Stream

The object stream is a scrollable, open stack of cards that appears on the surface of the OVP in a modeless overlay. Cards in the object stream should be ordered chronologically, with the most recent items appearing first by default. However, app developers can also define the best object stream sorting option for their own needs and custom content.

Object stream with scrolling cards
Object stream with scrolling cards

Object Stream Components

The modeless overlay serves as a container or layer for other controls and functionality. Clicking on the stack card cover opens the overlay. When invoked, it should be bound to the card object that launched it. The opened overlay should appear centered vertically to the entire screen window.

Once invoked, the modeless overlay should expand to contain whatever content is provided by the object stream. If more cards are available than fit in the available overlay window space, the area becomes scrollable, and the user can scroll or swipe to see more cards. An arrow icon appears, indicating that the object stream contains more cards.

The overlay should contain a single-line label for text and a Close button. Clicking outside the overlay surface also closes the overlay.

If the stack card contains no cards, the stack link is not active and the overlay cannot be opened. The stack count number displays 0. If only one card is in the stack, an object stream opens containing just a single card.

Tablet Version

On tablet devices, the modeless overlay should expand horizontally to display three cards in landscape mode and two in portrait mode. It should also expand vertically to contain the card height plus room for an area at the top of the control where the stack card title and a button can be provided allowing the user to close the overlay. The overlay should be vertically centered in the entire screen window.

Smartphone Version

On a smartphone, tapping on the right navigation area opens the object stream in a new window that fills the screen at the top of the OVP page. Here, the user can swipe through cards in the stack and take micro actions. Tapping the Close button closes the stack card and returns the user to the main OVP page.

Arrow Indicators (Scrolling)

Arrows appear only in the desktop version. If all cards in a stream are displayed on the screen, no arrows are visible. If there are more cards in the stream than fit in the visible area, the arrow icon appears on the right side when hovering over anywhere on the object stream. Hovering the mouse anywhere over the arrow button area causes the cards to advance.

Once the first card begins to move out of the viewable overlay area, a second arrow button indicator appears on the left. Once the last card has come completely into view, the right arrow indicator disappears.

Placeholder Card

The object stream can display up to 20 cards. A placeholder card occupies the last card position in any object stream. It marks the end point of the object stream and provides a quick navigation point for jumping to the app or apps that have card content in the stream. The placeholder is not included in the number of cards shown to the user on the stack card cover.

The entire card is navigable and should direct the user to the app that the stack card represents, or should display links to the apps corresponding to the cards in the stack.

Behavior and Interaction

The layout of the overview page consists a scrollable page of cards for each device, making it easy to scan through quickly.

Actions on Cards

Only quick view cards can have actions in the footer area (inside the object stream). The order of actions assigned and displayed on a card should be determined by the app’s owner. “Primary” and “secondary” actions are possible.

A primary action appears on the left side of the footer area. If more than one action is to be displayed, the additional action moves into the overflow and is described as a secondary action. The three dots (…) represent the overflow action icon. This icon is used as a place to consolidate all other actions except the primary action. Clicking on the overflow invokes the appearance of an action sheet, which is displayed on top of the card’s surface with the list of secondary actions. Clicking on an action starts it and dismisses the action sheet. A maximum of five secondary actions are allowed in the overflow (although we recommend permitting a maximum of three secondary actions here). Including the primary action, you can therefore display up to six actions.

Primary action and the overflow
Primary action and the overflow
Primary action and the overflow
Primary action and the overflow
Primary action and the listed secondary actions
Primary action and the listed secondary actions

There are two possible types of action: navigation and function import. Any combination of navigation and function import actions should be allowed. The order of actions assigned to a card should be determined by the app’s owner. Any error messaging or confirmation toasts would be displayed directly on the overview page.

Navigate

Navigation is “intent-based” and takes the user to a different SAP Fiori app that specializes in executing an action. Navigation actions are always multiple-click (meaning that they can be repeated over and over). If we take the example of an SAP Fiori detail view that supports operations for the intended action, the intended destination screen would open in the same browser window, and any errors or task confirmation toast messages would be handled by the supporting application, not the overview page. If another application is open, the object stream should remain as is until the user returns to the overview page.

Import Function

The import function is a term to describe how actions are named in OData. It has two purposes:

  1. An action requires some input parameters. These would be handled on the overview page screen without further navigation. When an action choice is made (through user selection), the card should change to a dialog, and the input or selection action can be carried out.
  2. An action can have no parameters, and in such a case, the action request is sent immediately. Once the action has been completed, the card disappears from the object stream.

Action on Phone

Action behavior on a phone is very similar to that on a desktop or tablet. The main difference is that whenever an action on a card requires an input dialog box, the default option should be to use a full screen version for the phone’s form factor.

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori Overview Page.

Elements and Controls

Implementation

Overview Page (Smart Templates/SAP Fiori Elements)

The overview page (OVP) is a new data-driven SAP Fiori app that provides all the information a user needs in a single page, based on the user’s specific domain or role. It allows the user to focus on the most important tasks, enabling faster decision-making as well as immediate action.

The overview page employs cards (containers of content), which are based on smart template technology, and which act as a UI framework for organizing large amounts of information on an equal plane within the page. The overview page is created by a developer based on annotated views of app data (meaning that app content can be tailored to the domain or role). Information can be visualized in an attractive and efficient way using different types of cards.

In short, the overview page is a simple, one-stop, data-driven SAP Fiori app that gives a role all essential information. It allows the user to view, filter, and react to information quickly.

Developer Hint
Configuration: The overview page is currently created by the developer based on annotated views of app data (meaning that app content can be tailored to the domain or role).

Usage

Use the overview page if:

  • The user has a specific role and needs to filter and react to information stemming from a range of applications.
  • The user needs to gather information from different sources that support a specific task focus or information need.
  • You want to offer different information formats (such as charts, lists, and tables) on a single page for a specific domain or role.
  • You want to organize and display a set of (filterable) data to provide an entry-level view of content related to a specific domain or role.

Do not use the overview page if:

  • A high-level or birds-eye view of application content is sufficient.
  • You want give access to all available SAP Fiori apps for all groups or domains.
  • You want to add or delete applications. Instead, consider using the SAP Fiori launchpad home page.

The Difference Between the SAP Fiori Launchpad Home Page, Overview Page and the Object Page

The launchpad home page contains all of a user’s favorite apps and offers access to them via tiles. This covers all the roles that a user would have, such as employee, manager, production worker, or quality manager.

An overview page, on the other hand, focuses on the tasks of a specific role. The user may therefore use multiple overview pages. For example, one overview page could be used to reflect the user’s role as manager, and allow him or her to manage the performance reviews of the team. Another overview page could be used to track quality issues and other relevant information pertaining to the machines that he or she is responsible for in the role of quality manager.

The overview page uses cards. These cards display more (preview) information than tiles due to their sizes and properties. A further distinctive feature is that identical card types also could perform simple actions.

The overview page is always role-based. This means the user will find heterogeneous information related to a specific business context and the daily tasks of the specific role. This is not the case with the object page, which contains object-based, homogenous information.

Have a look at the tables below, which further describe the differences between the launchpad home page, the object page, and the overview page:

Fiori Launchpad Home Page Overview Pagge
Framework (given) SAP Fiori application (optional)
“Birds-eye” view “Street level” view
Single point of entry Specific business context for a role
No actions Micro actions
One SAP Fiori launchpad per user Multiple overview pages per user possible
Overview Page Object Page
Role-based Object-based
“Street level” view “Details” view
Heterogeneous information Homogeneous information

Role-Specific Overview Pages

Only provide an overview page for a role if it makes sense to do so. An overview page gathers information from different sources that support a specific task focus or information need. If a role or user has several such main tasks that require a specific set of information, the role or user might also have multiple overview pages. However, there is no fixed coupling (for example, one overview page per role).

Interaction Flow

The overview page in SAP Fiori functions like a typical SAP Fiori app. This means that you can start it by clicking a tile on the SAP Fiori launchpad home page, or by bookmarking the direct link to the overview page in your browser to access it directly as you would any other app. The figure below illustrates the complete interaction flow.

Overview page screen navigation flow
Overview page screen navigation flow

Responsiveness

The entire SAP Fiori overview page floorplan is fully responsive and uses letterboxing. The flexible “easy scan” layout can accommodate typical laptop screens as well as larger desktop monitors, and features responsive (collapsible) “columns” of cards that can scale all the way down to tablet or phone screen sizes. The columns are of equal width and contain the cards in the following layout sizes:

  • Small: one column
  • Medium: two columns
  • Large: three columns
  • Extended: four to five columns for large desktop screen resolutions (maximum five columns)
Overview page for smartphone
Overview page for smartphone
Overview page for tablet
Overview page for tablet
Overview page for desktop
Overview page for desktop

The width of the cards changes depending on the screen size being used: either 20 or 25 rem is displayed. This process starts automatically and saves the responsiveness and readability of the cards to each device. This flexible width behavior applies to all card types.

Structure

The overview page consists of the following components:

  • Overview page header
  • Smart filter bar
  • Content area with cards

These are described in more detail below.

Overview page structure
Overview page structure

Components

Overview Page Header

The overview page uses the object page header for a page header. The header is the uppermost element in the floorplan. Its purpose is to provide the user with context and relevant information about the page it represents. The information allowed in the object page header of an overview page is limited to a title, subtitle (optional), and an icon button used to open the smart filter bar.

Smart Filter Bar

The smart filter bar  is used “as is”, meaning that for the overview page, all existing functions and behaviors of the current UI5 control are available, including variant management. The smart filter bar filters all the content on the page and in the data base. A notable exception is that the smart filter bar is not visible when the page is first loaded; the user must select the filter icon from the object header to cause the smart filter bar to appear on the page. On a desktop, once the smart filter bar has been invoked, it is always displayed in extended mode. On mobile devices, once it has been invoked, the smart filter bar is always displayed as collapsed.

Content Area of the Overview Page

The content area contains responsive (collapsible) columns of cards. The content area of the overview page features what is referred to as the “easy scan” layout. Note that you cannot place tiles in the content area on the overview page. Like an operating system’s home screen, the home screen only offers access to apps, but no further functionality for keeping the home page clean and usable. The overview page contains cards but no tiles. Cards have more than one interaction area and might even offer actions, thus making them much richer than tiles. Apps can be launched from an overview page through the header area of a card that is related to the specific app.

Warning
You cannot place tiles in the content area of the overview page.

Cards

Cards, which are entirely new for the overview page, are containers of application content. A card is a smart component that uses UI annotation to render its content, and is bound to a single data source. Cards differ in the content they display. They can show a chart, a list of items, a table, informative text, or a combination of two elements. For example, an analytical card may show a KPI header and a chart.

Cards used for the “easy scan” layout always have a uniform horizontal width, but may vary in their vertical dimension based on the card type.

The vertical size (height) is determined by the card type and the embedded control.

Card Components

Every card comprises three components: a header area, a content area, and a footer area. The header and content areas are mandatory. In some cases, the footer area is not needed (such as for the stack or analytical cards) and is therefore optional.

Card components
Card components

Header Area

The card header area is a required section of the card layout. It serves two purposes:

  1. It indicates what content the card contains.
  2. It functions as a navigation area. As the entire header is selectable, the user can navigate to the specific app or view from which the card content originates. We recommend that you continuously use a navigation functionality on all cards.

The height of the header area is variable; it expands vertically to contain the text. The header area is mandatory and can contain up to three text fields for descriptive purposes (category, title, subtitle). At least one of the text labels must be used in the header area as a required element. We recommend that you use at least the category and the title to ensure that all cards are displayed homogeneously.

The primary purpose of the header area is to identify the content source (category), to present the reason why it is important to look at the card (title), to show any relevant parameters (subtitle), and to provide navigation to the content source (an app).

Category

The category explains what the card is about and/or identifies the source or parent application.

Title

The headline represents the card’s “point of view”. In one or two words, it explains why this card exists and why a user might want to use it. It is a natural language reflection of the annotated view and should express the results of the setting.

Subtitle

You should use the subtitle for any clarifying description, such as a filter parameter or setting info that adds value to the title.

Content Area of Cards

The content area is mandatory and reserved for application content. Content is currently displayed in a card by embedding a UI5 control that specifies the properties and data format to be displayed. For example, an embedded UI5 standard list control provides formatting (such as row height, font sizes, and number of text blocks).

Footer Area

The footer area has a fixed height. It is also optional as, in some cases, a footer area is not needed (such as for stack or analytical cards). It serves two purposes:

  1. For cards that display information about a single object or data point, the footer area is used to display actions associated to the content of the card. This only applies to the quick view card. For more information, see the section on Behavior and Interaction in this article.
  2. For cards that display links to a group of multiple objects (such as list or table cards), the footer is informational and contains no actions. It provides a summary text label which describes how many items are shown on the card in respect to all items returned for the particular annotated view. For example: Showing 3 of 10. If there aren’t any items, the following text should be displayed: No items found.
Footer area with actions
Footer area with actions
Footer area with a summary text label
Footer area with a summary text label

Card Types

Single-Object Cards

Cards that feature content with a single focal point, detail, or entity are called single-object cards. An example is a business card with information about a particular contact. The quick view card and the analytical card are single-object cards.

Object Group Cards

Cards that feature a subset of items grouped together by relation to a common topic are called object group cards. A typical example would be a list of sales orders grouped by amount, status, or most recent status. They do not have actions, but are designed in such a way that each row or list item is selectable, thus providing direct navigation to the detailed object within the parent application. Object group cards include all types of list cards and table cards.

Quick View Card

Quick view card on the overview page
Quick view card on the overview page

The quick view card displays basic details about a single object, such as a contact with name, address, and telephone numbers. A small picture can also be added. Clicking on the header area of a card opens the corresponding app. The quick view card inherits the UI5 element sap.m.QuickView. It is only available inside the object stream; you cannot position it on the overview page itself. Only the footer area of the quick view card can currently provide actions.

Analytical Card

Analytical cards are used for data visualization. They are single-object cards that consist of two areas: a header area that displays the aggregated value of a key measure (KPI), and a chart area that displays a representation of data in graphical format.

The KPI header includes the title and a subtitle. The headline is replaced by the KPI with the respective unit, which can be shown using semantic colors. An optional percentage indicator and a triangle indicator (showing an upward or a downward trend) can also be displayed. The optional subtitle can show the filter criteria used for the chart, and can contain up to two lines of text.

Currently, the VizFrame line chart, bubble chart, and donut chart without a footer area are available for use on the overview page.

For more information, see analytical card.

KPI header in analytical cards
KPI header in analytical cards
Analytical card with a donut chart
Analytical card with a donut chart
Analytical card with a line chart
Analytical card with a line chart
Analytical card with a bubble chart
Analytical card with a bubble chart

List Card

List cards are a type of object group card, and display a set of items in a vertical list. The list card uses the sap.m.List container in the content area. Clicking the header area of a list card opens the parent application, which uses the same filter as the annotated card, and shows a list of all the returned ResultSet objects. Clicking on a list item (row) on the card opens the detail view for that specific item in the same parent application.

Two different line item types are available: “condensed list item” and “extended list item”. However, you can only use one type of list item on any given card. The condensed list item shows minimal information – two lines of text and a number – and contains the same properties as the SAPUI5 control sap.m.StandardListItem. The extended list item displays more information – three lines of text and three numbers – and contains the same properties as the SAPUI5 control sap.m.ObjectListItem.

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

List card with condensed list items
List card with condensed list items
Condensed list items with semantic colors
Condensed list items with semantic colors
List card with extended list items
List card with extended list items
Extended list items with semantic colors
Extended list items with semantic colors

Bar Chart List Card

The bar chart list card adds a chart component to a list. You can embed a progress indicator in either a condensed or extended list format.

Overview page – Bar chart list card
Overview page – Bar chart list card

Table Card

Table cards are a type of object group card, and display a set of items in a table format. Table cards use the responsive SAPUI5 control sap.m.Table. Clicking on the header area of a table card  opens the parent application with the same filter applied as for the annotated card with access to a table of all the returned ResultSet objects. In contrast, clicking on a table row inside the card opens that specific object detail screen within an app. The card limit the width of the table to three columns and no row should display more than three lines of text The first and second column show a data field and the last column a data point. The height of the card reflects its content. If one or more items are returned, show the items in the footer area with a summary text “Showing x of x”.

Overview page – Table card
Overview page – Table card

Size

The size of list cards displaying multiple objects adjusts depending on the amount content available. The height can vary depending on the number of text fields. However, there are rules for the fixed number of list items: You should show no more than 5 condensed list items and no more than 3 extended list items in one list card. The user should expect to navigate to the full app to see a list of all possible items or the result set.

If no items are found, the card should only display the header and footer information. The only selectable area would be the header for navigation to the corresponding app.

If one or more items are returned, show the items in the list/table format with a footer area for summary text. The height of the card depends on the amount of content.

Stack Card

A stack card is a special collection of up to 20 single-object cards based on a topic or action. Click the stack card cover to open and browse individual cards, with the option to view, inspect, or take action.

Overview page – Stack card
Overview page – Stack card

The stack card cover contains the following components:

Title Area

The title should be one line of text and can be the name of an app or a topic.

Stack Content Count

Stack card covers should always display the total number of cards contained within the stack. The maximum number of cards in a stack is 20.

Headline Area

The headline in a stack card can have up to two lines of text. Subtitles are not available. The headline should be used to explain the contents of the stack, and to highlight what is new or has changed since the last visit.

Status Area

Every stack card should display a single line of text to indicate a status. This can be the time of the last update, an indication of urgency, or the last time the user opened the stack.

Navigation

The stack card cover contains two clickable areas for navigation: the left area navigates to the parent application, and the right area triggers the opening of the object stream (see below), which contains the scrollable collection of cards in an overlay.

Object Stream

The object stream is a scrollable, open stack of cards that appears on the surface of the OVP in a modeless overlay. Cards in the object stream should be ordered chronologically, with the most recent items appearing first by default. However, app developers can also define the best object stream sorting option for their own needs and custom content.

Object stream with scrolling cards
Object stream with scrolling cards

Object Stream Components

The modeless overlay serves as a container or layer for other controls and functionality. Clicking on the stack card cover opens the overlay. When invoked, it should be bound to the card object that launched it. The opened overlay should appear centered vertically to the entire screen window.

Once invoked, the modeless overlay should expand to contain whatever content is provided by the object stream. If more cards are available than fit in the available overlay window space, the area becomes scrollable, and the user can scroll or swipe to see more cards. An arrow icon appears, indicating that the object stream contains more cards.

The overlay should contain a single-line label for text and a Close button. Clicking outside the overlay surface also closes the overlay.

If the stack card contains no cards, the stack link is not active and the overlay cannot be opened. The stack count number displays 0. If only one card is in the stack, an object stream opens containing just a single card.

Tablet Version

On tablet devices, the modeless overlay should expand horizontally to display three cards in landscape mode and two in portrait mode. It should also expand vertically to contain the card height plus room for an area at the top of the control where the stack card title and a button can be provided allowing the user to close the overlay. The overlay should be vertically centered in the entire screen window.

Smartphone Version

On a smartphone, tapping on the right navigation area opens the object stream in a new window that fills the screen at the top of the OVP page. Here, the user can swipe through cards in the stack and take micro actions. Tapping the Close button closes the stack card and returns the user to the main OVP page.

Arrow Indicators (Scrolling)

Arrows appear only in the desktop version. If all cards in a stream are displayed on the screen, no arrows are visible. If there are more cards in the stream than fit in the visible area, the arrow icon appears on the right side when hovering over anywhere on the object stream. Hovering the mouse anywhere over the arrow button area causes the cards to advance.

Once the first card begins to move out of the viewable overlay area, a second arrow button indicator appears on the left. Once the last card has come completely into view, the right arrow indicator disappears.

Placeholder Card

The object stream can display up to 20 cards. A placeholder card occupies the last card position in any object stream. It marks the end point of the object stream and provides a quick navigation point for jumping to the app or apps that have card content in the stream. The placeholder is not included in the number of cards shown to the user on the stack card cover.

The entire card is navigable and should direct the user to the app that the stack card represents, or should display links to the apps corresponding to the cards in the stack.

Behavior and Interaction

The layout of the overview page consists a scrollable page of cards for each device, making it easy to scan through quickly.

Actions on Cards

Only quick view cards can have actions in the footer area (inside the object stream). The order of actions assigned and displayed on a card should be determined by the app’s owner. “Primary” and “secondary” actions are possible.

A primary action appears on the left side of the footer area. If more than one action is to be displayed, the additional action moves into the overflow and is described as a secondary action. The three dots (…) represent the overflow action icon. This icon is used as a place to consolidate all other actions except the primary action. Clicking on the overflow invokes the appearance of an action sheet, which is displayed on top of the card’s surface with the list of secondary actions. Clicking on an action starts it and dismisses the action sheet. A maximum of five secondary actions are allowed in the overflow (although we recommend permitting a maximum of three secondary actions here). Including the primary action, you can therefore display up to six actions.

Primary action and the overflow
Primary action and the overflow
Primary action and the overflow
Primary action and the overflow
Primary action and the listed secondary actions
Primary action and the listed secondary actions

There are two possible types of action: navigation and function import. Any combination of navigation and function import actions should be allowed. The order of actions assigned to a card should be determined by the app’s owner. Any error messaging or confirmation toasts would be displayed directly on the overview page.

Navigate

Navigation is “intent-based” and takes the user to a different SAP Fiori app that specializes in executing an action. Navigation actions are always multiple-click (meaning that they can be repeated over and over). If we take the example of an SAP Fiori detail view that supports operations for the intended action, the intended destination screen would open in the same browser window, and any errors or task confirmation toast messages would be handled by the supporting application, not the overview page. If another application is open, the object stream should remain as is until the user returns to the overview page.

Import Function

The import function is a term to describe how actions are named in OData. It has two purposes:

  1. An action requires some input parameters. These would be handled on the overview page screen without further navigation. When an action choice is made (through user selection), the card should change to a dialog, and the input or selection action can be carried out.
  2. An action can have no parameters, and in such a case, the action request is sent immediately. Once the action has been completed, the card disappears from the object stream.

Action on Phone

Action behavior on a phone is very similar to that on a desktop or tablet. The main difference is that whenever an action on a card requires an input dialog box, the default option should be to use a full screen version for the phone’s form factor.

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori Overview Page.

Elements and Controls

Implementation

Object Page (Floorplan + SAP Fiori Element)

The object page floorplan allows the user to display, create, or edit an object. This is now the recommended floorplan for representing both simple and complex objects in SAP Fiori, and is set to replace the flat object view floorplan and object view floorplan. The object page floorplan comes with a flexible header, a choice of anchor or tab navigation, and a flexible, responsive layout. These features make it adaptable for a wide range of use cases.

You can implement the object page floorplan in two ways:

  • Use the pre-built SAP Fiori element (formerly known as a smart template). This implementation uses OData annotations, and allows you to speed up development if the supported feature set matches your requirements.
  • Implement the floorplan yourself using the respective SAPUI5 controls.
Object page floorplan
Object page floorplan

Usage

Use the object page floorplan if:

  • You need to let users display, create, or edit an object.
  • You want to offer a flat page with no navigation for a simple object.
  • You want to use tabs or anchor navigation for a more complex object.

Do not use the object page floorplan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

In all these cases, consider using the wizard floorplan instead.

Responsiveness

The object page floorplan is responsive and supports all SAP FIori screen sizes: small (S), medium (M), large (L), and extra large (XL).

Object page – Size S
Object page – Size S
Object page – Size M
Object page – Size M
Object page – Size L
Object page – Size L

The layout for size XL (large display) contains four columns.

The default layout for size L (desktop) contains three columns. You can also use an optional two-column layout.

Object page – Size L
Object page – Size L

The layout for size M (tablet) contains two columns.

Object page – Size M
Object page – Size M

The layout for size S (smartphone) contains one column.

Object page – Size S
Object page – Size S

Structure

The object page is a full screen floorplan with a display mode, a create mode, and an edit mode.

In all modes, the object page contains:

  • A snapping header
  • A navigation bar
  • A content area

The edit and create modes differ from the display mode in two respects:

  • The header does not contain a toolbar.
  • Instead, a footer toolbar is used for actions and messaging.

The following sections explain these components in more detail.

Schematic visualization of object page
Schematic visualization of object page

Snapping Header

The snapping header is the uppermost element of the object page floorplan. It contains key information about the business object and provides the user with the necessary context. In display mode, the header also contains global actions for the object.

Toolbar

The object page follows a “one toolbar” approach:

  • In display mode, place all actions in the header toolbar. Do not use the footer toolbar.
  • In create or edit mode, place all actions in the footer toolbar.
Toolbar in object page
Toolbar in object page

Navigation

There are three ways to navigate within the object page:

  • Anchor bar (by default)
  • No navigation (flat scrollable page)
  • Tabs
Object page – Navigation
Object page – Navigation

Anchor Bar and Overflow

The anchor bar is the default navigation control for the object page. It consists of a series of anchor links, which are arranged horizontally at the top of the page. The anchors represent sections or subsections of the page. Clicking on these links directs the user to specific sections of the page. The anchor links remain visible when the user scrolls down the page.

If there are more anchors than the screen can accommodate, the remaining anchors move into an overflow menu. The overflow button on the right of the navigation bar (down arrow) opens a hierarchical dropdown list of all sections and subsections.

Object page – Anchor bar
Object page – Anchor bar

You might also see a small right arrow on the anchor bar. This arrow allows you to scroll horizontally to reveal the any hidden content, and only appears when you hover over the overflow menu. In the meantime, this arrow has been replaced by the overflow arrow button, but is still supported technically for legacy reasons.

When the header content is folded, the navigation bar becomes part of the header. To avoid duplicating the title, the object page hides the title of the uppermost section (active or selected). Instead, the selected anchor link in the anchor bar acts as the title. If a section contains only one subsection, the title of the subsection becomes the name of the section. In this case, there is no subsection submenu.

Layout and Responsiveness

On small screens, the anchor bar becomes a dropdown list. The text field of the dropdown list shows the section currently selected. Clicking the dropdown menu opens a hierarchical list with all the sections and subsections of the document.

 

Behavior and Interaction

  • Clicking an anchor link scrolls the page to the selected section.
  • Clicking a section anchor that contains more than one subsection opens a subsection menu.
  • Clicking a subsection scrolls the page to the selected subsection.
  • The keyboard left and right arrows allow the user to move between the anchor links.
  • Hovering over the fade area to the left or right of the anchor bar causes an overflow arrow button to appear (compact mode only). The overflow arrow button is always visible in cozy mode.
  • Clicking the overflow scroll button (right arrow) scrolls the anchors horizontally to bring anchors that are hidden in the overflow into view.
  • Clicking the overflow menu button (down arrow) displays a hierarchical dropdown list with all the sections and subsections of the document. Clicking an item in the overflow list scrolls to the respective section or subsection.

Important: Use title case for the anchor bar texts. To do this, you need to change the default capitalization (block caps) by changing the the property upperCaseAnchorBar to “false”.

Object page – Behavior and interaction
Object page – Behavior and interaction

Hiding the Navigation

You can also hide the navigation bar, leaving a flat, scrollable object. We recommend using this flat view for simple content that doesn’t require anchor navigation.

Tab Navigation

As an alternative to anchor navigation, you can also opt for tab navigation. The tab bar works in a similar way to the icon tab bar, but is not the same control. Tab navigation for the object page is a variant of the anchor bar, and is handled by the object page layout control.

If you set the tab bar property (useIconTabBar = “true”), the navigation bar displays tabs instead of anchors. The object page only supports text-only tabs; icon tabs and icon/text tabs are not available. The object page sections and subsections are reflected in the tab navigation: sections of the object page become the tabs, and subsections become the internal content of the tab. The tabs can have an item counter, which is displayed in parentheses next to the title of the tab.

On small screens, the tab bar uses the same horizontal carousel overflow pattern as the icon tab bar. This differs from the dropdown approach used for the anchor bar.

Tab Bar Subnavigation

To make it easier to reach specific content on a long tab page, tabs can have subnavigation. Subnavigation is optional and the default state is “false”. If the state is set to “true”, a dropdown arrow is shown next to the tab. Clicking on the tab displays a dropdown menu with the subsection anchors for that tab.

Object page – Behavior and interaction
Object page – Behavior and interaction

Breadcrumbs

If the object page uses a hierarchical parent-child drilldown, you can offer a breadcrumb for navigation. The breadcrumb is part of the snapping header.

Content Area

The object page content consists of sections and subsections arranged in a column layout. For large documents, you can enable a lazy loading mechanism (property: enableLazyLoading) to mitigate the loading time.

Sections

Sections are containers for subsections. They provide the basic structure for navigation, and are directly reflected in the navigation bar. Sections can have a title, subsections, and actions. However, they cannot contain controls.

Use title case for the section title (property titleUppercase = “false”). The title can have an item counter, which is displayed in parentheses. If a section contains only one subsection, the title of the subsection is used as the name of the section. In this case, there is no subsection submenu in the anchor bar.

Global actions are always placed at subsection level. Sections can only contain subsections, not content. Because of this, the object page only provides toolbars for global actions at the subsection level.

Subsections

Subsections are the containers for actual content. Always place individual controls inside the subsections. Subsection content is arranged according to the column layout approach for the respective screen size. A subsection can include containers for different controls (mixed content).

Subsections have a progressive disclosure mechanism to show and hide content. App developers can specify which content is shown initially, but the user can also display everything by selecting the Show All button at the bottom right of the subsection.

Each subsection can have a toolbar, which is placed at subsection header level on the right. The toolbar contains actions that affect the content of the subsection.

Subsections within the same section are separated by a gray horizontal line. Subsections can have an item counter, which is displayed in parentheses next to the subsection header.

You can include various types of related content in one subsection. The layout blocks for the object page give you the flexibility to combine different content types.

Responsiveness

The content blocks in a subsection display in a row. The width of the row depends on the column layout for the respective screen size. If there is not enough space to display a content block, it wraps to the line below.

Object page – Content responsiveness
Object page – Content responsiveness

Forms

Forms follow the standard layout of the object page:

  • Large: 3 columns
  • Medium: 2 columns
  • Small: 1 column

Forms are located within subsections. They follow the column design of the object page, whereby each form group is arranged into a column. The title of the form is given by the subsection header. Only use the form title if you are using several forms within the same subsection.

To best fit the column layout, we recommend using top-aligned labels for form fields. Top-aligned labels are known to reduce completion times, and are the best approach for forms requiring localization or long labels. Using top-aligned labels also avoids issues with the spacing between the label and form field, which can occur with left- and right-aligned labels.

Blocks

Layout blocks allow content to be aligned within the columns as follows:

  • Layout 1: Occupies the maximum available horizontal space of one column.
  • Layout 2: Occupies the horizontal space of only two columns. If there is only one column available, it occupies one column.
  • Layout 3: Occupies the horizontal space of three columns. If there is only one column available, it occupies one column. If there are only two columns available, it occupies two columns.
Object page – Blocks
Object page – Blocks

Contacts

The contacts on the object page are technically a list, but they can be represented visually as a card.

The cards can contain:

  • An image (optional)
  • A title (mandatory)
  • A subtitle (optional)
  • A text snippet consisting of two lines maximum (optional)

A single card covers the column’s entire horizontal space. To avoid alignment problems, all cards are the same height. The card with the most content defines the overall height for all cards. The image can be rectangular or round. It shows in the top left corner of the card. The content of the card never truncates. If there is not enough space to display the information, it wraps onto the next line.

Content type – Contacts
Content type – Contacts

Tables

If you need to include a long table in an object page, consider placing it at the end of the document. Do not use vertical scrollbars within tables, since this can hinder scrolling through the page itself. Similarly, do not use pagination in tables.

Child Page Representation

In object pages with drilldown navigation, child pages are represented in three ways:

  • Visual representation in the header: A narrow blue band is displayed in the left margin of the snapping header.
  • Breadcrumbs: A breadcrumb is displayed above the object title. Limit the breadcrumb to the drilldown levels within the object page.
  • Item navigation arrows: Up and down arrows in the application toolbar allow the user to navigate between subitems without going back to the original list.

Behavior and Interaction

Edit

The basic layout of the object page in terms of header, navigation, and content remains the same in all modes (display, edit, create). However, in the edit and create modes, there is no header toolbar. Actions show in the footer toolbar instead. In edit mode, the object page can contain a mixture of editable and read-only content.

If the user needs to edit elements in the header, a header section is added in the content area for edit mode to enable editing.

Use the same content layout for both display and edit mode. Content should not change location when the user switches between display and edit modes.

For global and local editing guidelines, see Manage Objects – Create, Edit, Delete.

Editing the Header

The object page header can be edited in two ways:

  • Global edit
  • Partial edit

Global Edit

The header becomes editable when the entire object page is in edit mode. Because the header snaps on scroll, there are no editable forms in the header itself. Instead, a temporary header section is added before the other sections of the page. The title bar information and all editable fields from the header container move from the header to the new editable header section. Any non-editable content displays as read-only. You can leave out header content that doesn’t make sense in edit mode (for example, aggregated values that are calculated from several sources, KPIs, or micro charts).

If only a few fields in the header are editable, and they match an existing section, they are moved to that section. In this case, no editable header section appears.

Object page – Global edit
Object page – Global edit

The header container in edit mode may contain independent facets that are not included in the header content in display mode. These provide information to assist editing.

If the entire object page is in edit mode, but there is no editable information in the header, no editable header section is added.

Any changes made to the header are not reflected until the user saves them.

Object page – Global edit with independent facets
Object page – Global edit with independent facets

Partial Edit

The user can edit the header content separately from the other content on the page by pressing the Edit Header button.

If only a few elements are editable, the partial edit triggers a dialog. If there are too many elements to fit on a dialog, the partial edit triggers a subpage.

The subpage contains all editable information from the header. However, it differs from the “Header” section in global edit mode in that it has no action buttons in the toolbar, no navigation, and no breadcrumbs.

Object page – Partial edit with dialog
Object page – Partial edit with dialog

Unsaved Changes

If draft handling has been implemented, documents are automatically saved as draft versions in the background. An editing icon to the right of the object title indicates that a draft version exists. In other words, either the current user or another user has made changes, but not yet actively saved the document (“unsaved changes”). Do not show the editing icon for unsaved changes if draft handling is not supported.

Selecting the editing icon invokes a popover with more information about the unsaved changes. This normally states:

  • Who made the changes
  • When the last changes were made

The popover closes when the user clicks or taps the Close icon or anywhere outside the popover.

Unsaved changes popover (Mobile)
Unsaved changes popover (Mobile)
Unsaved changes popover (Desktop snapped)
Unsaved changes popover (Desktop snapped)
Unsaved changes popover (Desktop expanded)
Unsaved changes popover (Desktop expanded)

Create

Create mode is similar to edit mode, except that the user creates a new object and defines a title for it. Until the new object title is known, use the placeholder text “New <Object>” (for example, “New Purchase Order”). Replace the placeholder text with the actual name or ID of the new object as soon as this has been entered or generated.

Consider using the wizard floorplan instead of the object page floorpan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

Guidelines

Header

Use the header to set the context. Ensure that it is clearly structured and contains only essential information. Too much information impedes the main purpose of providing a clear context.

Actions

Arrange the actions in the header toolbar with care, and consider what matters most to the user:

  • Highlight actions that are common or most important.
  • Differentiate between secondary and generic actions.
  • Use either a text button or an icon for an action, but not both.
  • Place the most important actions on the left (actions go into the overflow from right to left).
  • Establish a coherent visual approach.
Do
Object page floorplan – Good example of how to arrange actions
Object page floorplan – Good example of how to arrange actions
Don't
Object page floorplan – Bad example of how to arrange actions
Object page floorplan – Bad example of how to arrange actions

Tab Navigation

Use tab navigation if you need a facet approach to your content. This could be due to performance issues in a flat view, or in response to a specific user preference. If you need to use icons, tabs as process steps, or tabs as filters, use the object view floorplan.

Not a Content Dump

Avoid using the object page as a universal container for masses of information. You should use the object page in accordance with the SAP Fiori principles: role-based, coherent, simple, and adaptive.

Simplify Content for Your Users

Give your users quick and easy access to the information they need to complete their task(s). Use a progressive disclosure strategy to keep your interface clean. You can always provide additional information on request. Furthermore, only present your users with information that makes sense for their industry, role, activity, and task.

Dynamic Side Content

You can offer dynamic side content alongside the object page under the following conditions:

  • Use the side panel only for contextual content. Do not place finalizing or global actions in the side panel. This is because opening the side panel occupies the whole right side of the screen. There is no way to show it only below the header and anchor bar.
  • Do not place object information in the side panel. This information should always be in the content area of the object page.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation


  • No Links.

Object Page (Floorplan + SAP Fiori Element)

The object page floorplan allows the user to display, create, or edit an object. This is now the recommended floorplan for representing both simple and complex objects in SAP Fiori, and is set to replace the flat object view floorplan and object view floorplan. The object page floorplan comes with a flexible header, a choice of anchor or tab navigation, and a flexible, responsive layout. These features make it adaptable for a wide range of use cases.

You can implement the object page floorplan in two ways:

  • Use the pre-built SAP Fiori element (formerly known as a smart template). This implementation uses OData annotations, and allows you to speed up development if the supported feature set matches your requirements. For an overview of the supported features, see the SAP Fiori Element section.
  • Implement the floorplan yourself using the respective SAPUI5 controls.
Object page floorplan
Object page floorplan

Usage

Use the object page floorplan if:

  • You need to let users display, create, or edit an object.
  • You want to offer a flat page with no navigation for a simple object.
  • You want to use tabs or anchor navigation for a more complex object.

Do not use the object page floorplan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

In all these cases, consider using the wizard floorplan instead.

Responsiveness

The object page floorplan is responsive and supports all SAP FIori screen sizes: small (S), medium (M), large (L), and extra large (XL).

Object page – Size S
Object page – Size S
Object page – Size M
Object page – Size M
Object page – Size L
Object page – Size L

The layout for size XL (large display) contains four columns.

The default layout for size L (desktop) contains three columns. You can also use an optional two-column layout.

Object page – Size L
Object page – Size L

The layout for size M (tablet) contains two columns.

Object page – Size M
Object page – Size M

The layout for size S (smartphone) contains one column.

Object page – Size S
Object page – Size S

Structure

The object page is a full screen floorplan with a display mode, a create mode, and an edit mode.

In all modes, the object page contains:

  • A snapping header
  • A navigation bar
  • A content area

The following sections explain these components in more detail.

Schematic visualization of object page
Schematic visualization of object page

Snapping Header

The snapping header is the uppermost element of the object page floorplan. It contains key information about the business object and provides the user with the necessary context. The header also contains global actions for the object.

Toolbars

The object page supports two toolbars:

  • Header toolbar: Use this toolbar for global actions such as Edit, Delete, Copy and Share.
  • Floating toolbar: Use this toolbar for closing and finalizing actions, such as Save, Post, Accept, Reject, and Activate.

This applies to all object page modes (display, edit, and create).

Responsive overflow toolbar
Responsive overflow toolbar

Navigation

There are three ways to navigate within the object page:

  • Anchor bar (by default)
  • No navigation (flat scrollable page)
  • Tabs
Object page – Navigation
Object page – Navigation

Anchor Bar and Overflow

The anchor bar is the default navigation control for the object page. It consist of a series of anchor links, which are arranged horizontally at the top of the page. The anchors represent sections or subsections of the page. Clicking on these links directs the user to specific sections of the page. The anchor links remain visible when the user scrolls down the page.

Developer Hint
Use title case for the anchor bar texts. To do this, you need to change the default capitalization (block caps) by changing the the property upperCaseAnchorBar to “false”.

Overflow

If there are more anchors than the screen can accommodate, the remaining anchors move into an overflow menu. The overflow overview button on the right of the navigation bar ( ) opens a hierarchical dropdown list of all sections and subsections. When the user scrolls down the page, the anchor links scroll horizontally to ensure that the active anchor is always visible.

You might also see a small right arrow on the anchor bar. This arrow allows you to scroll horizontally to reveal the any hidden content, and only appears when you hover over the overflow menu. In the meantime, this arrow has been replaced by the overflow overview button, but is still supported technically for legacy reasons.

Responsiveness

On small screens, the anchor bar becomes a dropdown list. The text field of the dropdown list shows the section currently selected. Clicking the dropdown menu opens a hierarchical list with all the sections and subsections of the document.

Object page – Anchor bar
Object page – Anchor bar
  1. Active anchor
  2. Inactive anchor
  3. Subsection dropdown
  4. Subsection
  5. Subsection dropdown indicator
  6. Overflow carousel button
  7. Overflow overview button
  8. Overflow overview dropdown
  9. Section (hover) in overflow overview
  10. Section in overflow overview
  11. Subsection in overflow overview

Behavior and Interaction

  • Clicking an anchor link scrolls the page to the selected section.
  • Clicking a section anchor that contains more than one subsection opens a subsection menu.
  • Clicking a subsection scrolls the page to the selected subsection. The keyboard left and right arrows allow the user to move between the anchor links.
  • Hovering over the fade area to the left or right of the anchor bar causes an overflow arrow button to appear (compact mode only). The overflow arrow button is always visible in cozy mode.
  • Clicking the overflow scroll button (right arrow) scrolls the anchors horizontally to bring anchors that are hidden in the overflow into view.
  • Clicking the overflow overview button ( ) displays a hierarchical dropdown list with all the sections and subsections of the document. Clicking an item in the overflow list scrolls to the respective section or subsection.
Object page – Behavior and interaction
Object page – Behavior and interaction

Hiding the Navigation

An object page can be used in a similar way to the flat object view. This is achieved by hiding the navigation bar from the object page, leaving a flat scrollable object. We recommend using this flat view for simple content that doesn’t require anchor navigation.

Tab Navigation

As an alternative to anchor navigation, you can also opt for tab navigation. The tab bar works in a similar way to the icon tab bar, but is not the same control. Tab navigation for the object page is a variant of the anchor bar, and is handled by the object page layout control.

If you set the tab bar property (useIconTabBar = “true”), the navigation bar displays tabs instead of anchors. The object page only supports text-only tabs; icon tabs and icon/text tabs are not available. The object page sections and subsections are reflected in the tab navigation: sections of the object page become the tabs, and subsections become the internal content of the tab. The tabs can have an item counter, which is displayed in parentheses next to the title of the tab.

On small screens, the tab bar uses the same horizontal carousel overflow pattern as the icon tab bar. This differs from the dropdown approach used for the anchor bar.

Tab Bar Subnavigation

To make it easier to reach specific content on a long tab page, tabs can have subnavigation. Subnavigation is optional and the default state is “false”. If the state is set to “true”, a dropdown arrow is shown next to the tab. Clicking on the tab displays a dropdown menu with the subsection anchors for that tab.

Object page – Behavior and interaction
Object page – Behavior and interaction

Breadcrumbs

If the object page uses a hierarchical parent-child drilldown, you can offer a breadcrumb for navigation. The breadcrumb is part of the snapping header.

Content Area

The object page content consists of sections and subsections arranged in a column layout. For large documents, you can enable a lazy loading mechanism (property: enableLazyLoading) to mitigate the loading time.

Sections

Sections are containers for subsections. They provide the basic structure for navigation, and are directly reflected in the navigation bar. Sections can have a title, subsections, and actions. However, they cannot contain controls.

Use title case for the section title (property titleUppercase = “false”). The title can have an item counter, which is displayed in parentheses. If a section contains only one subsection, the title of the subsection is used as the name of the section. In this case, there is no subsection submenu in the anchor bar.

Global actions are always placed at subsection level. Sections can only contain subsections, not content. Because of this, the object page only provides toolbars for global actions at the subsection level.

Subsections

Subsections are the containers for actual content. Always place individual controls inside the subsections. Subsection content is arranged according to the column layout approach for the respective screen size. A subsection can include containers for different controls (mixed content).

Subsections have a progressive disclosure mechanism to show and hide content. App developers can specify which content is shown initially, but the user can also display everything by selecting the Show All button at the bottom right of the subsection.

Each subsection can have a toolbar, which is placed at subsection header level on the right. The toolbar contains actions that affect the content of the subsection.

Subsections within the same section are separated by a gray horizontal line. Subsections can have an item counter, which is displayed in parentheses next to the subsection header.

You can include various types of related content in one subsection. The layout blocks for the object page give you the flexibility to combine different content types.

Responsiveness

The content blocks in a subsection display in a row. The width of the row depends on the column layout for the respective screen size. If there is not enough space to display a content block, it wraps to the line below.

Object page – Content responsiveness
Object page – Content responsiveness

Forms

Forms follow the standard layout of the object page:

  • Large: 3 columns
  • Medium: 2 columns
  • Small: 1 column

Forms are located within subsections. They follow the column design of the object page, whereby each form group is arranged into a column. The title of the form is given by the subsection header. Only use the form title if you are using several forms within the same subsection.

Use top-aligned labels for form fields. Top-aligned labels are known to reduce completion times, and are the best approach for forms requiring localization or long labels. Using top-aligned labels also avoids issues with the spacing between the label and form field, which can occur with left- and right-aligned labels.

Blocks

Layout blocks allow content to be aligned within the columns as follows:

  • Layout 1: Occupies the maximum available horizontal space of one column.
  • Layout 2: Occupies the horizontal space of only two columns. If there is only one column available, it occupies one column.
  • Layout 3: Occupies the horizontal space of three columns. If there is only one column available, it occupies one column. If there are only two columns available, it occupies two columns.
Object page – Blocks
Object page – Blocks

Contacts

The contacts on the object page are technically a list, but they can be represented visually as a card.

The cards can contain:

  • An image (optional)
  • A title (mandatory)
  • A subtitle (optional)
  • A text snippet consisting of two lines maximum (optional)

A single card covers the column’s entire horizontal space. To avoid alignment problems, all cards are the same height. The card with the most content defines the overall height for all cards. The image can be rectangular or round. It shows in the top left corner of the card. The content of the card never truncates. If there is not enough space to display the information, it wraps onto the next line.

Content type – Contacts
Content type – Contacts

Tables

In an object page, tables with up to 20 expected items can be displayed right away without lazy loading.

If a table is expected to have more than 20 items, use one of the following 3 options for long tables:

  1. Show More Behavior

If you expect up to 100 items, use the Show More behavior of the responsive table. The initial amount of items shown depends on the height of the rows. We recommend initially showing 5 to 10 items, but not more than 20. If there is more than one table in the object page, this option should be used only for tables with up to 50 expected items.

  1. Tab Navigation

If you expect to have more than 50 to 100 items, but less than 400, using the object page with tab navigation instead of anchor navigation also solves the problems associated with long tables. Here it is important to place the table within a tab as the only or at least the last element and to enable the scroll to load behavior.

  1. Navigation to List Report

For tables with more than 400 items, or when the tab approach is unsuitable, the table itself should be restricted to a reasonable amount of items. We recommend only showing a preview of the data in the table, which should not contain more than 20 items. Ideally, you should have about 10 items. This can be either be achieved by prefiltering and/or by sorting the table, and if necessary, by restricting it to a fixed amount of items (such as top 10). To provide the user with a way to work with the entire table, a navigation to a separate list report containing the full table must be offered.  This navigation should be located below the table in the form of a right-aligned link labelled Show All (x), with x representing the total amount of items in the table.

In the object page, we recommend that you do not use the analytical, grid and tree tables. Instead, use a responsive table and offer navigation to a list report with the table types mentioned above.

For all of the three options mentioned above, we recommend providing a search, and if feasible, sort and filtering for the table in the object page. Grouping should be avoided.

Table with navigation to a separate list report
Table with navigation to a separate list report

Child Page Representation

In object pages with drilldown navigation, child pages are represented in three ways:

  • Visual representation in the header: A narrow blue band is displayed in the left margin of the snapping header.
  • Breadcrumbs: A breadcrumb is displayed above the object title. Limit the breadcrumb to the drilldown levels within the object page.
  • Item navigation arrows: Up and down arrows in the application toolbar allow the user to navigate between subitems without going back to the original list.

Behavior and Interaction

Edit

The basic layout of the object page in terms of header, navigation, and content remains the same in all modes (display, edit, create). In edit mode, the object page can contain a mixture of editable and read-only content.

If the user needs to edit elements in the header, a header section is added in the content area for edit mode to enable editing.

Use the same content layout for both display and edit mode. Content should not change location when the user switches between display and edit modes.

For global and local editing guidelines, see manage objects – create, edit, delete.

Editing the Header

The object page header can be edited in two ways:

  • Global edit
  • Partial edit

Global Edit

The header can be edited when the entire object page is in edit mode.

Because the header snaps on scroll, there are no editable forms in the header itself. Instead, a temporary header section is added before the other sections of the page. The title bar information and all editable fields from the header container move from the header to the new editable header section. Any non-editable content displays as read-only. You can leave out header content that doesn’t make sense in edit mode (for example, aggregated values that are calculated from several sources, KPIs, or micro charts).

If only a few fields in the header are editable, and they match an existing section, they are moved to that section. In this case, no editable header section appears.

Object page – Global edit with independent facets
Object page – Global edit with independent facets

The header container in edit mode may contain independent facets that are not included in the header content in display mode. They provide information to assist editing.

If the entire object page is in edit mode, but there is no editable information in the header, no editable header section is added.

Any changes made to the header are not reflected until the user saves them.

Partial Edit

The user can edit the header content separately by pressing the Edit Header button.

If there are only a few elements to edit, the partial edit triggers a dialog.

If there are too many elements to fit on a dialog, the partial edit triggers a subpage. The subpage contains all editable information from the header. However, it differs from the “Header” section in global edit mode in that it has no action buttons in the toolbar, no navigation, and no breadcrumbs.

Object page – Partial edit with dialog
Object page – Partial edit with dialog

Unsaved Changes

If draft handling has been implemented, documents are automatically saved as draft versions in the background. An editing icon to the right of the object title indicates that a draft version exists. In other words, either the current user or another user has made changes, but not yet actively saved the document (“unsaved changes”). Do not show the editing icon for unsaved changes if draft handling is not supported.

Selecting the editing icon invokes a popover with more information about the unsaved changes. This normally states:
•Who made the changes
•When the last changes were made

The popover closes when the user clicks or taps the Close icon or anywhere outside the popover.

Unsaved changes popover
Unsaved changes popover

Create

Create mode is similar to edit mode, except that the user creates a new object and defines a title for it. Until the new object title is known, use the placeholder text “New <Object>” (for example, “New Purchase Order”). Replace the placeholder text with the actual name or ID of the new object as soon as this has been entered or generated.

Consider using the wizard floorplan instead of the object page floorpan if:

  • You need to guide the user through a series of steps when a new object is created.
  • You need a progressive disclosure approach for the creation process.
  • The creation process is not linear, but can have different paths, depending on the information selected.
  • The user is not familiar with the creation task.

Guidelines

Header

Use the header to set the context. Ensure that it is clearly structured and contains only essential information. Too much information impedes the main purpose of providing a clear context.

Actions

Arrange the actions in the header toolbar with care, and consider what matters most to the user:

  • Highlight actions that are common or most important.
  • Differentiate between secondary and generic actions.
  • Use either a text button or an icon for an action, but not both.
  • Place the most important actions on the left (actions go into the overflow from right to left).
  • Establish a coherent visual approach.
Do
Object page floorplan – Good example of how to arrange actions
Object page floorplan – Good example of how to arrange actions
Don't
Object page floorplan – Bad example of how to arrange actions
Object page floorplan – Bad example of how to arrange actions

Tab Navigation

Use tab navigation if you need a facet approach to your content. This could be due to performance issues in a flat view, or in response to a specific user preference. If you need to use icons, tabs as process steps, or tabs as filters, use the object view floorplan.

Not a Content Dump

Avoid using the object page as a universal container for masses of information. You should use the object page in accordance with the SAP Fiori principles: role-based, coherent, simple, and adaptive.

Simplify Content for Your Users

Give your users quick and easy access to the information they need to complete their task(s). Use a progressive disclosure strategy to keep your interface clean. You can always provide additional information on request. Furthermore, only present your users with information that makes sense for their industry, role, activity, and task.

Dynamic Side Content

You can offer dynamic side content alongside the object page under the following conditions:

  • Use the side panel only for contextual content. Do not place finalizing or global actions in the side panel. This is because opening the side panel occupies the whole right side of the screen. There is no way to show it only below the header and anchor bar.
  • Do not place object information in the side panel. This information should always be in the content area of the object page.

SAP Fiori Element

Use the table below to see which features are available for the “object page” SAP Fiori element.

Feature Status Comments
Snapping Header
General
Fiori 2.0 merged header Supported
Header always expanded Supported
Header container on/off Supported
Header container on/off in different modes Supported
Header container expand on click Supported
Child page navigation Supported
Subtitle optional Supported
Arrow icon showTitleSelector Not Supported
Breadcrumbs Supported
Favorite behavior Not Supported With indicator next to the title.
Flag behavior Not Supported With indicator next to the title.
Unsaved changes behavior Supported With indicator next to the title
Lock behavior Supported With indicator next to the title
Header Facets
Different header facets in different modes Supported
Wrapping behavior for header facets Supported
Image facet square Supported
Image facet round Supported
Image header facet with placeholder Supported
Image header facet in different sizes Supported
Key value facet with unit Supported
Key value header facet with trend Not Supported
Key value facet with same text/numeric size Supported
Microchart header facet Partially supported Currently available for bullet and area charts.
Microchart header facet subtile optional Supported
Microchart header facet footer optional Supported
Microchart header facet with rating indicator Supported
Microchart header facet with progress bar Supported
Form header facet with optional labels Supported
Form header facet with icons as labels Not Supported
Form header facet with links as values Supported
Form header facet value with semantic color Supported
Key value header facet with link as value Supported
Key value header facet with semantic color on value Supported
Plain text header facet Supported
Breakout header facet Not Supported This also includes adding controls to existing header facets.
Toolbar
Header toolbar select, combo box, multi-combo box Not Supported
Header toolbar semantic buttons Supported
Header toolbar highlight buttons Supported
Header toolbar segmented buttons Not Supported
Toolbar overflow Supported
Toolbar overflow prioritization Supported
Icons as buttons Supported
Action sheet in buttons Supported
Prioritization of custom actions in toolbar Supported
Show Edit Header button (partial edit) Not Supported
Navigation
Navigation hidden if object only has one subsection Supported
Counts in anchors and sections/subsection headers Not Supported
Navigation horizontal carousel overflow Supported
Navigation mobile behavior (drop down) Supported
Navigation overflow overview button Supported
Tab navigation Supported
Tab with anchor subnavigation Not Supported
Anchor behavior Supported
Content
General
Partial edit Not Supported
Forms in content Supported For more on the form features, see the forms article.
Timeline in content Not Supported
Carousel in content Not Supported
Contact cards in content Partially Supported
Mixed content Supported Some content combinations might not be supported
Block controls Not Supported
Lazy loading Work in progress
Side panel Not Supported
Scroll to specific section on loading Not Supported
Layout
Content layout in size S (1 column) Supported
Content layout in size M (2 columns) Supported
Content layout in size L (3 columns) Supported
Content layout in size L (2 columns) – optional layout Not Supported
Content layout in size XL (4 columns) Supported
Sections and Subsections
Toolbar in subsections Not Supported
Toolbar in sections Not Supported
Toolbar in sections containing only one subsection Not Supported
Subsection toolbar with custom actions Not Supported
Subsection toolbar with buttons Not Supported
Subsection toolbar with highlighted buttons Not Supported
Subsection toolbar with semantic buttons Not Supported
Subsection toolbar with segmented buttons Not Supported
Subsection toolbar with select combo box or multi-combo box Not Supported
Subsection toolbar with buttons with actions sheets Not Supported
Use of priorities in sections/subsections Not Supported
Tables
Responsive list in content Not Supported
Responsive table in content Supported For particular features of tables available, see tables articles.
Analytical table in content Supported For particular features of tables available, see tables articles.
Tree table in content Not Supported

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation


  • No Links.

Object Page (Floorplan + SAP Fiori Element)

Object page floorplan
Object page floorplan

The object page floorplan is the new way to represent objects in SAP Fiori. The object page floorplan is set to replace the flat object view floorplan and, looking further ahead, the object view floorplan. New features in the object page, like a flexible header, alternative anchor or tab navigation, and a flexible responsive layout, make it adaptable for a wide range of use cases.

Usage

Use the object page floorplan if:

  • You need to display, create, or edit an object, regardless of its complexity level. You can use the object page with either a facet (tabs) or flat (anchors) approach.

Do not use the object page floorplan if:

  • You want to provide guided data entry in several related steps.
  • You need a progressive disclosure approach for the creation process.
  • You need to guide the user through a series of steps.
  • The user is not familiar with the creation task.
  • The creation process is not linear, but can have different paths depending on the information selected.

In all these cases, consider using the wizard floorplan instead.

Responsiveness

Object page – Size S
Object page – Size S
Object page – Size M
Object page – Size M
Object page – Size L
Object page – Size L

The object page floorplan supports all three SAP FIori responsive sizes: small, medium, and large.

In size L, the object page has a three-column layout. The breakpoint is 1024 px.

Object page – Size L
Object page – Size L

In size M, the object page has a two-column layout. The breakpoint is between
600 px and 1023 px.

Object page – Size M
Object page – Size M

In size S, the object page has a single-column layout. The break point is 600 px.

Object page – Size S
Object page – Size S

Structure

The object page is a full-page floorplan with a display mode, a create mode, and an edit mode.

Object page – Schematic visualization of name
Object page – Schematic visualization of name

The display mode comprises:

  • Header with a toolbar for global actions
  • Navigation bar
  • Content area

The edit and create modes differ in two respects:

  • The header in these two modes does not contain a toolbar.
  • A footer toolbar is provided instead for actions and messaging.

Header

The object page floorplan uses the SAP Fiori header.

The header is the uppermost element of a floorplan layout. Its purpose is to provide the user with context and relevant information about the document it represents. The header can have a title, a subtitle, and a content area for important information about the object.

For this content area, several object header facets have been defined. These are the form facet, for displaying data in a form structure, a plain text facet to display continuous texts, an image facet to display an image or placeholder, and a key-value facet to display important data. You can also use an address facet to display short addresses or contact data, a quick view facet to display related objects, a micro chart facet to display different micro charts or a rating indicator, and a numeric value facet to display trends. You can use the related apps facet to offer a way to quickly access apps that are related to the object.

The header also contains a toolbar for global actions.

Header responsiveness

The SAP Fiori header responsiveness is independent of the column layout approach of the content area.
For more information, see the Snapping Header article.

Toolbar

In the object page header and subsection, the responsive overflow toolbar allows the action buttons to move into a popover when the toolbar is resized. Regular and transparent buttons become transparent when they move into the overflow. When a segmented button (text/icon) moves into the overflow, it is shown as a select button. Search, select, variant management, positive, negative, and emphasized buttons stay as they are.

Navigation

Responsive overflow toolbar
Responsive overflow toolbar

The object page has two navigation options:

  • The anchor bar is the default navigation for the object page.
  • The icon tab bar is optionally available to provide faceted navigation to the object page.
Object page – Navigation
Object page – Navigation

General Points

The navigation bar becomes part of the header when the header content is folded.
To avoid title duplication, the object page hides the title of the uppermost section (active or selected). Instead, the selected anchor link in the anchor bar represents the header of the uppermost section. If a section contains only one subsection, the title of the subsection is used as the name of the section. In this case, there is no subsection submenu.

Anchor Bar

The anchor bar arranges anchor links horizontally. These anchor links allow the user to be directed to a specific place on a page. They represent sections or subsections of the floorplan content.

When a section contains more than one subsection, a counter showing the number of subsections and an arrow indicating a dropdown menu are shown next to the section’s title.

You can enable a lazy loading mechanism (enableLazyLoading) to mitigate loading time if the content is extensive.

The anchor bar is set to display items in uppercase by default. If the upperCaseAnchorBar property is set to “false”, the text is left as it is used in the title data.

The anchor bar can be hidden for simple content cases that do not require navigation.

Object page – Anchor bar
Object page – Anchor bar

Overflow

If there are too many anchor links to be displayed on the screen, the anchor bar uses an overflow mechanism. When the user scrolls down the page, the anchor links scroll horizontally to ensure that the active anchor is always visible.

If anchor links are hidden in the overflow, clicking the overflow arrow button scrolls the content of the anchor bar horizontally to show any content that may be hidden. An overflow overview button provides a hierarchical dropdown list of all sections and subsections, including any that are hidden in the overflow.

Responsiveness

The anchor bar becomes a dropdown list when displayed on small screens. The value in the text field of the dropdown list is the currently selected section. When the user clicks it, a dropdown list with all the content is displayed. The list is hierarchical, showing all the sections and subsections of the document.

Behavior and Interaction

Clicking an anchor link scrolls the page to the selected section.

Clicking a section anchor that contains more than one subsection opens a subsection menu.

Clicking a subsection scrolls the page to the selected subsection. The keyboard left and right arrows allow the user to move between the anchor links.

Hovering (compact mode only) over the fade area to the left or right of the anchor bar causes an overflow arrow button to appear. The overflow arrow button is always visible in cozy mode.

Clicking the overflow arrow button scrolls the anchors horizontally to bring into view any anchors that are hidden in the overflow.

Clicking the overflow overview button displays a hierarchical dropdown list with all the content, showing all the sections and subsections of the document. Clicking any item in the overflow overview dropdown list scrolls to the respective content.

Clicking the Small size dropdown version of the anchor bar displays a hierarchical dropdown list, showing all the sections and subsections of the document. Clicking any item in the overflow overview dropdown list scrolls to the respective content.

Object page – Behavior and interaction
Object page – Behavior and interaction

Icon Tab Bar

The icon tab bar offers users an alternative means of navigation on the object page.
By setting the useIconTabBar property to “true”, the navigation bar displays tabs instead of anchors.
The object page only uses the text-only version of the icon tab bar. Other icon tab bar types, like icons, tabs as process steps, or tabs as filters, cannot be used on the object page.

The object page content is based on sections and subsections, which is reflected in the use of the icon tab bar: Sections of the object page become the tabs, and subsections become the internal content of the tab.

The icon tab bar can have subnavigation in tabs. The subnavigation is optional and the default state is false. If the state is set to true, a dropdown arrow is shown next to the section’s title.

The icon tab bar has its own responsive behavior. The control uses a horizontal carousel overflow, which differs from the anchor bar dropdown approach.

For more information about the icon tab bar responsive behavior, see Icon Tab Bar.

Object page – Behavior and interaction
Object page – Behavior and interaction

Breadcrumbs

For the use case of hierarchical drilldown on an object page, a breadcrumb navigation pattern was introduced on the object page. You can only use this if a parent-child drilldown exists on the object page.

The breadcrumb is part of the SAP Fiori header. For more information about breadcrumb navigation, see the Header section.

Content area

The object page content consists of sections and subsections.

Sections

Sections are containers for subsections. They cannot have controls as content. Sections also provide the basic structure for the navigation.

The sections can only include a title and subsections. The section title can be set to be uppercase (titleUppercase).

If a section contains only one subsection, the title of the subsection is used as the name of the section. In this case, there is no subsection submenu in the anchor bar.

If a section contains more than one subsection, a counter showing the number of subsections is shown next to the section’s title.

Subsections

Subsections are the containers for actual content. Individual controls are placed inside the subsections.

Subsection content is arranged according to the column layout approach of the respective screen size. A subsection can include containers for different controls. Subsections have a progressive disclosure mechanism to show content by means of tags.

When the page loads, only the content at block level is shown. Users can click a Show More button to access any content that is hidden with the blockMore tag (sap.uxap.ObjectPageSubSection, aggregation blockMore).

They can hide the information again by clicking the Show Less button.

Each subsection can have a toolbar, which is placed on the right of the layout at subsection header level. The toolbar contains actions that affect the content of the subsection.

Form

Forms follow the standard layout of the object page:

  • Large size: three columns
  • Medium size: two columns
  • Small size: one column

Forms should follow the column design of the object page, whereby each column has its own form (sap.ui.comp.smartform). Avoid using form groups; use layout columns and individual forms instead. These allow the object page to flow smoothly in response to priorities or screen size changes. The title of the form is given by the subsection header. Each individual group of forms within the subsection can use the form title. Avoid using the group form titles.

Labels

Considering the range of columns on the object page, top-aligned is the optimal way to represent labels in forms. Top-aligned labels are known to generally reduce completion times, are the best approach for forms that require localization or long labels, and avoid the spacing between form and label that occurs on left and right-aligned labels. The layout should be fluid and react to the change in screen size, aligning the form content perfectly within the object page column layout.

Blocks

Following the column layout of the object page, the layout blocks allow content to be aligned within the columns as follows:

  • Layout: auto occupies the maximum available horizontal space.
  • Layout:1 occupies only the horizontal space of one column.
  • Layout:2 occupies only the horizontal space of two columns. If there is only one column available, it occupies one column.
  • Layout:3 occupies only the horizontal space of three columns. If there is only one column available, it occupies one column. If there are only two columns available, it occupies two columns.

The content to be shown is defined in a tag. The hidden content that appears when the user clicks the Show More button is defined by the tag.

Object page – Blocks
Object page – Blocks

Contacts

The contacts on the object page are technically a list, but they can be represented visually as a card.

The cards can contain:

  • An image (optional)
  • A title (mandatory)
  • A subtitle (optional)
  • A text snippet consisting of max. 2 lines (optional)

A single card covers the column’s entire horizontal space.

All cards have the same height to avoid alignment problems. The card with the most content defines the overall height for all cards.

The image can be rectangular or round. It is placed in the top left-hand corner of the card. The content of the card never truncates. If there is not enough space to display the information, it wraps onto the next line.

Content type – Contacts
Content type – Contacts

Responsiveness

Content in the subsections is displayed in a line according to the column layout of the screen size. If there is not enough space for the content block to be displayed, it wraps onto the line below.

Object page – Content responsiveness
Object page – Content responsiveness

Behavior and Interaction

Edit

Besides display mode, a create mode and an edit mode have been defined for the object page. The object page layout remains the same in terms of the header, navigation, and content.

There is an important difference between using the toolbar in display mode and using it in edit/create mode: In create and edit mode, the actions are placed in a footer toolbar instead of the header toolbar as there is no toolbar in the header. Edit mode can display either forms or read-only information if it is not editable.

If the user needs to edit elements in the header, a header section is added in the content area for edit mode to enable editing.

The layout of information must be the same in display mode and in edit mode. Information should not change location between edit and create mode to avoid confusing the user.

Editing the header

The object page header can be edited in two ways:

  • Global edit
  • Partial edit

Global edit

The header can be edited when the entire object page is in edit mode.

There are no editable forms in the header itself, as it continuously snaps on scroll. A temporary ‘header’ section is added before the other sections of the page instead. The title bar information and all editable fields from the header container in display mode move from the header to the new ‘header’ section.
Non-editable information from the header container in display mode is also shown in the ‘header’ section as read-only.  It can be left out if keeping it in does not make sense (in cases of aggregation, like net values that are calculated from several sources, KPIs, micro charts, and so on).

If only a few fields in the header are editable and they match an existing section, they are moved to that section. No ‘header’ section appears.

Object page – Global edit
Object page – Global edit

The header container in edit mode may contain independent facets that are not included in the header content in display mode. They provide information to assist editing and are displayed in the header in edit mode.

When the entire object page is in edit mode but there is no editable information in the header, no ‘header’ section is added. Facets that assist editing can be displayed in the header container in edit mode.

Any changes made to the header are not reflected until the user saves them.

Object page – Global edit with independent facets
Object page – Global edit with independent facets

Partial edit

The user can edit the header separately by pressing the Edit Header button.

If there are only a few elements to edit, the partial edit triggers a dialog.

If many elements can be edited, a dialog would be too cluttered. So to allow more space, the partial edit triggers a subpage.
The subpage contains all editable information from the header. However, it differs from the ‘header’ section in global edit mode in that it has no action buttons in the toolbar, no navigation, and no breadcrumbs.

Object page – Partial edit with dialog
Object page – Partial edit with dialog

Unsaved changes

As part of the draft handling, when a document is not saved, a draft is made instead. This draft indicates that there are still changes that have not yet been saved. The unsaved changes may have been made by the user or by other users in cases of collaborative editing. An icon on the right of the object title in the object page header warns the user. The icon should not be shown if no draft infrastructure is available. The icon should only be shown if there are unsaved changes.

Clicking the icon presents an action sheet with more information about the unsaved changes. This normally states:

  • Who made the changes
  • When the last changes were made

Clicking the close icon on the action sheet or outside the action sheet closes it.

Unsaved changes action sheet
Unsaved changes action sheet

Create

Create mode is similar to edit mode but differs in that the user creates a new object and defines a title for it. Instead, you can also use a placeholder, such as “New Order” or “New Object”.

The user can use an object page or a wizard floorplan to create a new object.

Use the object page if:

  • You want to display your forms in a flat view.

Use the wizard if:

  • You need a progressive disclosure approach for the create process.
  • You need to guide the user from a series of steps.
  • The create task is unfamiliar to the user.
  • The creation mode is not linear, but it can have different paths depending on the information selected.

You should not use the wizard for editing flows, but only for creation purposes.

Guidelines

Header

The header should provide the user with context and relevant information. Therefore, you must ensure that it is clearly structured and has only essential information. Too much information impedes the main purpose of providing a clear context.

Actions

Arrange the actions in the header toolbar with care, and consider what is most important for the user:

  • Highlight actions that are common or most important.
  • Differentiate between secondary and generic actions.
  • You can have either a button or an icon for an action, but not both.
  • Place the most important actions on the left as the actions go into the overflow from right to left.
  • Establish a coherent visual approach:
Do
Object page floorplan – Do
Object page floorplan – Do
Don't
Object page floorplan – Do not
Object page floorplan – Do not

Icon Tab Bar

Use the icon tab bar if you need a facet approach to your content. This could be because of performance issues in a flat view or in response to specific use case user preference.

If you need to use icons, tabs as process steps, or tabs as filters, use the object view floorplan.

Content Dump

Avoid using the object page as a universal container for masses of information. You should use the object page in accordance with the SAP Fiori principles: role-based, coherent, simple, and responsive.

Simplify Content for Your Users

Give them the information they need – do not give them the task of finding what they need. Keep it clear so your users can find information quickly and easily.

Use a progressive disclosure strategy to keep your interface clean. Role-based: Provide your users with only the information they need to complete the task at hand. You can always provide additional information on request.

Coherent

Present your users with information that makes sense for their industry, role, activity, and task.

Responsiveness

Consider how your content would fit smaller screens and devices.

Consider the performance and data transfer cost of consuming your information on mobile devices.

If you need to use icons, tabs as process steps, or tabs as filters, use the object view floorplan.

If you need to, create an object when:

  • You need a progressive disclosure approach for the create process.
  • You need to guide the user from a series of steps.
  • When the create task is unfamiliar to the user.
  • When the creation mode is not linear, but it can have different paths depending on the information selected.

Wizard Floorplan

The object page floorplan can be used with the dynamic side panel floorplan under the following considerations:

When you choose a side panel, it occupies the whole right side of the screen. The side panel cannot extend below the header and anchor bar. Use the side panel only for contextual content. You cannot place finalizing or global actions in the side panel.

Do not place object information in the side panel. This information should always be in the content area of the object page.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation


  • No Links.

Block Layout

Information

This layout has been designed specifically for the tool landscape for SAP HANA Cloud Platform. It is not intended for use in regular SAP Fiori applications. 

Intro

The block layout is used to display content in a section-based manner. It features horizontal and vertical subdivisions and full-width banners seen frequently in contemporary Web design. Background colors are attached directly to these “areas” of the layout. Special full-width sections of the block layout allow horizontal scrolling through a set of areas.

General page structure of a tool using the block layout
General page structure of a tool using the block layout
Block layout standalone
Block layout standalone

Usage

Example use cases are – amongst others – landing pages and catalog-like pages. In landing pages, the block layout may serve as a banner-like presentation of illustrative icons with associated text. By placing pictorial and textual elements side by side in different areas, a relation of content is established. Catalog-like layouts, the block layout serves as a flexible container for diverging content, such as headings, explanatory texts, code snippets, remarks, and examples.

It is also possible to have clickable blocks with their own hover- and pressed- states.

The block layout comes in five types: layout only (default), light, mixed, and accent background colors, as well as a variant that serves well for dashboard-pages.

Schematic block layout
Schematic block layout
Schematic block layout with a section scrolling horizontally
Schematic block layout with a section scrolling horizontally

Use the block layout if:

  • You want to display section-based content. By placing elements next to each other, a relation of content between these can be established.
  • You want to display KPIs in the dashboard-variant. Do not use any of the other variants for KPIs.

Do not use the block layout if:

  • You want to display properties or features of one content item. In that case, use the object page instead. Also do not navigate inside the block layout or allow controls to update areas except their own block container.

Layout

The block layout is subdivided vertically into sections. These sections take on the full width of the available screen real estate and a height derived from the content placed inside them (thus avoiding vertical scrolling). Sections can be further subdivided horizontally into areas with predefined ratios.

Possible widths of areas (in device context XL, L and M) are:

  • 1 block: 100%
  • 2 blocks: 75% and 25% / 25% and 75%
  • 2 blocks: 50% and 50%
  • 3 blocks: 2 × 25% and 50% / 50% and 2 × 25% / 25% and 50% and 25%
  • 3 blocks: 3 × 33%
  • 4 blocks: 4 × 25%

Horizontal scrolling sections always have a width of 100%.

Responsiveness

The block layout offers a responsive behavior. There are three breakpoints, which results in four supported sizes: XL, L, M, and S. As with the responsive grid (another generic layout control), these breakpoints can be the break points of the page or of the block layout. In contrast to the page’s breakpoints, which react to the screen width, the breakpoints of the block layout react to the width of the control itself.

Ratios of areas in different device contexts:

Blocks per section XL, L, M S
1 100% 100%
2 75% and 25%
25% and 75%
100% each*
100% each*
2 50% and 50% 100% each*
3 2 × 25% and 50%
50% and 2 × 25%
25% and 50% and 25%
100% each*
100% each*
100% each*
3 3 × 33% 100% each*
4 4 × 25% 100% each*

*Blocks wrap and display underneath each other

Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of a section with horizontal scrolling
Responsive behavior of a section with horizontal scrolling

The width of the horizontal scrolling area in different device contexts:

XL, L M S
22.5% or 40% depending on the number of areas
3 to 5 areas: 40%
6 to 10 areas: 22.5%
40% 90%

Types

There are five types of block layouts:

  1. Default: This layout does not use any background colors.
  2. Light: In this type, areas have a set of predefined colors stemming from the SAP Fiori 2.0 visual design language. These colors are used successively in the layout. In case there are more than four areas, the background colors start over from the first color.
  3. Mixed: In this type, areas of 25% (on desktop) can have a dark background color. Per section one area can be dark. Two colors are derived from the dark base color of the SAP Fiori 2.0 visual design language and are used alternately.
  4. Accent: In this type, each row can contain two colors which are derived from one accent color, which are used alternately. Every section can contain multiple gray blocks, which are used alternately, beginning with the bright one.
  5. Dashboard: This layout type is for applications that make use charts in the blocks, for example. This layout type uses spacing around the blocks.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Block Layout

Information

This layout has been designed specifically for the tool landscape for SAP HANA Cloud Platform. It is not intended for use in regular SAP Fiori applications. 

Intro

The block layout is used to display texts in a section-based manner. It features horizontal and vertical subdivisions and full-width banners seen frequently in contemporary Web design. Background colors are attached directly to these “areas” of the layout. Special full-width sections of the block layout allow horizontal scrolling through a set of areas.

General page structure of a tool using the Block Layout
General page structure of a tool using the Block Layout
Block Layout standalone
Block Layout standalone

Usage

Example use cases are SAP HANA Cloud Integration and the SAPUI5 Demo Kit. In SAP HANA Cloud Integration, the block layout serves as a banner-like presentation of illustrative icons with associated text. By placing pictorial and textual elements side by side in different areas, a relation of content is established. In the SAPUI5 Demo Kit, the block layout serves as a flexible container for diverging content, such as headings, explanatory texts, code snippets, remarks, and examples.

The block layout comes in three types: Layout only (default), Bright, and Mixed background colors.

Schematic block layout
Schematic block layout
Schematic block layout with a section scrolling horizontally
Schematic block layout with a section scrolling horizontally

When to use

Use the block layout to display section-based text and information. By placing elements next to each other, a relation of content between these can be established.

When not to use

Do not use the block layout to display properties or features of one content item. In that case, use the Object Page instead. Use the tile for KPI-based representations, statuses, and representations of applications. Also do not navigate inside the block layout or allow controls to update areas except their own block container.

Layout

The block layout is subdivided vertically into sections. These sections take on the full width of the available screen real estate and a height derived from the content placed inside them (thus avoiding vertical scrolling). Sections can be further subdivided horizontally into areas with predefined ratios.

Possible widths of areas (in device context L) are:

  • 1 block: 100%
  • 2 blocks: 75% and 25% / 25% and 75%
  • 2 blocks: 50% and 50%
  • 3 blocks: 2 × 25% and 50% / 50% and 2 × 25% / 25% and 50% and 25%
  • 4 blocks: 4 × 25%

Horizontal scrolling sections always have a width of 100%.

Responsiveness & Adaptiveness

The block layout offers a responsive behavior. There are three break points which results in four supported sizes: XL, L, M and S. As with the Grid, another generic layout control, these break points can be either the break points of the Page or the ones of the block layout. In contrast to the page’s break points which react to the screen width, the break points of the block layout react to the width of the control itself.

Ratios of areas in different device contexts:

Blocks per section XL, L, M S
1 100% 100%
2 75% and 25%
25% and 75%
100% each*
100% each*
2 50% and 50% 100% each*
3 2 × 25% and 50%
50% and 2 × 25%
25% and 50% and 25%
100% each*
100% each*
100% each*
4 4 × 25% 100% each*

*Blocks wrap and display underneath each other

Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of sections and areas
Responsive behavior of a section with horizontal scrolling
Responsive behavior of a section with horizontal scrolling

Horizontal scrolling areas width in different device contexts:

XL, L M S
 22.5% or 40% depending on the number of areas
3 to 5 areas: 40%
6 to 10 areas: 22.5%
40% 90%

Types

There are three types of block layouts:

  1. Default: Layout only
  2. Bright: Layout with bright background colors (for the current set of controls)
  3. Mixed: Layout with bright and dark background colors (additionally for the dark controls introduced after Wave 12)

Note: To use the latter two types, set the background parameter to either “bright” or “mixed”.

Components

The block layout comprises sections containing areas. Each section can have one to four areas.

Three to ten areas can be placed inside a section for horizontal scrolling. Each of its areas takes on the same width.

The following UI elements can be placed in all areas:

  • Header and floating text (see description below)
  • Other text elements; including dedicated text display containers like object number, object status, etc.
  • Image
  • Link
  • Maps

These UI elements can be placed inside the areas of 40% width or wider (size L):

  • Table
  • Forms
  • Text input controls, e.g. input field, text area
  • Selection controls, e.g. select, combo box, date picker, radio button, check box, etc.
  • Rating indicator
  • Switch and slider

These UI elements can be placed inside the narrower areas only:

  • Micro charts
  • Icons
  • Text input controls, e.g. input field, text area
  • Selection controls, e.g. select, combo box, date picker, radio button, check box, etc.
  • Rating indicator
  • Switch and slider

Styles

Colors

First Type: Layout Only

The first type of layout does not use background colors.

Second Type: Bright Background Colors

In the second type, areas have a set of predefined colors stemming from the SAP Fiori visual design language. These colors are used successively in the layout. If there are more than four areas, the background colors start over from the first color.

Third Type: Mixed Background Colors

In this type, areas of 25% (size L) can have a dark background color. In each section, one area can be dark. Two colors are derived from the dark base color of the SAP Fiori 2.0 visual design language and are used alternately.

Default controls must always be placed on bright backgrounds, while inverted controls must be used for areas with background colors.

Information: Implementation of inverted controls is planned for Wave 12. Until these are available, usage of Type 1 and 2 is allowed. Type 3 will be rolled out when inverted controls are available.

Note: Of course, custom colors can also be used for the backgrounds of the block layout. For example, accent colors fulfill the standard contrast ratio and thus are accessible against white text. Nevertheless, use custom colors carefully and do not combine them with controls using semantic colors.

Spacing

Blocks inside the layout have an inner spacing of 2 rem on their sides and 1 rem at the top and bottom in device contexts XL, L, and M.

In device context S, the inner spacing is 1 rem.

This default spacing can be customized by means of the SAPUI5 CSS classes for spacing. For example, the class .sapUiSmallMargin adds 1 rem, while .sapUiMediumMargin adds 2 rem on the inside of areas when attached to controls.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Analytical List Page (SAP Fiori Element)

The analytical list page (ALP) is a new SAP Fiori element (formerly known as smart templates), and is also one of the main elements of SAP Fiori embedded analytics. You can use the analytical list page to create a landing page for performing detailed analytics in SAP Fiori apps quickly and easily. Applications may use this version of the ALP to create designs, to explore the capabilities of the ALP, to prepare queries, and configure and test KPIs.

Analytical list page - Size L
Analytical list page - Size L

Elements and Controls

Implementation