Flexible Column Layout
The flexible column layout is an SAP Fiori page layout that shows up to three levels of related information side by side, typically a list, an object and a sub-object, in columns whose widths adapt to the screen. The flexible column layout is implemented by the SAPUI5 control sap.f.FlexibleColumnLayout and can be switched on in SAP Fiori elements apps.
Quick facts
- Type
- Page layout (list-detail-detail pattern)
- Layer
- UI applications
- Control
- sap.f.FlexibleColumnLayout, with sap.f.routing.Router
- Columns
- Begin, Mid and End; up to three on desktop, two on tablet, one on phone
- In SAP Fiori elements
- Optional setting for list report and object page apps (OData V2 and V4)
- Applies to
- SAP S/4HANA (all deployment options), SAP BTP
Layer: UI applicationsWhere it sits ▾
Layer: UI applications
Open the architecture map →When should you use the flexible column layout?
The flexible column layout fits when users move through a hierarchy and must keep the level above in view: a list of purchase requisitions, one requisition, then one of its items. Users pick from the list on the left and read the detail beside it.
Decision criteria:
- Users switch often between items of the same list, on wide screens: the flexible column layout saves navigation.
- Users spend a long time on one complex object with wide tables: full-screen pages give the object room.
- Most users work on phones: only one column fits there, so the benefit is small.
Example: a buyer at Alder Manufacturing keeps the list of open requisitions in the first column, checks the Cedar Office Supply requisition in the second, and opens one item in the third, all without losing the list. The flexible column layout is the right choice when context across levels matters more than width for any single page.
How does the flexible column layout work?
The layout has three columns, called Begin, Mid and End, which hold the list, the detail and the sub-detail. A layout value decides which columns are visible and how wide each one is. SAP's recommended flow, which the semantic helper class encodes, runs like this:
- The app starts with one column, usually the list.
- Choosing an item opens its detail in the Mid column, with Full Screen and Close buttons.
- Choosing an item in the detail opens the third level in the End column.
- A fourth or deeper level replaces the End column in full screen.
Users can drag the column separators to resize columns or switch layouts, and the control remembers their widths. The control also adapts to the device on its own: three columns on a desktop, at most two on a tablet, where the first column is reached by dragging, and one on a phone. The flexible column layout is therefore a responsive container for navigation levels, not a floorplan with content of its own.
How do you enable the flexible column layout in SAP Fiori elements?
SAP Fiori tools offers a page map switch; the underlying settings differ by OData version:
| Aspect | OData V4 | OData V2 |
|---|---|---|
| Where | Root view sap.fe.core.rootView.Fcl and router class sap.f.routing.Router in manifest.json | flexibleColumnLayout object in the sap.ui.generic.app settings |
| Default layouts | defaultTwoColumnLayoutType, defaultThreeColumnLayoutType | Same two properties |
| Column per page | Each route target names beginColumnPages, midColumnPages or endColumnPages | Follows the page hierarchy; a page-level default layout can shift it |
The list report sits in the first column and object pages fill the following ones. In OData V2, a page can override the default with its own layout, for example moving the main object page into the first column and its items beside it. The setting belongs to the app, so it behaves the same in SAP S/4HANA and on SAP BTP. SAP Fiori elements saves column widths per app and device type. Two limits apply: the analytical list page supports only the two-column layout with the first column expanded, and the overview page does not use the flexible column layout. Enabling the flexible column layout changes navigation, not annotations.
What are common flexible column layout mistakes?
- Wide tables in narrow columns. A table designed for full width becomes unreadable in the Mid column; reduce columns or use pop-in layouts.
- Promising three columns everywhere. Tablets show two and phones one, so designs must work at every width.
- Surprise action placement. In non-draft apps with create, update and delete, only the last column shows Edit and Delete.
- Unrelated objects side by side. The layout expresses a parent-child hierarchy; two unrelated apps do not belong in it.
When an SAP Fiori elements app ignores the setting and still opens full screen, check in order: the root view and router class (OData V4), the sap.f library dependency, the controlAggregation of each target, and any page-level default layout. Most flexible column layout problems are routing configuration problems, not rendering bugs.
Flexible column layout vs. full-screen list report and object page vs. split screen: what is the difference?
| Flexible column layout | Full-screen list report and object page | Split screen (sap.m.SplitContainer) | |
|---|---|---|---|
| Levels visible at once | Up to three | One page at a time | Two: master and detail |
| Column widths | Variable, user-resizable | Not applicable | Master and detail areas |
| Typical use | Browsing items while keeping the list in view | Focused work on one complex object | Two-level master-detail apps |
| In SAP Fiori elements | Optional layout setting | Default navigation | Built as freestyle SAPUI5, for example from the master-detail template |
The flexible column layout extends the two-pane master-detail idea to three resizable columns, while full-screen navigation gives each page the whole screen.
FAQ
What does FCL mean in SAP Fiori?
FCL stands for flexible column layout, the SAP Fiori layout that shows a list, a detail and a sub-detail side by side in up to three columns. It is implemented by the SAPUI5 control sap.f.FlexibleColumnLayout and available as an option in SAP Fiori elements.
How many columns can the flexible column layout show?
Up to three: Begin, Mid and End. The flexible column layout adapts to the device on its own, showing three columns on a desktop, at most two on a tablet and only one on a phone. Deeper levels open in the End column in full screen.
Can I use the flexible column layout with an analytical list page or overview page?
Partly. An analytical list page supports the flexible column layout only with the two-column layout in which the first column is expanded. For the overview page, SAP states that the flexible column layout is not relevant, so overview pages keep their own card layout.
Can freestyle SAPUI5 apps use the flexible column layout?
Yes. Freestyle apps place the sap.f.FlexibleColumnLayout control in the root view, use the sap.f.routing.Router for navigation and ask the FlexibleColumnLayoutSemanticHelper class which layout and buttons to show after each user action.
Sources
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Enabling the Flexible Column Layout (SAP Fiori elements for OData V2)
- SAPUI5 SDK: Flexible Column Layout (control documentation)
- SAPUI5 SDK: Flexible Column Layout Semantic Helper
- SAPUI5 API Reference: sap.f.FlexibleColumnLayout
- Applies to
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Last reviewed