This field, whose values are defined by the 2923 local menu, defines the Workflow triggering conditions. The following values can be used :
- Workflow start : the action is triggered at the beginning of the message text construction. In case of a Line type Workflow, the action is only carried out once by header, before the header text is constructed. Those variables returned by the action can be used in the mail text (but rather to specify the recipients or sending conditions, which are already evaluated at this stage).
- Workflow end : the action is triggered after the message has been sent. In case of a Iine type Workflow, this action is only carried out once by groups of lines.
- Before Line : the action is triggered before the first line is read, in case of a header and line type Workflow. For instance, this is used to initialize totals variables to obtain the total of lines, the total being performed in a Line action.
- Line : the action is triggered just before each line of the message is constructed, in the case of a line-type Workflow. Consequently those variables returned by the action can be used in the line text.
- Signature : the action is triggered after entering the signature (so the [L]RESULT variable coming from this entry is known), but before the update (this value can be modified during the action). In the case of a signature, all the updates are carried out during a single transaction. In this way, if a Rollback is performed within one of the actions triggered by the event, the situation as it was at the beginning is restored for all performed updates.
Generally speaking, from a transaction viewpoint, it should be noted that the action belongs to the message Workflow transaction (if a Rollback is carried out during message construction, the updates completed within the action are impacted). An independent transaction is performed for the approval request (but since this transaction is carried out afterwards, the values returned by the action can be used).
In the specific case of the object Workflow, everything is performed within a single transaction. In other words, if the creation or modification of a record fails, a Rollback is performed on all the updates triggered by the actions.
It is the same for the approval request : the transaction that follows the entry of the approval request includes the action triggering.