Product Administration Guide > Configuration Rule Template Reference >

Exclude


The Exclude template has the form:

[item or condition] excludes [item or condition]

The exclude rule is mutual. For example, if Item A is present in the solution, Item B cannot be present. Conversely, if Item B is present, Item A cannot be present.

The excludes operator is functionally equivalent to a Boolean NAND (NOT of A AND B). In Table 24, a T (true) means the item is present in the solution. An F (false) means it is not present or is excluded.

Table 24.  Truth Table for Exclude
A
B
A AND B
A NAND B
T
F
False
True
F
T
False
True
F
F
False
True
T
T
True
False

The truth table shows that an exclude rule is always true except when both operands are present in the solution.

Use an exclude rule to:

Items

An item in an exclude rule can be any of the following:

Here is how the exclude rule works with items:

Conditions

Conditions in an exclude rule can take many forms. For example, an attribute condition specifies an attribute value. Here is a summary of how the exclude rule works with conditions in general. How exclude rules work with specific types of conditions is covered in the sections following this one.

Attribute Conditions

Attribute conditions are used to exclude specific attribute values for an item or group of items. For example, if the user picks item A, then the "Large" attribute value for item B is excluded.

In the rule examples below, the attributes are defined on items in relationships within the customizable product. You can also define exclude rules on the attributes of the customizable product itself.

In the following rule examples, excluded means the user can no longer select the item. If the excluded item is a relationship, the user can no longer select any of the products in the relationship. Excluded also means the eConfigurator engine will not create solutions that contain the excluded item.

Quantity Conditions

Quantity conditions compare the quantities of two items. Depending on the session context in which a quantity condition is evaluated, it either returns true/false or is enforced as a constraint.

For example you write the following configuration rule,

(Product A > Product B) excludes Product C

Context A. If the user picks Product A so that its quantity is greater than Product B, then Product C is excluded. In this case, the quantity condition is evaluated as true/false, and Product C is excluded when it is true.

Context B. If the quantity of Product A in the solution is not greater than Product B and the user picks Product C, then the quantity condition is enforced as a constraint. In all further solutions, the eConfigurator engine will require that the quantity of Product A is < = Product B if Product C is present.

Other Item Constraints

Several other types of conditions can also be used in exclude rules. In some cases these conditions do not make sense when used as the second operand in an exclude rule. Table 25 summarizes how to use item constraints.

Table 25.  Item Constraint Usage in Exclude Rules
Item Constraint
First Operand
Second Operand
Attribute Value
Yes
Yes
Consumes
No
No
Provides
No
No
Excludes
Yes
Yes
Excludes List
Yes
Yes
Requires
Yes
Yes
Requires List
Yes
Yes
Linked Item Value condition
Yes
Yes
Message, Recommends
No
No
Product Quantity
Yes
Yes
Relationship Quantity
Yes
Yes
Class Quantity
Yes
Yes

Nested Expressions as Conditions

The Exclude Template can itself be used as a condition in other rules. The most common templates used for writing nested rules are the Exclude and Require templates. For example you could write the configuration rule:

Product A excludes (Product B excludes Product C)

The Boolean form of this rule is as follows:

A NAND (B NAND C)

In Table 26, a T (true) means the item is present in the solution. An F (false) means the item is not present or is excluded.

Table 26.  A NAND (B NAND C)
Row
A
B
C
(B NAND C)
A NAND (B NAND C)
1
F
F
F
T
T
2
F
F
T
T
T
3
F
T
F
T
T
4
F
T
T
F
T
5
T
F
F
T
F
6
T
F
T
T
F
7
T
T
F
T
F
8
T
T
T
F
T

The truth table lets you analyze what happens when the user picks items. For example, there are no Product A, Product B, or Product C in the solution. The user picks Product B. You evaluate how the eConfigurator engine will respond as follows:

  1. Picking B means that B is true, so eliminate all rows from the table where B is False. This leaves rows 3, 4, 7, and 8.
  2. The engine returns solutions in which all constraints are true, so you can eliminate any of the remaining rows where the whole rule is false. This means you can eliminate row 7. This leaves rows 3, 4, and 8.
  3. Now examine the truth conditions for Product A and Product C in the rows 3. 4, and 8. The table shows that A is false in row 3 and 4 but true in row 8. This means that if the user picks B, then A can be either present or absent. It is not constrained. The table shows that C is false in row 3 but true in rows 4, and 8. This also means that C is not constrained. Thus, the user can pick B without A or C being excluded or required.

If A or C had been true in all three remaining rows, this means A or C is required. If A or C had been false in all three rows, this means A or C is excluded.

Multiple Operands

You can add multiple operands to an exclude rule by clicking the Compound Field button when you create the rule.

For example, you could create the rule:

Item A excludes Item B > 2, Item C < 5

This rule means the following:

Using commas to separate expressions is the same as writing two rules:

Item A excludes Item B > 2

Item A excludes Item C < 5

If you want to write a rule where you exclude the combination of two conditions you would do it as follows:

Item A excludes (Item B > 2 AND Item C < 5)

This rule means that if Item A is present in the solution, the two conditions cannot be simultaneously true in the same solution. If Item A is present, the quantity of Item B can be greater than 2 as long as the quantity of Item C is not less than 5 and vice versa.


 Product Administration Guide 
 Published: 23 June 2003