Bookshelf Home | Contents | Index | PDF

## About Configuration Constraint Conditions

Many of the constraint templates contain conditions or expressions. For example:

• Exclude template: [Item or condition] excludes [item or condition]
• Require template: [Item or condition] requires [item or condition]

A condition is an explicit statement about the configuration. Conditions can play several roles in a constraint template. First, they can act as a test that determines whether a constraint is enforced. For example, you write the following constraint:

Item A > 4 excludes Item B

This constraint states that when the quantity of Item A is greater than 4 in the solution, then Item B cannot be present (is excluded). In this constraint, "Item A > 4" is a condition that, when true, causes Item B to be excluded.

When a condition is used as a test, the Siebel Configurator engine evaluates the condition and returns true or false. If the condition is true, the constraint is enforced.

Secondly, conditions can define a constraint. For example, you write the following constraint:

Item B excludes Item A > 4

This constraint states that when Item B is present in the solution, then the quantity of Item A in the solution cannot be greater than 4. In this constraint, "Item A > 4" is a condition that defines a constraint.

Conditions can take several forms:

• Quantity comparisons. The preceding examples are quantity comparisons.
• Item values. The value of attributes, linked items, and resources can be used as conditions.
• Constraint Templates. Constraint templates can be used as conditions. When constraint templates are used as conditions, the Siebel Configurator engine does not enforce the constraint as a constraint but instead evaluates the template as true or false. This is discussed further below.

Boolean operators (AND, OR, NOT) are provided in the Constraints List to allow combining conditions together or to negate an expression used in a condition.

A third way to use conditions is when writing require or exclude constraints about relationships. In the constraint "item A requires Relationship B" the Siebel Configurator engine has no way to determine which items in Relationship B to add to the solution if the user picks item A. So when the user picks item A, the Siebel Configurator engine prints a message in the user's message area stating that a selection from Class B is required.

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