Advanced Customization > Business Logic Customization > Business Rules > Business Rule Types > BOM Release Rule
  
BOM Release Rule
The BOM Release Rule ensures that all resulting objects are at an appropriate state and all their first level children are at an appropriate state. This rule is not used out of the box but can be configured using the selector BOM_RELEASE_RULE. The configuration options required for this rule are
targetState – one or more valid states for the resulting objects
validDependentState – one or more valid states for child objects
invalidDependentState – one or more invalid states for child objects
checkPredecessorRevisions – boolean value which represents whether or not the BOM release rule should execute against previous revisions
collectionComponentID - the collection component id used to collect the child objects.
An example config is:
<configs>
<config name="targetState" value="RELEASED"/>
<config name="validDependentState" value="RELEASED"/>
<config name="validDependentState" value="PROTOTYPE"/>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID"
value="COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"/>
</configs>
A default collection component id COLLECT_ITEMS_FOR_BOM_RELEASE_RULE is provided out of the box. Each collection component id has preferences that determine which objects are collected. The preferences for COLLECT_ITEMS_FOR_BOM_RELEASE_RULE are located under Business Rules > BOM Maturity Release Collector
If a child object is also a resulting object, then the target state that the object goes to when it is released through the change notice is used instead of the current state.