Provide and Consume Templates
The Provide template has the form:
[An item] provides [a value] to [a target]
The Consume template has the form:
[An item] consumes [a value] from [a target]
Provide and consume constraints positively or negatively increment the amount of the target operand each time the specified item is added to the solution. Provide constraints contribute a positive amount; that is, they increase the amount of the target. Consume constraints contribute a negative amount; that is, they reduce the amount of the target.
Contrast this behavior with the behavior of the require constraints. For example, Item A requires Item B. The first time the user picks Item A, if no item B is in the solution, the Siebel Product Configurator engine adds at least one Item B. The second time the user picks Item A, the engine does not increment Item B because the require constraint does not consider the quantity of Item A in the solution, only that Item A is present.
Now consider the constraint Item A provides 1 to Item B. Each time the user picks Item A, the Siebel Product Configurator engine increments the number of Item B in the solution by 1. This constraint ties the quantities of Item A and Item B together so that each Item A requires an Item B. Provide and consume constraints work directly with quantities expressed as resource or attribute values, while require constraints consider only the presence or absence of an item.