Complex Objects – Local Flow (Create, Edit)

Foundations / Best Practices / Global Patterns / Object Handling / Complex Objects – Local Flow (Create, Edit)

Intro

This article describes the local flow for creating and editing items using standard message handling and draft handling.

If you need the flow for deleting items, see Delete Objects.

information
  • If you are not using standard draft handling, show a data loss message whenever the user leaves a changed subpage without saving the data. Also display the data loss message if the user changes data on the main page without saving.
  • If you implement your own draft behavior, use the keep draft dialog.
  • If the items contain only a few fields, you can also use a dialog instead of a subpage. We recommend using the same pattern for creating and editing items.

Note that, for technical reasons, an application implemented with JavaScript UI5, cannot display an SAP Fiori message box. Instead, only a native browser popup can be displayed. Typically, this applies to:

  • Navigation away from a page with unsaved data using browser controls, for example, when the user clicks the browser back button to leave an object page in an application without draft handling
  • Closing a browser page or tab with unsaved data
  • Refreshing a browser page with the browser controls

However, the message box can be displayed for the following actions, as described in the SAP Fiori guidelines:

  • Navigation between applications
  • Navigation away from pages in full or partial edit mode

Global vs. Local Flow

Complex objects manage items on subpages. In the local flow, each subpage needs to be saved separately. This differs from the global flow, where only the main page needs to be saved. For more information on when to use each flow, see the flow descriptions with examples.

The table below summarizes the main differences between the global and local flows on the UI.

<div> <div></div> <div> <h4 id="global-flow">Global Flow</h4> </div> <div> <h4 id="local-flow">Local Flow</h4> </div> </div> <div> <div><strong>Main object</strong></div> <div>Main object must be in edit mode.</div> <div>Main object can be in display or in edit mode.</div> </div> <div> <div><strong>Actions in the footer toolbar of the subpage</strong></div> <div>Create item: <em>Add</em> and <em>Cancel</em> Edit item: <em>Apply</em> and <em>Cancel</em></div> <div>Create item: <em>Create</em> and <em>Cancel</em> Edit item: <em>Save</em> and <em>Cancel</em></div> </div> <div> <div><strong>Message toasts</strong></div> <div>No message toasts are displayed after choosing <em>Add</em> and <em>Apply.</em> Instead, an indicator appears in the items table.</div> <div>Message toasts are displayed after choosing <em>Create</em> and <em>Save.</em></div> </div>

Create Items

The steps below describe the local flow for creating items on a subpage with the main page in display mode. The flow is the same when the main page is in edit mode.

Full Screen Layout

Complex objects - Create items using the local flow

Complex objects - Create items using the local flow

  1. On the main object page, the user chooses Create in the toolbar for the items table.An empty subpage appears with the title New <item> (for example, New Sales Order Item). The footer toolbar contains the finalizing Create action and Cancel.

  2. After entering all the data, the user chooses Create.The standard flow navigates back to the main object page and shows a message toast.
    Depending on your use case, you have the following alternatives:

    • You can show the subpage in display mode.
    • You can keep the subpage in edit mode.
    • If the user needs to create several items in succession, you can offer the action Create and Next in the footer toolbar of the subpage. This opens a new, empty subpage.
  3. Choosing Cancel opens a confirmation popover, and the user can opt to discard the draft. In this case, the system navigates back to the main object page.

guideline
If you offer Create and Next on the subpage, use the following order: Create and Next, Create, Cancel. Only emphasize Create and Next.
hint
If you offer an Create and Next option, add a comment for translators to indicate what “Next” refers to in your app.

Flexible Column Layout

In the flexible column layout, the standard flow is as follows:

Edit Items

The steps below describe the local flow for editing items on a subpage with the main page in display mode. The flow is the same when the main page is in edit mode.

Full Screen Layout

Complex objects - Edit items using the local flow

Complex objects - Edit items using the local flow

  1. From the main object page, the user navigates to the details of an item.The subpage features a header toolbar with an Edit button. The title of the subpage reflects the current item, for example Sales Order Item (10).
    If users need to open the item directly in edit mode, you can offer Edit in the table toolbar or as an inline action.

  2. On the subpage, the user chooses Edit. The subpage changes to edit mode, and the footer toolbar offers the finalizing Save action and Cancel. The title does not change.

  3. After updating all the data, the user chooses Save.The standard flow shows the updated item in display mode with a message toast.
    Depending on your use case, you have the following alternatives:

    • You can keep the subpage in edit mode.
    • If the user needs to edit several items in succession, you can offer the action Save and Next in the footer toolbar of the subpage. This opens the subpage for the next item in edit mode.
    • You can show up and down arrows for navigating to the previous or next item in edit mode.
  4. Choosing Cancel opens a confirmation popover and the user can opt to discard the draft. In this case, the system displays the item subpage.

guideline
  • If you offer Save and Next, use the following order: Save and Next, Save, Cancel. Only emphasize Save and Next.
  • Use either Save and Next or the up and down arrows, never both.
  • Choose Save and Next if users need to change one item after the other. Offer the up and down arrows if the user just needs to change a few items and needs to page through the items quickly to reach those that are relevant.
hint
If you offer a Save and Next option, add a comment for translators to indicate what “Next” refers to in your app.

Flexible Column Layout

In the flexible column layout, the standard flow is as follows:

Elements and Controls

Implementation

Visual Design

  • Form (visual design specification)

Elements and Controls

Implementation