Regla de liberación de LDM
Esta regla empresarial garantiza que todos los objetos resultantes estén en el estado adecuado y que todos los elementos dependientes de primer nivel estén en el estado adecuado. Si un objeto hijo también es un objeto resultante, ese hijo pasa al estado de destino al ser liberado a través de la notificación de cambio, en lugar de permanecer en el estado actual.
Las opciones de configuración necesarias incluyen:
targetState: un estado válido para los objetos resultantes. Se puede definir más de un targetState.
validDependentState: un estado válido para los objetos dependientes. Se puede definir más de un validDependentState.
collectionComponentID: el ID del componente de recopilación utilizado para recopilar los objetos dependientes. El identificador del componente de recolección por defecto COLLECT_ITEMS_FOR_BOM_RELEASE_RULE está disponible en el sistema Windchill. Cada ID del componente de recopilación tiene preferencias que determinan los objetos que se recopilarán. La preferencia Recopilador de liberación de madurez de LDM en la sección Reglas empresariales de la utilidad Administración de preferencias permite controlar las reglas de recopilación.
Las opciones de configuración opcionales incluyen:
checkPredecessorRevisions: permite comprobar el estado válido de revisiones anteriores del objeto dependiente. Si la opción se define en verdadero, la regla comprueba que las revisiones anteriores se encuentran en un estado válido. Si la opción se define en falso o no se define, la regla no verifica la validez de las revisiones anteriores. El valor por defecto es falso.
invalidDependentState: estado no válido para los objetos dependientes. Se puede definir más de un objeto invalidDependentState.
Los siguientes ejemplos muestran el uso de la regla de liberación de LDM:
Los conjuntos que se liberen al estado Liberado o Prototipo y no al estado Obsoleto . Si un dependiente no se encuentra en el estado Liberado, Prototipo u Obsoleto, se comprueba la revisión anterior.
Si hay algún artículo de componente dependiente que esté en estado no válido, la regla fallará y se mostrará una lista de conjuntos no válidos en el informe Ver conflictos. Para obtener más información, consulte Visualización de conflictos de regla.
Atributos de configuración de ejemplo:
* 
Si la opción de configuración soporta más de un valor, se puede definir más de un estado si se especifica una entrada independiente de configuración para cada valor adicional, tal como se muestra en el ejemplo siguiente.
<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>
Los siguientes ejemplos ilustran la regla de liberación de LDM.
Ejemplo
Supongamos que se necesita cambiar un conjunto que tiene muchos artículos hijo. Sin embargo, antes de cambiar el conjunto, desea asegurarse de que todos los hijos estén en estado LIBERADO o lo estarán como resultado de este cambio. También desea asegurarse de que todos los artículos hijo estén actualizados, por lo que se va a comprobar que ninguno de los artículos hijo se encuentre en estado OBSOLETO. Para configurar esta opción, se pueden crear los siguientes objetos de la regla empresarial.
Conjunto de reglas empresariales:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleSet SYSTEM "standardX20.dtd">
<BusinessRuleSet>
<ObjectID><localId>wt.businessRules.BusinessRuleSet:45347</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>CHANGEABLE_PRE_RELEASE</key>
<name>Test_Changeable_ReleaseRuleSet</name>
<description>To test basic Attribute RuleSet Validation</description>
<enabled>true</enabled>
<overridable>true</overridable>
<updateIfExists>true</updateIfExists>
</BusinessRuleSet>
Regla empresarial:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRule SYSTEM "standardX20.dtd">
<BusinessRule>
<ObjectID><localId>wt.businessRules.BusinessRule:158927</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>BOM_RELEASE_RULE_RELEASED_STATE</key>
<selector>BOM_RELEASE_RULE</selector>
<name>Test BOM release Rule</name>
<description>Test BOM release Rule RELEASED State</description>
<enabled>true</enabled>
<updateIfExists>true</updateIfExists>
<configs>
<config name="targetState" value="RELEASED"></config>
<config name="validDependentState" value="RELEASED"></config>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID" value=
"COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"></config>
</configs>
</BusinessRule>
Vínculo de la regla empresarial:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleLink SYSTEM "standardX20.dtd">
<BusinessRuleLink>
<ObjectID><localId>wt.businessRules.BusinessRuleLink:168920</localId>
</ObjectID>
<ruleSet><ObjectReference><localId>wt.businessRules.BusinessRuleSet:45347
</localId></ObjectReference></ruleSet>
<rule><ObjectReference><localId>wt.businessRules.BusinessRule:158927
</localId></ObjectReference></rule>
<blockNumber>1</blockNumber>
<updateIfExists>true</updateIfExists>
</BusinessRuleLink>
¿Fue esto útil?