Anwendungsfall 8: Downstream-Struktur durch Überspringen eines Teils basierend auf zwei Attributen generieren
Angenommen, im Stücklisten-Transformator ist die folgende Struktur vorhanden:
• Zwischen Upstream Parent Part (Design) und Downstream Parent Part (Manufacturing) ist ein Äquivalenz-Link vorhanden.
• Bei Part C2 (Design), Part C3 (Design), Part C5 (Design) und Part C6 (Design) ist das Teileverwendungsattribut Attribute1 auf true festgelegt.
| Attribute1 ist ein Attribut vom Typ "Boolesch". In Windchill hat dieses Attribut die Werte Yes und No. true und false sind jeweils äquivalent zu Yes und No. |
• Alle Teile in der Struktur sind vom Typ wt.part.WTPart.
Sie können die Transformations- und Umstrukturierungsregeln mithilfe der Regel- oder Eigenschaftendatei angeben, um die Downstream-Struktur durch Überspringen eines Teils basierend auf zwei Attributen zu generieren.
Regeldatei verwenden
{
"transformRules": [
{
"sourceType": "wt.part.WTPart",
"newAttributeMappings": [
[
"source.usage.Attribute1:true",
"target.part.CustomAttribute1:String1",
"doAndValidationForAttr": "true"
]
],
"targetType": "wt.part.WTPart",
"transformOption": "newPart",
"skipAttributes":
[
"source:buy",
"Attribute2":"true"
]
}
]
}
Eigenschaftendatei verwenden
1. Greifen Sie unter Windchill/codebase/com/ptc/core/foundation/associativity auf die Datei associativity.properties.xconf zu.
2. Fügen Sie die folgenden Umstrukturierungsregeln hinzu:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="transformOption=newPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="targetType=wt.part.WTPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="attributeMapping.rule1=Attribute1:true:CustomAttribute1:String1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.source=buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
Nachdem Sie die Aktion
für das ausgewählte Teil in der Upstream-Struktur initiiert haben, durchläuft das Windchill System die Struktur unterhalb des ausgewählten Teils. Diese Konfiguration stellt sicher, dass:
• Wenn das Windchill System in der Upstream-Struktur ein Teil erkennt, dessen Teileattribut Attribute1 auf true festgelegt ist, wird es in der Downstream-Struktur unter dem Teil transformiert, dessen Attribut CustomAttribute1 auf String1 festgelegt ist. Es wird als neues Teil transformiert.
• Wenn das Windchill System in der Upstream-Struktur ein Teil erkennt, dessen Teileverwendungsattribut Attribute2 auf true und Attribut Source auf buy festgelegt ist, wird das Teil übersprungen und nicht in der Downstream-Struktur hinzugefügt. Die Struktur unterhalb des erkannten Teils wird dennoch durchlaufen.
Daraufhin wird im Stücklisten-Transformator die folgende Struktur angezeigt:
• Part C1 (Design) wird übersprungen. Es wird nicht im Downstream hinzugefügt, da es die angegebenen Kriterien erfüllt:
◦ <AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.source=buy"/>
◦ <AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
◦ <AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
• Part C4 (Design) wird nicht in der Downstream-Struktur hinzugefügt, da Attribute1 auf false festgelegt ist.
• Es wird kein Teil unter Part T2 (Manufacturing) hinzugefügt, da dessen Wert des Teileverwendungsattributs CustomAttribute1 auf String2 und nicht auf String1 festgelegt ist.