Commerce Access Rules

Overview

Oracle CPQ 24B expands the functionality of Commerce Hiding Rules to allow administrators to dynamically control read/write permissions for Commerce attributes. This greatly reduces the amount of effort to control access for Commerce attributes. Previously, Hiding Rules allowed administrator to hide actions and attributes when a pre-defined condition is met. Administrators can now additionally select a specific Step and/or Participant Profile for the attribute’s visibility and edibility behavior when a pre-defined condition is met. Administrators can also specify access behavior in BML functions for Advanced action types. These rules are triggered based off an attribute change (AJAX).

For example, If the Line Item Grid contains a line with Part Number 'S2000', then hide that line's Net Ea input attribute and Net Ea Override Attribute.

Similar to Hiding Rules in Configuration, Access Rules in Commerce can hide actions or attributes from buyers and dynamically control attribute edibility when certain conditions are met. Commerce Access Rules are run using AJAX, meaning that an action doesn’t need to be performed in order for them to run. An Access Rule has a condition and an action. When the condition is met, the rule will hide the action components. Access rules can be written and/or run on actions or attributes in the main document or sub-document. Different from constraints, access rules written on the sub-document level can only hide sub-document components.

Buyside Hiding Rule example

ClosedAccess Rules on Sub-Document Level

ClosedHiding Components using Transaction Arrays

Administrators can use transaction array set attributes in the Commerce Access Rules. Array attributes can be used in both simple and advanced modes for the Condition and for the Components to Hide/Read-only sections of the access rules. Transaction array hiding behaviors are similar to Configuration array set behaviors.

Transaction array attribute hiding behaviors are as follows:

  • If an array attribute is used as a simple condition and the components to hide only uses document attributes, the result is that the document attributes are hidden if any array row meets the condition.
  • If an array attribute is used as a simple condition and the components to hide also use array attributes, the result is cell-level hiding as determined on a row-by-row basis.
  • If a simple condition exists without referencing an array attribute and the components to hide uses array attributes, the result is that the entire array column is hidden.
  • If an advanced condition is used either with or without array attributes and the components to hide uses array attributes, the result is that the entire array column is hidden.
  • If a condition is "Always True" and the components to hide uses array attributes, the result is that the entire array column is hidden.

Hiding Rule results in transaction arrays


ClosedAccess Rules on Actions


Administration

ClosedCreate an Access 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 Oracle CPQ appends the "_c" suffix to custom variable names to provide more consistency for integrations with Oracle Sales.

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