Triggers
This manual is in pilot operation.
|
Triggers are one of the components of the full-featured form, used on the server to automatically execute pre-associated calculations every time the calculations of the trigger-originating form are executed. The calculations can be defined as a separate form or script.
Triggers can be set from the form design screen [Manager] of the (full-featured form).
Trigger Specifications
-
More than one trigger can be set for a single form.
-
One action (script or form) is set for each trigger.
-
The parameters, participant unit, ledger edition, etc., used when executing each action are taken from the originating form. For parameters, the member specified by the default setting value of the originating form is passed along with the parameter values of the originating form (the former takes precedence). If the information of the originating form does not meet the requirements of the action (e.g., lack of parameters), an error occurs at the time of execution.
-
Triggers are executed in the order defined, after the calculation process of the originating form, at the point where the form’s calculation process is executed. The points at which the calculation process is executed and whether or not triggers are executed will be described later.
-
Even if triggers are set for forms and scripts executed by triggers, they will not be executed.
-
Triggers are executed regardless of whether the originating form includes calculation processes.
-
When deleting the body of an action (form or script) itself, there is no check for usage in triggers. Executing the relevant trigger after deletion will result in an error.
-
If an error occurs, subsequent triggers will not be executed.
-
Each calculation process of the originating form and all calculations via each trigger are executed within their unique database transactions. Even if an error occurs, the parts that have successfully completed up to that point are reflected in the database.
-
If the execution time of each calculation process exceeds the execution timeout time (default:
600
seconds), an error occurs.
Points of Form Calculation Execution and Trigger Execution
Below are all the points where the form’s calculation process is executed and whether triggers are executed at each point.
Function | Execution Point | Trigger Execution? (YES/no) | Client Program |
---|---|---|---|
Form |
Data saving from form |
YES |
[Browser], [Contributor] (Inquiry/Report screen) |
Process Management |
Reception of submission packages |
YES |
[Contributor] |
Process Management |
Reflect of submission packages |
YES |
[Contributor] |
Process Management |
Publishing data to shared workspace edition |
YES |
[Manager] |
Process Management |
Intake of data from shared workspace edition |
YES |
[Manager] |
Process Management |
Refreshing process definitions |
YES |
[Manager] |
Process Management |
Saving of package input data |
YES |
[Contributor] (Workspace screen), [Excel-Link] (For package input only) |
[Web-API], Requester |
Execution of "Calculation by form ( |
YES |
[Web-API], Requester |
Form |
Calculation process |
no[1] |
[Browser], [Contributor] |
Trigger |
Execution of form action |
no[2] |
Various |
Script |
|
no[3] |
[Manager], Trigger |
Trigger Execution Results
If an error occurs in a trigger, an error message will be displayed on the client side. If no error message is output, it means the trigger has completed its execution successfully.
Even if no data is ultimately updated by the action, the execution result of that trigger is considered successful.
Notes on Trigger Execution
If the calculation processes of the originating form or each trigger exceed the execution timeout time (default: 600
seconds), or if a network connection problem occurs due to exceeding the timeout limit of a proxy or other reasons, or due to other problems, an error may occur on the client program side, but the server-side process will continue to run[4].
The server-side execution status can be checked by [Manager] [5].
calculate()
method in a script, the triggers of the target form are not executed.