
Determine actions allow the business object consumer to call determinations and validations on request. In managed scenarios, actions do not have an action implementation. Instead, you assign determinations and validations to a determine action. Whenever a determine action is called, the determinations and validations assigned to it are evaluated and then only those determinations and validations are executed whose trigger conditions are fulfilled.
Determine actions are primarily meant to be called by side effects (see later in this lesson) to give the user immediate feedback after changing UI fields or field groups in draft-enabled applications. But it is also possible to execute them directly like any other action, for example, through a MODIFY ENTITIES … EXECUTE call or by assigning them to a button on the SAP Fiori UI.
The following important restrictions apply:
- You cannot add on modify determinations to determine actions.
- For determine actions, feature and authorization control is not enabled.
- You cannot execute determine actions inside implementations of determinations and validations.
- In unmanaged scenarios, determine actions must be implemented manually for active instances.

Determine actions are defined in the behavior definition with the determine action statement, followed by the name of the determine action.
You assign determinations and validations by listing them inside a pair of curly brackets after the determine action name. Each determination and validation is followed by a semicolon.
Usually, the determinations and validations are only executed if their respective trigger conditions are met. However, ff a determination or validation is defined with the always flag, this determination or validation is executed regardless of its trigger conditions. After a determination with the always flag has been executed, it can be triggered again by other determinations belonging to the same determine action.
Caution
After calling a determine action, the order in which the validations and determinations are executed, is independent of the specified order in the determine action definition. Assigned determinations are always executed before assigned validations. The execution order among the determinations and validations themselves is defined by the framework.

Like other actions, determine actions must be reused for consumption in every projection behavior definition and interface behavior definition. The syntax is use determine action <name>;




