Commerce Best Practices
Overview
- Put all Commerce BML in libraries.
- Comment the library function.
- Comment the calling function.
- Maintain the following Looping standards.
- Do not created nested loops.
- Select variables carefully at the line level.
- Keep in mind the difference between document number and sequence number.
- Don’t modify system generated attributes.
- Line item looping always on the advanced modify / default
Return information in the following format:
[docNo]~variableName~variableValue|
- Never use summation attributes.
- Never use "Revert to default" on line item attributes.
- Never use
_config_attributes
or_config_attr_text
- Transition documents out of the Start step.
- When defining attributes, use
_quote
and_line
suffixes as well as camelCase. - There are a limited number of data columns available: define them carefully. Remember that search, native reporting, and timer variables must also be columns.
- Start with the standard QuickStart Commerce Process when possible.
-
Oracle CPQ recommends avoiding actions that call other actions on the same quote through BML. If this is implemented, the advanced validation of the parent action should be "modify without saving or validating".
-
Limit the use of sub-document dynamic menu attributes to prevent negative impacts on performance.
-
If sub-document dynamic menu attributes are implemented, avoid the use of Formula to populate the value as this will be firing for each transaction line and can cause significant slowness for large quotes with large number of transaction lines.
-
Filters may be an alternative for sub-document dynamic menu attributes to achieve better performance.
-