Understanding Assembly Inclusion Rule Logic

For each assembly inclusion rule, you can define a logic statement for many conditions. This statement can determine which parts to include or how to price an item. The logic is similar to that used in cross-segment editing rules. The main difference is that assembly inclusion rules logic statements can be either conditional or unconditional.

An unconditional statement is identified by an asterisk (a then condition) in the And/Or Selection field. Use unconditional rules when you want to apply the same rule, regardless of the segment answers. You must define unconditional rules before you define conditional rules. All unconditional rules must be grouped together in the first rule (rule number one). Unconditional rules are used, for example, when a part is always included as a component or when a price adjustment is always performed.

Conditional rules use Boolean logic to control or condition an action, based on segment answers. You can also use and/or operators to create conditional rules that are compound statements of logic. This P assembly inclusion rule is an example of a compound logic statement: If Segment 10 equals 6000, and segment 30 is greater than 10, then include part F170, else include part F175.

See Understanding Boolean Logic.

Each phrase of the conditional logic statement is a separate record (written on a separate line).

The system automatically separates rules by highlighting them with different colors.

The system automatically assigns a rule number, based on the order in which each rule is entered into the system. The rule number is the order in which the rules will be processed at order entry. You can change the rule number when setting up assembly inclusion rules by using the Insert Before and Insert After options on the Row menu on the Work with Assembly Inclusion Rules form.

The system automatically assigns a sequence number to each line within a rule, based on the order in which each line of each rule is entered into the system. The sequence number is the order in which each line within a rule will be processed during rules processing. You can change the sequence number by using the Insert Before and Insert After options on the Row menu on the Assembly Inclusion Edit Group Revisions form.

The system enables you to perform multi-level referencing for non-dynamic and dynamic rules processing. You can perform upward and downward referencing to access values from segments on various levels of the configured item.

The system supports upward referencing only within assembly inclusion rules for single pass rules processing. Single pass rules processing does not support downward referencing. Upward referencing for single pass rules processing has no limitations.

The system also enables you to perform segment to segment comparisons. For example, if segment 10 is greater than segment 20, then include item F125. You can perform comparison across levels as well. For example, if segment 10 (of item 6000 in branch/plant M30) is greater than segment 20 (of item 6100 in branch/plant M30), then include item F250.

You use the Segment Item Left, Segment Branch Left, Configured Item Alias Left, Segment Item Right, Segment Branch Right, and Configured Item Alias Right fields in assembly inclusion rules.

A configured item alias may be assigned to an item using an assembly inclusion rule. The system verifies that the configured item alias has not been assigned to another item in the assembly inclusion rules. This prevents two components on any rule from being assigned the same configured item alias.

Once the configured item alias is assigned in an assembly inclusion rule, then the Configured Item Alias Left and Configured Item Alias Right fields in the cross-segment editing and assembly inclusion rules can be set to reference a configured item alias. The system verifies that the configured item alias is assigned to the item in the rule.

Note: No limit exists on the nesting of assembly inclusion rules. However, nesting does have an impact on system performance. The deeper the rules are nested, the slower the processing time.