What are Actions?
Actions trigger either an interaction with the back end (calling the OData service) or they initiate an external navigation to another app. You can see actions displayed as buttons on the apps.
Placement of Actions in Apps
The SAP Fiori design guidelines define where the actions can be placed as buttons on the UI. According to the guidelines, actions must be placed close to the information they act upon. An example can be placing the actions on the toolbar of the table or chart in the list report. Another example would be placing the global actions in the header area of the object page.
For more information about actions, see Actions.
For more information about the action placement, see Action Placement.
Generic Actions
SAP Fiori elements provides generic actions, such as:
- Trigger external navigation to related apps.
- Create a new item.
- Delete a single item or multiple items.
- Edit an existing item.
In the list report, the Create and Delete actions are placed in the table toolbar.

On the object page, the Edit and Delete actions are global actions placed in the header area.

The Delete button is an action on the table and is enabled only if the user selects an item.
Visibility of the Delete and Create Buttons
You can control the visibility of the Delete button by using the @UI.DeleteHidden
annotation. Its value can be a Boolean value (true
or false
), or a path that points to a Boolean property of an entity. If the value of the property is true
, then the Delete button is hidden; if it's false
, it's visible.
Similarly, you can control the visibility of the Create button using the @UI.CreateHidden
annotation. Its value can be a Boolean value (true
or false
), or a path that points to a Boolean property of an entity. If the value of the property is true
, then the Create button is hidden; if it's false
, it's visible.
Disable the Delete Button
Instead of hiding the Delete button, you can choose to disable it in the app by using the @Capabilities.DeleteRestrictions
annotation. You can set its Deletable
property to true
or false
. If the value of this property is true
, the Delete button is enabled for all items; if it's false
, it's disabled for all items.
annotate TravelService.Travel with @(
Capabilities.DeleteRestrictions : {
$Type : 'Capabilities.DeleteRestrictionsType',
Deletable: false
}
);
You can also disable the delete action for specific items by assigning a path to the Deletable
property that points to a particular Boolean property of the entity.
annotate TravelService.Travel with @(
Capabilities.DeleteRestrictions : {
$Type : 'Capabilities.DeleteRestrictionsType',
Deletable: TravelStatus.insertDeleteRestriction
}
);
The items in the Manage Travels app have various statuses such as Open, Accepted, and Canceled.
You can see that for the status Open the value for insertDeleteRestriction
is true
, and for the statuses Accepted and Canceled the value is false
. This means that for travels with the status Accepted and Canceled, the Delete action is disabled.
You can see the values for the insertDeleteRestriction
in the sap.fe.cap.travel-TravelStatus.csv
.
code;name;criticality;fieldControl;createDeleteHidden;insertDeleteRestriction
O;Open;2;7;0;1
A;Accepted;3;1;1;0
X;Canceled;0;7;1;0
For more information about enabling or disabling of the Create button, see Adding Actions to Tables.