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 the user manually selects an option or enters 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 the user makes a selection that violates a constraint, then Configurator displays a message informing the user 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 the user 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 the user selects My Bouquet, then Configurator will automatically select Summer Bouquet and Crystal Vase by default. If the user then selects 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 the user makes 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 the user makes 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 the user manually selects 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 the user from removing the check mark.
  • You can express a default rule as an assignment function.
  • If the user's 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.