Set the Rule's Class

Each statement rule has a class that you can set to tell Oracle Configurator when and how to apply the rule at run time.

The class specifies:

  • The rule's behavior
  • Whether the rule is required
  • When to apply the rule at run time

Constrain Values

If you set the rule's class to Constraint, then Configurator applies a constraint at run time when you manually select an option or enter a value.

You can include logic, compare values, or make sure options are compatible in your constraint.

You can use a relational operator in your constraint. Here's an example that uses the equal ( = ) operator and the greater than ( > ) operator:

x = y + (q*z)
a > b

Note

  • The left side of the expression can push numeric details to the right side.
  • The right side of the expression can push numeric details to the left side.

A constraint must always be true. For example, if you a selection that violates a constraint, then Configurator displays a message informing you that Configurator can't do the action that the selection requires.

You can't specify the sequence that Configurator uses to run your constraints at run time.

Set Default Values

If you set the rule's class to Default, then the rule can use a default value to help guide you toward a solution.

Assume you sell flower bouquets and you prefer that your customers purchase My Summer Bouquet instead of My Fall Bouquet, and to purchase the Crystal Vase instead of the Glass Vase. These rules and this sequence will get you there:

  1. My Bouquet Implies Summer
  2. My Bouquet Implies Crystal Vase
  3. Fall Bouquet Implies Crystal Vase

If you select My Bouquet, then Configurator will automatically select Summer Bouquet and Crystal Vase by default. If you then select Fall Bouquet, then Configurator will automatically select Crystal Vase.

You can create more than one constraint as a default. Assume your model contains a numeric feature named Weight and it has a range of 1,000 to 5,000. You prefer to sell a solution where the value of this item is less than or equal to 3,000, so you create a statement rule and assign the rule to the Default class:

Weight <= 3000

Configurator will reduce the range for the weight item at run time:

Range: 1000 to 3000

If you make some selections that result in a Weight that's outside this range, then Configurator overrides the default.

Note

  • Configurator applies a default rule at run time when it starts the configuration, and before you make any selections.
  • Configurator applies the default values in the same sequence that you specify them in your rule.
  • Configurator might apply a default rule when you manually select an option or enters a value.
  • The default isn't a constraint. For example, if the default automatically adds a checkmark to an option feature, then Configurator doesn't prevent you from removing the check mark.
  • You can express a default rule as an assignment function.
  • If your choices or if a constraint causes a conflict, then the default might fail.

Specify Search

If you set the rule's class to Search Decision, then Configurator applies the rule:

  • During autocomplete
  • After it applies all user selections, all constraints, and all defaults
  • Before it applies the constraint's search decisions
  • In the same sequence that you specify search decisions in your rule

You can express a search decision rule as an assignment function, logical expression, or numeric comparison.