Generating a Downstream Structure from a Downstream Template
You can generate a downstream structure from one or more downstream templates. A downstream template can be any of the following:
Downstream part structure with an associated rules document
Downstream part structure without an associated rules document
Rules document
* 
A rules document specifies the rules to be applied when transferring an upstream structure to the downstream structure.
You can generate a downstream structure from a specified downstream template using the inline or specific upstream and downstream navigation criteria.
You can also generate a downstream structure from the specified downstream template in the context of change (change task or change notice).
Example: Generating a Downstream Structure from a Downstream Part Structure Specified as the Downstream Template
This example shows you how to generate a downstream structure from a downstream part structure specified as the downstream template. In this example, the downstream part structure is associated with a rules document. Use the following POST URI with the request body:
URI
POST Windchill/servlet/odata/BomTransformation/GenerateDownstreamStructureFromTemplate
Request Headers
Content-Type: application/json
CSRF_NONCE: <Use the value from Fetch NONCE example>
Request Body
{
"GDSFromTemplateContext": {
"GDSFromTemplateInfo": [
{
"AlternateBOM": "",
"BOMType": "",
"View": "Manufacturing",
"DownstreamTemplate": "OR:wt.part.WTPart:200037",
"NumberSuffix": "_02"
}
],
"SourceRoot@odata.bind": "Parts('OR:wt.part.WTPart:200869')",
"TargetRoot@odata.bind": "Parts('OR:wt.part.WTPart:203546')",
"UpstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195009')",
"DownstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195013')"
}
}
The request generates a downstream structure from the specified downstream template under the specified downstream root part, along with transferring the upstream structure to the generated downstream structure. The upstream structure is transferred to the generated downstream structure based on the rules specified in the associated rules file. The request creates new equivalence links between the generated downstream BOM and the upstream BOM.
Example: Generating a Downstream Structure from a Rules Document Specified as the Downstream Template
This example shows you how to generate a downstream structure from a rules document specified as the downstream template. Use the following POST URI with the request body:
URI
POST Windchill/servlet/odata/BomTransformation/GenerateDownstreamStructureFromTemplate
Request Headers
Content-Type: application/json
CSRF_NONCE: <Use the value from Fetch NONCE example>
Request Body
{
"GDSFromTemplateContext": {
"GDSFromTemplateInfo": [
{
"AlternateBOM": "",
"BOMType": "",
"View": "Manufacturing",
"DownstreamTemplate": "VR:wt.doc.WTDocument:194989",
"NumberSuffix": ""
}
],
"SourceRoot@odata.bind": "Parts('OR:wt.part.WTPart:197322')",
"TargetPath": "a6c1916d-c610-4d36-acca-ad0251f599e0",
"TargetRoot@odata.bind": "Parts('OR:wt.part.WTPart:197586')",
"UpstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195009')",
"DownstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195013')"
}
}
The request generates a downstream structure from the specified downstream template under the downstream part specified in TargetRoot, along with transferring the upstream parts to the generated downstream structure. The upstream parts are transferred to the generated downstream structure based on the rules specified in the rules file. The request creates new equivalence links between the generated downstream BOM and the upstream BOM.
Example: Generating a Downstream Structure from Multiple Downstream Templates
This example shows you how to generate a downstream structure from two downstream templates specified in the request body. In this example, two downstream part structures are specified as a downstream template each. Both the downstream part structures are associated with a rules document each. Use the following POST URI with the request body:
URI
POST Windchill/servlet/odata/BomTransformation/GenerateDownstreamStructureFromTemplate
Request Headers
Content-Type: application/json
CSRF_NONCE: <Use the value from Fetch NONCE example>
Request Body
{
"ChangeOid": "",
"GDSFromTemplateContext": {
"GDSFromTemplateInfo": [
{
"AlternateBOM": "",
"BOMType": "",
"View": "Manufacturing",
"DownstreamTemplate": "OR:wt.part.WTPart:194968",
"NumberSuffix": ""
},
{
"AlternateBOM": "",
"BOMType": "",
"View": "Manufacturing",
"DownstreamTemplate": "OR:wt.part.WTPart:194968",
"SourcePathSelection": "1012dd39-1030-4306-a522-3aa01969771f",
"NumberSuffix": ""
}
],
"SourceRoot@odata.bind": "Parts('OR:wt.part.WTPart:195565')",
"TargetPath": "a6c1916d-c610-4d36-acca-ad0251f599e0|1158dd39-1170-4906-a598-3aa01969991f",
"TargetRoot@odata.bind": "Parts('OR:wt.part.WTPart:196244')",
"UpstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195009')",
"DownstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195013')"
}
}
The request generates a downstream structure from the specified downstream templates under the downstream part specified in TargetRoot, along with transferring two subassemblies in the specified upstream structure to the generated downstream structure. Each upstream subassembly is transferred to the corresponding subassemblies in the generated downstream structure based on the rules specified in the respective rules file. The request creates new equivalence links between the generated downstream BOM and the upstream BOM.
Example: Generating a Downstream Structure from a Downstream Template in the Context of Change
This example shows you how to generate a downstream structure from the specified downstream template in the context of change. Use the following POST URI with the request body:
URI
POST Windchill/servlet/odata/BomTransformation/GenerateDownstreamStructureFromTemplate
Request Headers
Content-Type: application/json
CSRF_NONCE: <Use the value from Fetch NONCE example>
Request Body
{
"ChangeOid": "VR:wt.change2.WTChangeActivity2:203046",
"GDSFromTemplateContext": {
"GDSFromTemplateInfo": [
{
"AlternateBOM": "",
"BOMType": "",
"View": "Manufacturing",
"DownstreamTemplate": "OR:wt.part.WTPart:200037",
"NumberSuffix": "_02"
}
],
"SourceRoot@odata.bind": "Parts('OR:wt.part.WTPart:200869')",
"TargetRoot@odata.bind": "Parts('OR:wt.part.WTPart:203546')",
"UpstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195009')",
"DownstreamNavigationCriteria@odata.bind": "NavigationCriterias('OR:wt.filter.NavigationCriteria:195013')"
}
}
The request generates a downstream structure from the specified downstream template under the specified downstream root part, along with transferring the upstream structure to the generated downstream structure. The request also adds the downstream root part to the Resulting Objects table of the change object specified in the ChangeOid attribute.
Was this helpful?