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.