Define Constraints for Quote Groups, Ramps, and Ramp Segments
This Page
All Documentation
Apply rules to quote groups, ramps, and ramp segments by using the SalesTransactionItemGroup context tag. Assign a groupby value to messages defined in Constraint Rules Engine to include the messages in custom grouping strategies.
To define a constraint for a quote group, use the require rule to assign the SalesTransactionItemGroup attribute that’s contained on a type to the value of the QuoteGroup container.
To define a constraint that applies to a ramp group, use the IsLineGroupRamped__std attribute in the require rule to specify that the group is a ramp group.
To define a rule that applies to a ramp segment for defined conditions, use the ItemSegmentType attribute.
Define a Constraint for a Quote Group
To define a constraint for a quote group, use the require rule to assign the SalesTransactionItemGroup attribute that’s contained on a type to the value of the QuoteGroup container.
In this example for a GeneratorSet and its Enclosure, all the relations defined in the groupBy container include the SalesTransactionItemGroup attribute. Constraint Rules Engine creates a virtual container for each unique value of the SalesTransactionItemGroup attribute defined in the groupBy container. The engine creates one virtual container with its own self-contained rule execution for each group that contains one or more of the products defined in the QuoteGroup container.
Groups don’t support rules such as Hide, Disable, or Recommend, that perform an action when specified conditions are true.
To define a constraint that applies to a ramp group, use the IsLineGroupRamped__std attribute in the require rule to specify that the group is a ramp group.
In this example, the Enclosure is added to the group only if the GeneratorSet is in a ramp group. In the last lines of the example, the IsLineGroupRamped__std attribute in the require rule specifies that the GeneratorSet is in a ramp group.
Groups don’t support rules such as Hide, Disable, or Recommend, that perform an action when specified conditions are true.
Note
To add a type to an unramped group only and exclude the type from ramp groups, set the IsLineGroupRamped__std attribute to NOT (!) in the require rule. For example, require(!(generators[GeneratorSet].IsLineGroupRamped__std),.
To define a rule that applies to a ramp segment for defined conditions, use the ItemSegmentType attribute.
In this example, Enclosure is included in the group with GeneratorSet only if ItemSegmentType for GeneratorSet isn’t Trial. To set a value for ItemSegmentType, the type must be in a ramp group and be ramped.
Groups don’t support rules such as Hide, Disable, or Recommend, that perform an action when specified conditions are true.