Triggers

Designer
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 (CALCULATE_BY_FORM)" process

YES

[Web-API], Requester

Form

Calculation process

no[1]

[Browser], [Contributor]

Trigger

Execution of form action

no[2]

Various

Script

forms!<FORM_LABEL>.calculate() Execution of method

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].


1. Executing the calculation process of a form alone does not trigger execution.
2. Triggers of the form registered as a trigger are not executed at the time of executing the calculation process of the form.
3. When executing the calculate() method in a script, the triggers of the target form are not executed.
4. Except in the event of server down or other failures.