Object Page
An object page is an SAP Fiori elements floorplan that displays, edits and creates a single business object, built from a header with key facts, a navigation bar and content sections that the framework generates from OData annotations such as UI.HeaderInfo and UI.Facets. An object page is usually reached from a list report and supports draft handling.
Quick facts
- Type
- SAP Fiori elements floorplan (page template)
- Layer
- UI applications
- Driven by
- UI.HeaderInfo, UI.HeaderFacets, UI.Facets, field groups and line items
- Configured in
- UI annotations (CDS or XML) plus page settings in manifest.json
- Typical pairing
- List report (the LROP pattern); subobject pages for items
- Who works with it
- SAP Fiori developers, ABAP and CAP developers, UX designers
- 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 an object page?
An object page fits whenever the task centers on one business object: changing a sales order and its items, creating a purchase order as a draft, releasing a blocked invoice, or comparing a draft with the saved version. The floorplan scales from a few fields to complex objects with many sections and related tables.
Two decision criteria help:
- If users need context first, such as the object's status, key figures and related items, the standard object page fits.
- If users only enter data and need no header or section navigation, the form entry object page, a variation that hides both, is leaner.
Example: an Alder Manufacturing buyer opens a purchase order for Bright Freight, checks the header facts, then edits two items. An object page fits when the question is "what about this one object?"
What are the parts of an object page?
An object page is built from five areas, top to bottom:
- Header title: the object's title and subtitle, an optional image, the editing status when a draft exists, and a toolbar with actions such as Edit, Delete, Related Apps and Share.
- Header facets: key facts as label-value pairs or small visuals such as a micro chart or rating. SAP recommends at most five label-value pairs.
- Navigation bar: anchors that jump to each section on one scrolling page, or tabs that show one section at a time.
- Content area: sections and subsections holding forms, tables of related items, charts or reuse components.
- Footer toolbar: in edit mode, Save or Create, determining actions and the message button.
Choosing a row in an item table opens a subobject page for the child entity, with paging buttons to move between items. Each area of an object page answers one question: what is this, what matters, where is it, how do I finish.
Which annotations drive an object page?
| Annotation | What it drives |
|---|---|
| UI.HeaderInfo | Title, description, image and the object type name |
| UI.HeaderFacets | Header facets, as reference facets to data points, field groups or charts |
| UI.Facets | Sections and subsections: collection facets group, reference facets point to content |
| UI.FieldGroup, UI.Identification | Forms inside sections |
| UI.LineItem of the item entity | Tables of related items |
| UI.Hidden on a facet | Showing or hiding a section dynamically |
In ABAP CDS all of these facets are written as @UI.facet entries with a type, such as a field group reference or a collection, and a purpose that separates header facets from standard sections. Only two levels of collection facets are rendered. The choice between anchors and tabs is a manifest.json setting, sectionLayout, with Page as the default in OData V4. The object page's structure is therefore defined almost entirely in UI.Facets.
How do drafts and editing work on an object page?
With a draft-enabled service, the object page creates a draft as soon as a user starts editing or creating. The draft is saved in the background while the user works, which gives four behaviors:
- unsaved work survives an interruption or a crash, and the user can resume later;
- the draft acts as a lock, so other users see that the object is being edited;
- validations and field control run during editing, not only at the end;
- Save turns the draft into the active version.
SAP Fiori elements for OData V4 distinguishes exclusive drafts, owned by one user, from collaborative drafts that several users can edit together; SAP documents collaborative drafts only for RAP-based services. RAP and CAP both provide draft handling on the service side. Without draft, nothing reaches the back end until the user saves, and SAP advises non-draft apps only for simple flows. Draft support is the service decision that most shapes how editing feels on an object page.
Can you extend an object page?
Yes. The options depend on who owns the app:
- Your own app: extension points add custom sections and subsections, header facets, form elements, actions and table columns; reuse components can be placed in sections; with OData V4, building blocks and custom pages from the flexible programming model cover larger gaps.
- An SAP-delivered app: adaptation projects (SAP Fiori tools) or key user adaptation, without modifying SAP's code.
In SAP S/4HANA Cloud Public Edition, the available paths follow SAP's extensibility models there; check the extensibility documentation for your release.
Custom sections carry a performance cost. OData V4 offers request groups and lazy loading for object pages; in OData V2, lazy loading must be switched on for each custom section. A practical test: if most sections are custom, a custom page or freestyle SAPUI5 may be more honest than a heavily extended object page.
What are common object page design mistakes?
- Too many sections on one scrolling page. Group sections or switch to tabs, which SAP recommends for grid tables.
- Overloaded headers. More than a handful of header facts turns the header into a second form.
- Deep facet nesting. Collection facets below the second level are ignored, and a collection facet wrapping a single reference facet can render badly; use the reference facet directly.
- Commas in section titles. SAP Fiori elements uses commas as delimiters when grouping messages, so avoid them in section and subsection titles.
- Editing without draft. Users lose resume and lock information.
When a section is missing, check in order: the UI.Facets annotation in the service metadata, the facet's level, its target qualifier, any UI.Hidden condition, and a local annotation file that may replace the back-end UI.Facets. Most object page defects are facet-structure problems, not rendering bugs.
Object page vs. fact sheet: what is the difference?
| Fact sheet | Object page | |
|---|---|---|
| What it is | Original SAP Fiori app type showing contextual information about a business object | SAP Fiori elements floorplan for displaying, editing and creating one object |
| Technology | SAP Business Suite: search models in the ABAP back end on SAP HANA; in SAP S/4HANA, often SAP Fiori elements apps | SAPUI5 pages generated from an OData service, annotations and the app descriptor |
| Typical entry | Search results in the launchpad, other fact sheets, transactional or analytical apps | A list report or another app, through intent-based navigation |
| Editing | Display-oriented; changes happen in linked transactional apps or transactions | Edit and create in place, with draft support |
| In SAP S/4HANA | Largely superseded; individual fact sheets were deprecated or replaced | Standard floorplan for SAP S/4HANA and SAP BTP apps |
The SAP Fiori Apps Reference Library groups both under one application type, but an object page is a framework floorplan while a fact sheet was a separate legacy technology.
FAQ
Is an object page the same as a fact sheet?
No. Fact sheets were one of the three original SAP Fiori app types, built on search models and focused on displaying contextual information. An object page is an SAP Fiori elements floorplan that also edits and creates objects. In SAP S/4HANA, object pages largely took over the fact sheet role.
Can an object page create a new business object?
Yes. A Create action on the list report typically opens an empty object page in create mode, and dialog-based creation is an alternative for simple objects. A form entry object page can start the app directly in creation mode, without a list report.
Can an object page show tabs instead of one long page?
Yes. In SAP Fiori elements for OData V4, the manifest setting sectionLayout switches from Page, where all sections scroll on one page, to Tabs, where each top-level section has its own tab. For OData V2 apps, check the V2 documentation for the corresponding setting.
What is a subobject page in SAP Fiori elements?
A subobject page is an object page for a child entity, such as a purchase order item, opened by choosing a row in a table on the parent object page. It uses the same floorplan and annotations and offers paging buttons to move between the items of the list.
Does an object page need a draft-enabled service?
No, but most editable SAP Fiori elements apps use one. Without draft, an object page sends changes only on save and cannot show that another user is editing the object. With draft, work is saved in the background and can be resumed later.
Sources
- SAPUI5 SDK: Object Page (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Defining and Configuring Sections (OData V4)
- SAP Help Portal: Fact sheets based on search models (SAP Fiori for SAP Business Suite)
- SAPUI5 SDK: Draft Handling (OData V4)
- SAP Help Portal: SAP Fiori application types (transactional apps, analytical apps, fact sheets)
- Applies to
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Last reviewed