Règle d'officialisation de nomenclature
Cette règle métier sert à vérifier que les états de tous les objets résultants sont appropriés et que les états des objets dépendants de niveau 1 de ces objets sont également appropriés. Si un objet enfant est également un objet résultant, lorsqu'il est officialisé dans l'avis de modification, il prend l'état cible au lieu de conserver son état actuel.
Les options de configuration requises sont les suivantes :
• targetState : état valide des objets résultants. Vous pouvez définir plusieurs états targetState.
• validDependentState : état valide des objets dépendants. Vous pouvez définir plusieurs états validDependentState.
• collectionComponentID : identifiant de composant de collection utilisé pour collecter les objets dépendants. L'identifiant de composant de collection par défaut COLLECT_ITEMS_FOR_BOM_RELEASE_RULE est livré avec le système Windchill. Chaque identifiant de composant de collection présente des préférences qui définissent les objets à collecter. La préférence Collecteur d'officialisation de la maturité de nomenclature dans la section Règles métier de l'utilitaire Gestion des préférences contrôle les règles de collection.
Les options de configuration facultatives sont les suivantes :
• checkPredecessorRevisions : contrôle l'état valide des changements de version précédents de l'objet dépendant. Si elle est définie sur true, la règle vérifie que les changements de version précédents sont dans un état valide. Si la valeur est définie sur false ou qu'elle n'est pas définie, la règle ne vérifie pas la validité des changements de version précédents. La valeur par défaut est false.
• invalidDependentState : état non valide des objets dépendants. Vous pouvez définir plusieurs états invalidDependentState.
Les exemples suivants illustrent l'utilisation de la règle d'officialisation de nomenclature :
Tout assemblage officialisé à l'état Officiel ou Prototype et non à l'état Obsolète. Si une dépendance ne présente pas l'état Officiel, Prototype ou Obsolète, la révision précédente est contrôlée.
Si certains des articles de composant dépendants ont un état non valide, la règle échoue et une liste des assemblages non valides est répertoriée dans le rapport
Afficher les conflits. Pour plus d'informations, consultez la section
Affichage des conflits de règle.
Exemple d'attributs de configuration :
|
Si l'option de configuration prend en charge plusieurs valeurs, vous pouvez définir plusieurs états en indiquant une entrée de configuration distincte pour chaque valeur supplémentaire, comme indiqué dans l'exemple ci-dessous.
|
<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>
Les exemples suivants illustrent l'utilisation de la règle d'officialisation de nomenclature :
Exemple
Imaginez que vous ayez besoin de modifier un assemblage présentant de nombreux composants. En revanche, avant de modifier l'assemblage, vous souhaitez vous assurer que tous les enfants sont à l'état OFFICIEL, ou le seront suite à cette modification. Vous souhaitez également vérifier que tous les composants sont à jour, autrement dit qu'aucun des composants n'est devenu OBSOLETE. Pour ce faire, vous pouvez créer les objets de règle métier suivants.
Règle métier définie :
<?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>
Règle métier :
<?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>
Lien de règle métier :
<?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>