Siebel Product Administration Guide > Configuration Constraint Template Reference >

Exclude Template


The Exclude template has the form:

[item or condition] excludes [item or condition]

The exclude constraint 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 20, a T (true) means the item is present in the solution. An F (false) means it is not present or is excluded.

Table 20. 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 constraint is always true except when both operands are present in the solution.

Use an exclude constraint to:

  • Prevent technical configuration errors. For example, a computer operating system or software application may be incompatible with certain microprocessors.
  • Prevent configurations that are undesirable or ineffective. For example, in a financial model, an exclude constraint could prevent adding a low quality bond fund to a retirement portfolio.

Items

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

  • A relationship or class within a relationship
  • A product within a relationship or class

Here is how the exclude constraint works with items:

  • Product A excludes Product B

    If Product A is present in the solution, then Product B cannot be present. If Product B is present in the solution, then Product A cannot be present.

  • Relationship A excludes Product B

    If any product in Relationship A is present in the solution, then Product B is excluded. If Product B is present, then no product from Relationship A can be present.

  • Relationship A excludes Relationship B

    If any Product in Relationship A is present in the solution, then no product in Relationship B can be present. If any product in Relationship B is present in the solution, then no product from Relationship A can be present.

Conditions

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

  • Product A excludes Condition B

    If Product A is present in the solution, then Condition B cannot be true. If Condition B is true in the solution, then product A cannot be present.

  • Relationship A excludes Condition B

    If any product in Relationship A is present, Condition B cannot be true. If Condition B is true in the solution, then no product from Relationship A can be present.

  • Condition A excludes Product B

    If Condition A is true in the solution, then Product B is excluded. If Product B is present in the solution, then Condition A cannot be true in the solution.

  • Condition A excludes Relationship B

    If Condition A is true in the solution, then all products in relationship B are excluded. If any product from Relationship B is present in the solution, then Condition A cannot be true in the solution.

  • Condition A excludes Condition B

    If Condition A is true in the solution, then Condition B cannot be true in the solution. If Condition B is true in the solution, then Condition A cannot be true in the solution.

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 constraint examples below, the attributes are defined on items in relationships within the customizable product. You can also define exclude constraints on the attributes of the customizable product itself.

In the following constraint 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 Siebel Configurator engine will not create solutions that contain the excluded item.

  • Product A excludes Attribute C = M in Relationship B

    If Product A is present in the solution, then the value M will not be selectable for Attribute C in Relationship B.

    If any product with Attribute C = M in Relationship B is present in the solution, then Product A is excluded from the solution.

  • Relationship A excludes Attribute C = M in Relationship B

    If any product in Relationship A is present in the solution, then the value M will not be selectable for Attribute C in Relationship B.

    If any product with Attribute C = M in Relationship B is present in the solution, then all the products in Relationship A are excluded from the solution.

  • Attribute C = M in Relationship A excludes Product B

    If any product with Attribute C = M in Relationship A is present in the solution, then Product B is excluded from the solution.

    If Product B is present in the solution, then the value M will not be selectable for Attribute C in Relationship B.

  • Attribute C = M in Relationship A excludes Relationship B

    If any product with Attribute C = M in Relationship A is present in the solution, then all the products in Relationship B are excluded from the solution.

    If any products from Relationship B are present in the solution, then the value M will not be selectable for Attribute C in Relationship B.

  • Attribute C = M in Relationship A excludes Attribute D = P in Relationship B

    If any of the products with Attribute C = M in Relationship A are present in the solution, then the value P for Attribute D will not be selectable in Relationship B.

    If any products with Attribute D=P in Relationship B are present in the solution, then the value M will not be selectable for Attribute C in Relationship A.

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 constraint,

(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 Siebel Configurator 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 21 summarizes how to use item constraints.

Table 21. 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 constraints. The most common templates used for writing nested constraints are the Exclude and Require templates. For example you could write the configuration constraint:

Product A excludes (Product B excludes Product C)

The Boolean form of this constraint is as follows:

A NAND (B NAND C)

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

Table 22. 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 Siebel Configurator 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 constraint 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 constraint by clicking the Compound Field button when you create the constraint.

For example, you could create the constraint:

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

This constraint means the following:

  • If Item A is present in the solution, Item B cannot be greater than 2
  • If item A is present in the solution, Item C cannot be less than 5
  • If Item B is greater than 2 in the solution, Item A cannot be present
  • If item C is less than 5 in the solution, Item A cannot be present

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

Item A excludes Item B > 2

Item A excludes Item C < 5

If you want to write a constraint 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 constraint 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 conversely.

Siebel Product Administration Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.