Action Step Type: Transaction
The transaction step type instantiates a transaction on the Agentry Client. A transaction step also defines the screen set in which the transaction instance should be displayed, if any. A transaction step can also define a target for the transaction as well as a sub-action to execute after the transaction has been completed.
A transaction step can define a transaction to be instantiated but not displayed in a screen set. This is a common occurrence when the transaction is a Delete transaction type. Other transaction types may also be defined in this manner if it is not necessary to capture any data from the user for the transaction. To not display a transaction instance, the Screen Set attribute should be set to No Screen Set.
The target object and target property for the transaction may be set in the transaction step. By default, the target object is passed to the transaction step from the action. The transaction step can then change the target to a different object, provided it is a valid item within the context of the object passed in by the action. In many cases it is not necessary to change the target of the transaction within the transaction action step. This target is normally set when there are multiple transaction steps within the same action, and one or more of those transactions is defined for the object type for which the action is defined. In the situations where the target is specified, it is normally a child object to the object type for which the parent action is defined.
The option of defining a SubAction to execute when the transaction has been completed provides a means of executing a second action from the transaction step. This sub-action will be executed only when the transaction step completes the transaction processing; i.e., if the user clicks cancel in the wizard screen set displaying the transaction the defined SubAction will not be executed. The action executed as a SubAction to the transaction step is executed as the last task of the transaction step. This results in the condition that the sub-action is executed before any apply step within the parent action. The transaction will, therefore, not yet be applied to the object it targets. This will impact the current data values that will be accessible within that target object and may, therefore, impact how the sub-action itself is defined, as well as how any other definitions it references will be defined, specifically as to which data values the sub-action will have access.
Transaction Step Attributes
- Step Name: This attribute contains the unique internal name for the step definition. This attribute must be unique among all step definitions within the same parent action.
- Transaction: This attribute references the transaction to be instantiated by the transaction step. The transaction selected here must exist prior to defining the transaction step.
- Screen Set: This attribute references the screen set in which the transaction will be displayed. Only screen sets defined to display transactions may be selected for this attribute. The screen set must exist prior to defining the transaction step.
- Target Object: This attribute can be set to change the target of the transaction from the object instance passed in by the action, to a different object instance. This attribute is optional and, if left set to its default, the target of the transaction will be the object instance passed to the transaction step by the action. The selection of a Target Object should be to an object instance that is easily related to the action’s object instance wherever possible.
- Target Property: This attribute is obsolete in current versions of the Agentry Mobile Platform. It exists as a result of behaviors exhibited in early versions of the platform and in current implementations is no longer necessary. It is still provided for backwards compatibility and may be deprecated in a future release.
- SubAction: This attribute can specify an action to be executed as a sub-action to the parent action of the transaction step. The transaction selected for this attribute will only be executed when the transaction instantiated by the transaction step is completed successfully. Note that this sub-action is executed prior to the transaction being applied.