Commerce Constraint Rules

Overview

Constraint Rules determine attribute values to constrain or allow, or fields that can't be populated in Commerce. These rules are triggered based off an attribute change (AJAX).

For example, if the Bill To Company Name = "Acme", constrain all non-zero values in the Discount column on the Line Item Grid. Include message "No discounts allowed for Acme'.

Similar to constraint rules in configuration, constraint rules in commerce are set up to warn the buyer when certain attribute values are not allowed. While a constraint is active, the system doesn’t allow the user to advance within the Commerce Process (for example, saving a quote). Once the user has alleviated the constraint, he is allowed to use any displayed commerce actions to proceed through the quoting process. A constraint rule has a condition and an action. When the condition and action are both true, then a constraint is fired, which shows up as a message to the user. Constraints can be written and/or run on attributes in the main document or sub-document. For example, an attribute value on the main document could constrain a value in the line item grid and vice-versa.

Buyside Constraint Rule example


Administration

ClosedCreate a Constraint Rule

Notes

  • NULL and blank Integer values are treated as separate values:
    • NULL= 0
    • Blank = ""
  • Using NULL as an attribute value is strongly discouraged.
  • If you use logic that tests for NULL values in rule conditions or BML, confirm that the logic takes this difference into account.

Custom Variable Name Conventions

In Oracle CPQ 23D, CPQ adopted Oracle CX Sales variable naming conventions for custom items. When an administrator creates a new custom Commerce item, the "_c" suffix is appended to the variable name. The new naming convention for custom variable names provides more consistency for integrations with Oracle Sales.

Beginning in Oracle CPQ 24C, customers can submit a service request to disable the "_c" suffix on variable names for custom Commerce entities (Actions, Analytics, Attributes, Data Columns, Integrations, Library Functions, Rules, Steps, etc.). The "_c" suffix is enabled by default for standard and legacy Commerce processes.

  • Customers can submit a Service Request (SR) on My Oracle Support to disable the "_c" suffix on variable names for custom Commerce entities
  • When the "_c" is disabled, the "_c" variable name suffix will not be required for newly created custom Commerce entities.
  • Disabling the "_c" variable name suffix for custom Commerce entities will not change existing variable names.
  • The "_c" suffix setting will not impact existing variable names when cloning a Commerce process or migrating Commerce items. Target variable names will be the same as the variable names from the source Commerce process.

Notes:

  • Oracle CPQ Standard Process provide a converged set of generic rules sourced from existing Oracle CPQ reference applications. The Standard Process rules cannot be deleted or modified, but they can be inactivated. For Validation type rules Linked Actions can be updated. Refer to Standard Process Rules to rules that are provided in the Standard Process.
  • Test performance early and often – AJAX enabled constraint and access rules might make the Transaction page slow depending on the number of attributes, rules, use of advanced function, and so on. Performance tests are a must!

Related Topics

Related Topics Link IconSee Also