Propagating Upstream Changes
There may be some updates made to the upstream structure recently; for example, new parts added or existing parts removed. These updates may not be reflected in the downstream structure. You can use the Propagate Upstream Changes pane in Associative Part Structure browsers to update the downstream structure with the latest upstream changes. The application compares the current iteration of the upstream object with the previous up-to-date version that was linked to the current downstream iteration. You can review the detected changes and propagate the required changes to the downstream structure.
By default, equivalence association is used as the criterion to compare the objects. You can change the criterion to compare based on baseline number or time duration.
To propagate upstream changes:
1. Click
on the middle pane tool bar and select the appropriate parts in the upstream structure.
The Propagate Upstream Changes pane opens to the right of the browser.
| The mechanism for detecting upstream changes requires that you select a part in the upstream structure. The search then detects changes made for the nodes linked up to the first level. The selection made in the downstream structure does not impact the search results. |
2. To search for the upstream changes based on a change notice created for an upstream part, enter the change notice or change task number in the Change Number box. The changes made on the resulting objects listed in the change notice or change task are detected.
| • When using a change number, selecting a part in the upstream structure is not mandatory. Even if you select a part in upstream structure, the system displays only those discrepancies that are related with parts associated with the specified change number. • You can customize the search criterion for Change Number to detect the changes made through a promotion request. |
3. Select the search criteria to specify the upstream changes that you want to view:
◦ Criteria: To specify the comparison mechanism for detecting the upstream changes, select the appropriate mechanism from the Criteria list.
▪ Baseline: Enter the baseline number in the adjacent box. The current iteration of the upstream structure is compared with the parts included in the specified baseline.
▪ Out Of Date: The current iteration of the upstream structure is compared with the previous up-to-date version that was linked to the current downstream iteration.
▪ Duration: Enter the duration in the adjacent box. The current iteration of the upstream structure is compared with the iteration available before the specified duration.
◦ You can filter the search result by specifying the type of upstream changes to be listed, using the All Changes list.
▪ Added Parts: Detects parts that were added.
| For the Added Parts criteria, you can control the way the detected parts are transferred to the downstream structure during the propagation. |
▪ Association Discrepancy: Detects parts with added, updated, or removed document associations for EPMDescribe Link, Part Reference Link, and Part Describe Link.
Additionally, you can configure the following properties to specify the associated documents, standard control characteristics, and alternate and substitute parts to be included or excluded when detecting changes. The properties are available in the associativity.properties.xconf file located at <WT_HOME>/codebase/com/ptc/core/foundation/associativity/xconfs.
▪ Include associations: com.ptc.windchill.associativity.reconciliation.includedTypes
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.includedTypes" value="document type, standard control characteristic type, alternate part type, substitute part type"/>
For example: <AddToProperty name="com.ptc.windchill.associativity.reconciliation.includedTypes" value="wt.doc.WTDocument"/>
▪ Exclude associations: com.ptc.windchill.associativity.reconciliation.excludedTypes
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.excludedTypes" value="document type, standard control characteristic type, alternate part type, substitute part type"/>
For example: <AddToProperty name="com.ptc.windchill.associativity.reconciliation.excludedTypes" value="wt.epm.EPMDocument"/>
| • OOTB, all subtypes of the type mentioned in the properties are considered when including or excluding the objects. If the following property is set to false, the subtypes of the specified type are not considered: com.ptc.windchill.associativity.reconciliation.inheritFromParentType • If the same type of document, standard control characteristic, alternate part, or substitute part is specified in both the properties, the exclude property will take precedence. • If an association type is not mentioned in the com.ptc.windchill.associativity.reconciliation.includedTypes property, none of the associations will be tracked when detecting changes. • When using the Synchronize Structures action to detect discrepancies, only add and remove scenarios are tracked for Part Reference Link. • Discrepancies related to alternate part associations cannot be detected using the Detect Discrepancies and Review and Resolve Discrepancies actions. |
When resolving discrepancies, only those document associations, part alternate links, and part substitute links that are specified in the following properties, respectively, are carried over from upstream to the downstream structure:
▪ com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPart
The default values for this property are: wt.part.WTPartReferenceLink, wt.part.WTPartDescribeLink, and wt.epm.structure.EPMDescribeLink.
| The com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPart property is applicable to WTPart and its soft types created using the Type and Attribute Management utility. To carry forward the associations for modeled(hard) types like MPMSkill, MPMWorkCenter, Vendor Part, Manufacturer Part, and others, you need to define the property as follows: <Property name="com.ptc.windchill.associativity.reconciliation.associations.com.ptc.windchill.mpml.resource.MPMTooling" multivalued="," default=""/> <AddToProperty name="com.ptc.windchill.associativity.reconciliation.associations.com.ptc.windchill.mpml.resource.MPMTooling" value="wt.part.WTPartReferenceLink"/> <AddToProperty name="com.ptc.windchill.associativity.reconciliation.associations.com.ptc.windchill.mpml.resource.MPMTooling" value="wt.part.WTPartDescribeLink"/> <AddToProperty name="com.ptc.windchill.associativity.reconciliation.associations.com.ptc.windchill.mpml.resource.MPMTooling" value="wt.epm.structure.EPMDescribeLink"/>
|
▪ com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPartMaster
By default, the property value is blank.
▪ com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPartUsageLink
By default, the property value is blank.
The following example shows how to set the com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPartMaster property:<AddToProperty name="com.ptc.windchill.associativity.reconciliation.associations.wt.part.WTPartMaster" value="wt.part.WTPartAlternateLink"/>
| Based on the type of document and change, the Criteria column in the search result displays CAD Document - Added, CAD Document - Updated, CAD Document - Removed, Part Describe Document - Added, Part Describe Document - Updated, Part Describe Document - Removed, Part Reference Document - Added, or Part Reference Document - Removed. |
▪ Control Characteristics: Detects parts with added or removed control characteristics.
▪ Effectivity: Detects parts with updated effectivity values for the types: lot, block, serial, MSN, and date. Changes in effectivity values are detected only when a part is revised.
▪ Flexible Representation: Detects discrepancies in the flexible assembly features of parts. An administrator can add custom logic to detect, verify, and resolve flexible assembly discrepancies.
▪ Item Expressions: Detects parts with updated expressions assigned to items. The supported expressions are basic and advanced. Item Expressions also detects concatenated expressions. Item expressions also detect independent assigned expressions.
▪ Occurrence Expressions: Detects parts with updated expressions assigned to occurrences. The supported expressions are basic and advanced. Occurrence Expressions also detects concatenated expressions. However, independent assigned expressions are not detected.
▪ Out of Position: Detects parts with updated location coordinates.
▪ Part Attributes: Detects parts with updated values for the associated attributes including classification attributes. The attributes must be defined in the standard MPMLink carryover framework. Out of the box, the Part Attributes criterion detects changes for the Source and Assembly Mode attributes.
▪ Quantity: Detects parts with updated quantity values.
▪ Removed Parts: Detects parts that were removed.
▪ Replaced Parts: Detects parts that were replaced with new parts, existing parts, alternate or substitute parts, and peer equivalent parts.
▪ Usage Attributes: Detects parts with updated values for usage attributes that are defined in the standard MPMLink carryover framework. Out of the box, the Usage Attributes criterion detects changes for the Find Number attribute. You can customize the criterion to detect the attributes of your choice.
▪ Occurrence Attributes: Detects parts with updated values for occurrence attributes that are defined in the property framework. Out of the box, the Occurrence Attributes criteria does not detect any occurrence attributes for the Bill of Materials.
▪ Usage Expressions: Detects parts with updated expressions assigned to usage links. The supported expressions are basic and advanced. Usage Expressions also detects concatenated expressions. However, independent assigned expressions are not detected.
| Part Attributes, Usage Attributes, and Occurrence Attributes do not support dependent attributes, such as alias, cascaded, and calculated. |
4. Click Search.
The box in the Upstream Changes panel displays the search result of the search task. The table lists the changes detected for the parts in the upstream structure. Each row in the table displays the updated part details and the current and previous values for a change type.
The table also includes the following status for each change:
◦ Resolved: The changes in the upstream structure are already resolved in the downstream structure.
◦ Auto: The changes in the upstream structure can be propagated to the downstream structure using the
action.
◦ Manual: The changes in the upstream structure cannot be propagated using the default logic.
◦ Interactive: The changes in the upstream structure can be propagated by using the default logic and user interaction.
| The Downstream Parent column displays parent part information. The parent part information appears as a path from common equivalent context. The part numbers are separated by a pipe sign. |
5. Select the changes that you want to propagate to the downstream structure, and click
.
| The selection made in the downstream structure does not impact the propagation results. |
| Instead of using the Propagate changes to downstream action, you can use a workflow event to sync the downstream structure with the latest upstream structure. |
6. Click OK to confirm.
The box in the
Resulting Downstream Changes panel displays the result of the propagation task. The table lists the changes that were propagated to the downstream structure. Each row in the table displays the updated part details and the updated and previous values for a particular change type. For more information on the current and previous values, see
Current and Previous Values for Discrepancy Types.
The changes that are successfully propagated to the downstream structure are grayed out in the Upstream Changes table. The changes that were not selected or could not be propagated, continue to appear in the Upstream Changes table.
The following status for each change appears in the Upstream Changes and Resulting Downstream Changes tables:
◦ Resolved: The upstream changes are propagated to the downstream structure.
◦ Failed: The upstream changes cannot be propagated.
| After propagating a change, it is recommended to update the equivalent link for the corresponding parent node in the downstream structure. This ensures that subsequent searches for upstream changes provide relevant information. |
The following actions are available in the Upstream Changes and Resulting Downstream Changes table tool bar.
Icon | Action | Description |
---|
| Clear all | Clears the selected entries. |
| Select all | Selects all the entries listed in the table. |
| Invert selection | Inverses the current selection. Clears current selection and selects the entries that are not selected. |
| Select in structure Select in downstream structure | In the Upstream Changes table, the Select in structure action highlights the parts that are associated with the selected changes in the upstream and downstream structure. In the Resulting Downstream Changes table, the Select in downstream structure action highlights the parts that are associated with the selected changes in the downstream structure. | Click or Clear All Highlighted Rows action on the menu to remove highlights from the selected parts. |
|
| Propagate changes to downstream | Propagates the changes selected in the Upstream Changes table to the Resulting Downstream Changes table. |
| Search | Refines the result based on the keywords specified in the Search box. |
Propagating Effectivity in BOM Transformer
Effectivity settings are propagated from an upstream part to a downstream part when the following conditions are met:
• Effectivity is assigned to an upstream part.
• No effectivity is assigned to the corresponding downstream part.
• The com.ptc.windchill.mpml.copyOver.mapsb.newBranch.create.wt.part.WTPart property is configured in the mpmlink.properties.xconf file, which is located at Windchill\codebase\com\ptc\windchill\mpml\xconfs.
If the above conditions are satisfied, the effectivity values of upstream parts are propagated to corresponding downstream parts when structure transformation actions are executed.
Special Case: Reconciliation for Added Parts as New Part or New Branch
• When you configure the com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart property, the values and settings specified in the following preferences are respected:
◦ > >
◦ > >
◦ > >
| The part types specified in this preference should be also specified in Structure Transformation Applicable Types preference. |
◦ > >
◦ > >
| The part types specified in this preference should be also specified in Structure Transformation Applicable Types preference. |
For example,
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="transformOption=newBranch"/> or <AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.org.rnd.CustomPart" value="transformOption=newPart"/>
• The settings configured in the following preferences as well as for the above mentioned preferences are respected only when the structureOption element is not defined in the com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart property:
◦ > > >
◦ > > >
| • If structureOption=0 in the property or the value of the respective Child Structure Option preference is set to Do not Duplicate, then the system traverses the structure after the propagate action is initiated and follows the regular standard reconciliation process. • If structureOption=1 or structureOption=2, then the system does not traverse the structure. |
Alternatively, you can customize the reconciliation framework to remove the consideration of above-mentioned preferences completely. For more details, refer
Configuring and Customizing Automatic BOM Transformation.