Show TOC

 Control of the Rule Execution Process

 

The sequence in which the rules are executed generally corresponds with the data dependency principle (see When Is a Rule Executed?).

In addition you can directly influence the sequence in which the rules are executed as follows:

  • You formulate rule dependencies with the keyword DEPENDS in the rule definition.

    Syntax Syntax

    1. RULE R1 DEPENDS R2, R3
           IF ...
           THEN ...
      END
    End of the code.

    In this case, rule R1 is set depending specifically on rules R2 and R3. This means that the EH&S Expert first tries to apply R2 and R3 before checking the data dependency in R1 and executing R1.

    Note Note

    If you create the set of rules using the rule editor, in rule R1, you can enter rules R2 and R3 under Depends on rules. The rule editor then automatically generates a rule file with the correct syntax (see Editing Rules).

    End of the note.
  • The keyword DEPENDS NOT allows you to suppress rule dependencies and therefore break circular dependencies.

    Syntax Syntax

    1. RULE R1 DEPENDS NOT R2, R3
           IF ...
           THEN ...
      END
    End of the code.
  • You assign rules to a rule group and influence the sequence in which rules are executed using special activities in the THEN part of the rule (ToDos).

    The assignment to rule groups is made using the keyword GROUPS in the rule definition.

    Syntax Syntax

    1. RULE R1 GROUPS RuleGroup1
           IF ...
           THEN ...
      END
    End of the code.

    Note Note

    If you create the set of rules using the rule editor, you can assign the rules to a group under Groups. The rule editor then automatically generates a rule file with the correct syntax (see Editing Rules).

    You can then use assignments of the general form <Command>(<Rule group name>) in the THEN part of the rule to influence the sequence in which the rules are executed.

    End of the note.

    Command

    Impact

    DISABLE(<rule group name>)

    All the rules assigned to the rule group are deactivated, or in other words, are not taken into account during further processing.

    ENABLE(<rule group name>)

    All the rules assigned to the rule group are activated. As this is the normal case, this command only takes effect after DISABLE has been used beforehand.

    RESET(<rule group name>)

    All the rules assigned to the rule group are reset to their original status. This means that the system considers them as not yet executed. Under normal circumstances, rules are only executed once. You can use this command to change the system behavior.