MAC-PAC Homecontact ussupport login 
Documentation > MAC-PAC Reference Library > Distribution > Expert Configurator > Key Concepts and Procedures > Rule Definition > Rule Releasing

Rule Releasing

 

The Expert Configurator organizes rules into a logic tree.  A rule is processed or "released" when the condition of the rule before it (the releasing rule) is met.   When a releasing rule triggers more than one rule, the released rules are processed in sequential order by rule number.  The virtual rule (00000 00) is the rule that begins all processing.  It has no releasing rule.  The rule number is alphanumeric, it can be all numbers, all letters, or a combination of both.  Letters are processed before numbers. 

For example:  Defines ten rules:  AA001 00, AA002 00, AA003 00, ABB01 00, DB002 00, DB003 00, 12111 00, 12112 00, BBB01 00, BB002 00.

·      The virtual rule releases AA002 00, ABB01 00, DB003 00, 12111 00, 23001 00.

·      AA002 00 releases AA001 00, AA003 00, and BB002 00.

·      BB002 00 releases DB002 00.

·      12111 00 releases 12112 00.

Rule Structure Chart.

Rules are processed from left to right then top to bottom.

By putting the rule numbers in this structure chart format, it is easier to understand how rules are processed.  The system processes rules from left to right then top to bottom.  There are three logical levels of rules in this example (excluding the virtual rule).

·      Logical level 1 contains rules AA002 00, ABB01 00, DB003 00, 12111 00, and 23001 00.

·      Logical level 2 contains rules AA001 00, AA003 00, BB002 00, and 12112 00.

·      Logical level 3 contains rule DB002 00.

If a rule in logical level 1 releases another rule, the system will process that released rule before it processes the next rule in logical level 1.

In the example:  The virtual rule releases rules AA002 00, ABB01 00, DB003 00, 12111 00, and 23001 00.  If these five rules did not release any other rules, this is the order they would be processed.  Since letters are processed before numbers, the three rules beginning with letters are processed first:  AA before AB, AB before D.  The rules beginning with numbers are processed next: 1 before 2.  However, two of the rules in logical level A release rules of their own, and one rule in logical level B releases a rule.  The processing would be:

1.   AA002  00

2.   AA001  00

3.   AA003  00

4.   BB002  00

5.   DB002  00

6.   ABB01  00

7.   DB003  00

8.   12111   00

9.   12112   00

10.  23001   00

Rule number AA002 00 is processed first, it releases AA001 00, AA003 00, and BB002 00.  Rule BB002 00 releases rule DB002 00.  Processing returns to logical level 1 and rule number ABB01 00 is processed.  It does not release any rules, so DB003 00 is processed.  Rule DB003 00 releases no rules, so rule 12111 00 is processed next.  Rule 12112 00 is processed next because it is released by rule 12111 00.  The final rule to be processed is rule 23001 00.  Rules within a logical level that are released by the same rule are processed sequentially.

In a multi-level configuration environment, bill of rules are processed in a modular fashion.  Each configured part within a multi-level configuration uses its own bill of rules.  The execution of a configured component (cc) rule results in the current bill of rules being suspended and the lower level components' rules being processed.  When the lower level rules are completed, control passes back to the parent part's bill of rules and resumes execution from the rule immediately following the configured component (cc) rule.  Using this approach allows a part to be ordered from a sales order line as an end item or as a service part.  Additionally, that same part could be used as a configured component for another part.  In both situations, the same bill of rules would be used.