Creating Trace Links Using a Loader
This section describes how to create trace links of a specified type between Windchill traceable objects and remote resources using the Windchill loader.
Create Trace Links Using the Load File
1. Create an XML load file as shown in this
example.
|
|
• Windchill traceable objects must be checked in before loading the XML file.
• The system does not validate remote resource URIs. Verify that URI values are correct.
|
2. Execute the load file from a Windchill shell using the following command:
windchill wt.load.LoadFromFile -d Load File Location -u username -p password
|
|
Check the Method server log for any issues encountered during the trace link creation.
|
Load File Attributes
The following attributes are used in the XML data file:
|
Attribute
|
Description
|
Mandatory or Optional
|
|
csvTraceLinkType
|
Type of trace link
|
Mandatory
|
|
csvTraceLinkRoleAType
|
Type of Windchill traceable object such as parts, documents, options, choices, resources, and standard control characteristics
|
Mandatory
|
|
csvTraceLinkRoleAObjectNumber
|
Number of the Windchill traceable object
|
Mandatory
|
|
csvTraceLinkRoleBShape
|
Type of the remote resource
|
Mandatory
|
|
csvTraceLinkRoleBURI
|
URI of the remote resource
|
Mandatory
|
|
csvTraceLinkLastModifiedTimeStamp
|
Last‑modified timestamp of the remote resource in epoch milliseconds
|
Mandatory
|
|
|
In addition to the mandatory attributes listed in the table above, certain attributes are specific to Windchill traceable object type. For more information, refer to the example below.
|
Example of an XML Load File
|
|
You can create both object-to-object and version-to-version trace links using an XML load file:
• For object-to-object trace links, set the csvCreateTraceLink handler to wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink.
• For version-to-version trace links, set the csvCreateTraceLink handler to wt.trace.load.LoadTraceLink.createVersionToVersionTraceLink.
|
Refer to the following example for creating object-to-object trace links between a remote URI and parts, documents, options, choices, resources, and standard control characteristics:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE NmLoader SYSTEM "standard13_1.dtd">
<NmLoader>
<!-- O2O LINKS -->
<!-- Part -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>wt.part.WTPart</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>0000000001</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVersion>A</csvTraceLinkRoleAObjectVersion>
<!-- Optional -->
<csvTraceLinkRoleAObjectIteration/>
<!-- Optional -->
<csvTraceLinkRoleAObjectView>Design</csvTraceLinkRoleAObjectView>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation1/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation2/>
<!-- Optional -->
<csvTraceLinkRoleAOrgID/>
<!-- Optional -->
<csvTraceLinkRoleAOrgName/>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1006</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1752228120</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
<!-- Option -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>com.ptc.windchill.option.model.Option</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>00021</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName>COLOR</csvTraceLinkRoleAObjectName>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1006</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1752228120</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
<!-- Choice -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>com.ptc.windchill.option.model.Choice</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>00021</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName>RED</csvTraceLinkRoleAObjectName>
<!-- Optional -->
<csvTraceLinkRoleAOptionNumberForChoice>00021</csvTraceLinkRoleAOptionNumberForChoice>
<!-- Optional -->
<csvTraceLinkRoleAOptionNameForChoice>COLOR</csvTraceLinkRoleAOptionNameForChoice>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1006</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1752228120</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
<!-- Document -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>wt.doc.WTDocument</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>001</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectVersion/>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1004</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1753263533000</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
<!-- MPMResource -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>com.ptc.windchill.mpml.resource.MPMResource</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>0000000101</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVersion/>
<!-- Optional -->
<csvTraceLinkRoleAObjectIteration/>
<!-- Optional -->
<csvTraceLinkRoleAObjectView>Design</csvTraceLinkRoleAObjectView>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation1/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation2/>
<!-- Optional -->
<csvTraceLinkRoleAOrgID/>
<!-- Optional -->
<csvTraceLinkRoleAOrgName/>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1000</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1753263533000</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
<!-- StandardCC -->
<csvCreateTraceLink handler="wt.trace.load.LoadTraceLink.createObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>com.ptc.windchill.mpml.pmi.MPMStandardCC</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>0000000001</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVersion/>
<!-- Optional -->
<csvTraceLinkRoleAObjectIteration/>
<!-- Optional -->
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest06-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1000</csvTraceLinkRoleBURI>
<csvTraceLinkLastModifiedTimeStamp>1753263533000</csvTraceLinkLastModifiedTimeStamp>
</csvCreateTraceLink>
</NmLoader>
Refer to the following example for creating object-to-object trace links between parts and multiple remote URIs in a single iteration:
<NmLoader>
<!-- O2O tracelinks -->
<csvBeginCreateTraceLink handler="wt.trace.load.LoadTraceLink.beginCreateObjectToObjectTraceLink">
<csvTraceLinkType>com.ptc.requirement.trace.links.SatisfyTraceLink</csvTraceLinkType>
<csvTraceLinkRoleAType>wt.part.WTPart</csvTraceLinkRoleAType>
<csvTraceLinkRoleAObjectNumber>WCDS000127</csvTraceLinkRoleAObjectNumber>
<csvTraceLinkRoleAObjectName/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVersion>A</csvTraceLinkRoleAObjectVersion>
<!-- Optional -->
<csvTraceLinkRoleAObjectIteration/>
<!-- Optional -->
<csvTraceLinkRoleAObjectView>Design</csvTraceLinkRoleAObjectView>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation1/>
<!-- Optional -->
<csvTraceLinkRoleAObjectVariation2/>
<!-- Optional -->
<csvTraceLinkRoleAOrgID/>
<!-- Optional -->
<csvTraceLinkRoleAOrgName/>
<!-- Optional -->
</csvBeginCreateTraceLink>
<csvAddRoleBToCreateTraceLink handler="wt.trace.load.LoadTraceLink.addRoleBToCreateTraceLink">
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest01-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1008</csvTraceLinkRoleBURI>
</csvAddRoleBToCreateTraceLink>
<csvAddRoleBToCreateTraceLink handler="wt.trace.load.LoadTraceLink.addRoleBToCreateTraceLink">
<csvTraceLinkRoleBShape>com.ptc.requirement.trace.resource.Requirement</csvTraceLinkRoleBShape>
<csvTraceLinkRoleBURI>https://solperftest01-az.ptcnet.ptc.com:8090/api/oslc/projects/3/rm/requirements/1004</csvTraceLinkRoleBURI>
</csvAddRoleBToCreateTraceLink>
<csvEndCreateTraceLink handler="wt.trace.load.LoadTraceLink.endCreateObjectToObjectTraceLink"/>
</NmLoader>