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>
Isto foi útil?