Working with Traces
Trace links allow you to track the relationships between an external resource and Windchill traceable object. For example, a trace might describe the relationship between a requirement managed in an external system and a part in Windchill.
Traces help project managers and engineers understand these relationships. Using trace links can improve your understanding of design intent and help you assess the impact of changes.
Types of Trace Links
The types of trace links between a Windchill object and an external item are:
Allocate—Links a high-level remote requirement domain item to a high-level part or assembly. This link indicates that the requirement data at least partially fulfills the obligations of the traced item. For example, early in the design process, link a requirement document to an assembly.
Satisfy—Links a Windchill object to a remote requirement domain item. This link indicates that the object fulfills the traced item. For example, link an assembly component to a finalized requirement document.
Implement—Links a Windchill traceable object to a remote architecture domain item. This link indicates traceable objects that are mechanical, electrical or software design implementation of system design entities. For example, link a part to a remote architecture item or its soft types.
* 
Early in the design process, use the Allocate link to assign an external resource to a high-level part, such as an end item or assembly. Later in the design process, use the Satisfy link to associate an external resource to a specific part within the assembly.
* 
When you add a Satisfy or Implement trace link to an object, a new iteration of the part is created.
About Copy Forward
When a Windchill object is iterated or revised, the following occurs:
Trace links that are added to an object are carried forward.
Allocate links are copy forwarded to all iterations of a revision. For example, if a part is revised from revision A to B, then B carries all the trace links forward.
Satisfy and Implement links are available on the iterations they are added to, and the later iterations and revisions. For example, if a Satisfy or Implement link is added on iteration A.2, then it is available on A.3 onward, but not on A.1. If a Satisfy or Implement link is added on any iteration of revision A, then it is available on revision B.
Similar to copy forward, copy backward works as following:
Allocate links are copied back to all iterations of a revision. For example, if an Allocate link is created on iteration B.2, it is also available on B.1. It is not available on earlier revisions.
Satisfy and Implement links are available on the iterations they are added to and are not available on earlier iterations or revisions. For example, if a Satisfy or Implement link is added on iteration B.2, then it is not available on B.1 and revision A.
Viewing Suspect Status
The Suspect Status column displays a red diamond icon Suspect icon if any trace links associated with the part are marked as suspect. This column can only be added to the part structure browser in the Structure tab of the part information page.
To view the Suspect Status column, follow these steps:
1. On the Structure tab, go to the Views > Manage Structure Views.
2. Create a new view and add the Suspect Status column.
3. Once the view is saved, select it from the Views list.
For more information on custom table views, see Customizing Table Views.
Viewing Traceability Status
The Traceability Status column displays a Traced to external systems Traced to external systems icon if a Windchill traceable object has any associated remote trace link. This column can be added to any JCA table view, such as part structure browser, Advanced Search, and Folder Browser.
To view the Traceability Status column in the part structure browser, follow these steps:
1. On the Structure tab, go to the Views > Manage Structure Views.
2. Create a new view and add the Traceability Status column.
3. Once the view is saved, select it from the Views list.
For more information on custom table views, see Customizing Table Views.
Customizing Traceability Status
The Traceability Status column can be customized to display the Traced to external systems Traced to external systems icon for specific link types, such as Satisfy and Allocate by creating a calculated attribute using the BusinessAlgorithm class.
Use the following API to add custom attributes. The API belongs to TraceabilityStatusHelper class.
public static boolean checkTraceabilityStatus(Traceable traceableObject, String... typeInternalNames)
Sample Code
public class TraceabilityStatusBusinessAlgorithm implements BusinessAlgorithm {

private static final Logger logger = LogR.getLoggerInternal(TraceabilityStatusBusinessAlgorithm.class.getName());

@Override
public Object execute(BusinessAlgorithmContext context, Object[] args) {
boolean isTraceLinkPresent = false;
BusinessObject businessObject = context.getCurrentBusinessObject();

try {
final Traceable traceable = (Traceable) businessObject.getWTReference().getObject();
// Convert to String array
String[] attrStringArray = new String[args.length];
for (int i = 0; i < args.length; i++) {
attrStringArray[i] = (String) args[i];
}
isTraceLinkPresent = TraceabilityStatusHelper.checkTraceabilityStatus(traceable, attrStringArray);
} catch (WTException e) {
logger.error("An error occurred during traceability evaluation: " + e.getMessage());
}
return isTraceLinkPresent;
}

@Override
public Object getSampleValue() {
return false;
}
}
Was this helpful?