Show TOC

Determining ActionsLocate this document in the navigation structure

You can add a determining action button to the footer of the list report view or to the footer of the object page.

Determining actions are used to trigger actions directly using the context of the table in the list report, or the context of the page in the object page.

Currently, two types of determining actions are supported:

  • Actions that trigger a back-end call through the OData service (Function, FunctionImport, Action or ActionImport), represented by the complex type DataFieldForAction

  • Actions that trigger intent-based navigation, represented by the complex type DataFieldForIntentBasedNavigation
To add a determining action to the footer of the list report or object page, use the annotation term UI.LineItem and set the Determining property to true for the complex type. This is displayed as shown below:
Figure 1: List Report: Determining Action in Footer
Figure 2: Object Page: Determining Action in Footer
Code Samples

List Report

The following code sample shows an example of how to create your annotations for the determining actions in the list report:

<Annotation Term="UI.LineItem">

   <Collection>

      <Record Type="UI.DataFieldForAction">

         <PropertyValue Property="Label" String="Copy with new Supplier"/>

         <PropertyValue Property="Action"

             String="STTA_PROD_MAN.STTA_PROD_MAN_Entities/

            STTA_C_MP_ProductCopywithparams"/>

         <Annotation Term="UI. InvocationGrouping"

            EnumMember="UI.OperationGroupingType/Isolated"/>

      </Record>

      <Record Type="UI.DataFieldForAction">

         <PropertyValue Property="Label" String="Copy"/>

         <PropertyValue Property="Action"

            String="STTA_PROD_MAN.STTA_PROD_MAN_Entities/STTA_C_MP_ProductCopy"/>

         <PropertyValue Property="Determining" Bool="true"/>

         <Annotation Term="UI. InvocationGrouping"

            EnumMember="UI.OperationGroupingType/Isolated"/>

      </Record>

      <Record Type="UI.DataFieldForIntentBasedNavigation">

         <PropertyValue Property="Label" String="Manage Products (ST)"/>

         <PropertyValue Property="SemanticObject" String="EPMProduct"/>

         <PropertyValue Property="Action" String="manage_st"/>

         <PropertyValue Property="Determining" Bool="true"/>

      </Record>

   </Collection>

</Annotation>

It is important to note that the UI.LineItem vocabulary term is used to define the columns for the smart table.

In the example above for the first record type, the DataFieldForAction complex type does not contain the Determining property. Therefore, the action button will appear in the smart table toolbar.

With the last two record types, the DataFieldForAction and DataFieldForIntentBasedNavigation complex types are used and contain the Determining property, which is set to true. Therefore, the action buttons will appear in the footer.

Object Page

The following code sample shows an example of how to create your annotations for the determining actions in the object page:
<Annotation Term="UI.Identification">

    <Collection>

       <Record Type="UI.DataFieldForAction">

          <PropertyValue Property="Label" String="CWP"/>

          <PropertyValue Property="Action"

             String="STTA_PROD_MAN.STTA_PROD_MAN_Entities/

             STTA_C_MP_ProductCopywithparams"/>

          <Annotation Term="UI.OperationGrouping"

             EnumMember="UI.OperationGroupingType/Isolated"/>

          <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>

       </Record>

       <Record Type="UI.DataFieldForAction">

          <PropertyValue Property="Label" String="Copy"/>

          <PropertyValue Property="Action"

             String="STTA_PROD_MAN.STTA_PROD_MAN_Entities/STTA_C_MP_ProductCopy"/>

          <PropertyValue Property="Determining" Bool="true"/>

          <Annotation Term="UI.OperationGrouping"

             EnumMember="UI.OperationGroupingType/Isolated"/>

          <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>

       </Record>

    </Collection>

 </Annotation>

It is important to note that the UI.Identification vocabulary term is used to define the actions on the object page.

In the example above for the first record type, the DataFieldForAction complex type does not contain the Determining property. Therefore, the action button will appear in the object page header.

With the last record type, the DataFieldForAction complex type is used and contains the Determining property, which is set to true. Therefore, the action button will appear in the footer. Note that if the Determining property is either not present or is set to false, the action will not appear in the footer.