Stücklistenfreigabe-Regel
Diese Geschäftsregel stellt sicher, dass alle Ergebnisobjekte und alle von diesen abhängigen Objekte der ersten Ebene den geeigneten Status aufweisen. Wenn ein Kindobjekt auch ein Ergebnisobjekt ist, wechselt dieses Kindobjekt bei Freigabe durch die Änderungsnachricht in den Zielstatus, anstatt den aktuellen Status beizubehalten.
Zu den erforderlichen Konfigurationsoptionen gehören:
targetState – Gültiger Status für die Ergebnisobjekte. Sie können mehr als einen targetState definieren.
validDependentState – Gültiger Status für abhängige Objekte. Sie können mehr als einen validDependentState definieren.
collectionComponentID – Sammlungskomponenten-ID, die zum Sammeln der abhängigen Objekte verwendet wird. Die standardmäßige Sammlungskomponenten-ID COLLECT_ITEMS_FOR_BOM_RELEASE_RULE ist im Windchill System verfügbar. Jede Sammlungskomponenten-ID verfügt über Einstellungen, die die zu sammelnden Objekte festlegen. Die Einstellung Collector für die Freigabe der Stücklistenreife im Abschnitt Geschäftsregeln des Dienstprogramms Einstellungsverwaltung steuert die Sammlungsregeln.
Zu den optionalen Konfigurationsoptionen gehören:
checkPredecessorRevisions: Prüft, ob frühere Versionen des abhängigen Objekts einen gültigen Status aufweisen. Wenn "True", prüft die Regel, ob die früheren Versionen einen gültigen Status aufweisen. Wenn "False" oder nicht festgelegt, prüft die Regel frühere Versionen nicht auf ihre Gültigkeit. Die Standardeinstellung ist "False".
invalidDependentState: Ein ungültiger Status für abhängige Objekte. Sie können mehr als einen invalidDependentState definieren.
In den nachfolgenden Beispielen wird die Verwendung der Stücklistenfreigabe-Regel veranschaulicht:
Eine Baugruppe, die im Status Freigegeben oder Prototyp und nicht im Status Veraltet freigegeben wird. Wenn ein abhängiges Objekt nicht den Status Freigegeben, Prototyp oder Veraltet aufweist, wird die frühere Version überprüft.
Wenn abhängige Komponententeile mit ungültigem Status vorliegen, schlägt die Regel fehlt, und im Bericht Konflikte anzeigen wird eine Liste der ungültigen Baugruppen aufgeführt. Weitere Informationen finden Sie unter Regelkonflikte anzeigen.
Beispiel-Konfigurationsattribute:
* 
Wenn die Konfigurationsoption mehr als einen Wert unterstützt, können Sie mehr als einen Status definieren, indem Sie einen separaten Konfigurationseintrag für jeden zusätzlichen Wert angeben, wie im folgenden Beispiel dargestellt.
<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>
In den nachfolgenden Beispielen wird die Stücklistenfreigabe-Regel veranschaulicht.
Beispiel
Angenommen, Sie müssen eine Baugruppe ändern, die viele Kind-Teile enthält. Bevor Sie die Baugruppe ändern, müssen Sie sicherstellen, dass alle Kind-Teile den Status FREIGEGEBEN oder als Ergebnis dieser Änderung den Status FREIGEGEBEN aufweisen. Zudem müssen Sie alle untergeordneten Teile aktualisieren, damit Sie sicherstellen können, dass kein untergeordnetes Teil VERALTET ist. Um dies zu konfigurieren, können Sie folgende Geschäftsregelobjekte erstellen.
Geschäftsregelsatz:
<?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>
Geschäftsregel
<?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>
Geschäftsregel-Link:
<?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>
War dies hilfreich?