Windchill REST Services > Windchill REST Services Domain Capabilities > PTC Domains > PTC BOM Transformation Domain > Actions Available in the BOM Transformation Domain for Creating or Updating Downstream BOMs > Assemble
  
Assemble
The Assemble action enables you to create one or more alternate assemblies in the downstream view from existing assemblies in the upstream or downstream view.
You can create one or more alternate assemblies by specifying a single or multiple parent parts using the inline or specific upstream and downstream navigation criteria.
You can also create the downstream assemblies in the context of change (change task or change notice).
See the About Assemble Action in BOM Transformer topic in the Windchill Help Center, for more information.
The attributes in the request payload of the Assemble action are described in the following table:
Request Attribute
Description
Required
SourceRoot
Attribute in the DiscrepancyContext entity type to specify the root part of the upstream or downstream structure.
Yes
SourcePartSelection
Attribute in the DiscrepancyContext entity type to specify the parent parts of assemblies for which you want to create one or more alternate assemblies in the downstream.
Alternatively, you can specify the paths of the parent parts.
* 
SourcePartSelection is a collection for specifying a single or multiple parent parts or their paths from an upstream or a downstream structure.
Yes
UpstreamNavigationCriteria
Attribute in the DiscrepancyContext entity type to specify the navigation criteria applied in the upstream.
Yes
DownstreamNavigationCriteria
Attribute in the DiscrepancyContext entity type to specify the navigation criteria applied in the downstream.
Yes
TargetRoot
Attribute in the DiscrepancyContext entity type to specify the target (downstream) root part.
Yes
TargetPart
Attribute in the DiscrepancyContext entity type to specify the part in the target (downstream) structure.
* 
You can specify only one target (downstream) part which gets used as parent part for the new alternate assemblies.
Yes
UpstreamParentPart
Attribute in the NewObjectIdentifications collection to specify the parent part of an assembly in the upstream for which you want to create alternate assemblies in the downstream.
Yes
ChildExistingEquivalenceAssociations
Array type attribute in the NewObjectIdentifications collection to specify the OID of the equivalent link between the upstream child part and its existing downstream object.
You can also specify ChildExistingEquivalenceAssociations when you want to create an alternate assembly under an existing downstream object.
* 
*ChildExistingEquivalenceAssociations is a required attribute when the transformation type is specified as ADD_SAME.
Yes*
ChildPath
Array type attribute in the NewObjectIdentifications collection to specify the path ID of the child part under the specified upstream parent part.
Yes
TransformationType
Enum type attribute in the NewObjectIdentifications collection to specify the type of transformation that you intend to perform for the child parts during the Assemble action.
TransformationType is specified to create an alternate assembly under a new part in the downstream.
* 
TransformationType is not applicable when you want to create an alternate assembly under the existing downstream object of a child part.
TransformationType supports following Enum values: ADD_SAME, NEW_BRANCH, NEW_PART, NEW_PART_PER_ASSEMBLY.
* 
See the EDM of the domain available at the metadata URL Windchill/servlet/odata/BomTransformation/$metadata, for details.
Yes
NewAlternates
Array type attribute to specify the required attributes such as Name, Number (required when auto-numbering is disabled), and View and optional attributes such as Location, BOM Type, and Alternate BOM Type for creating a single or multiple alternate assemblies.
Yes
ChangeOid
Attribute to specify the change task or change notice.
Optional
The request creates a single or multiple alternate assemblies in the downstream view for the specified parent parts of the assemblies in the upstream or downstream structure. The request returns information for the equivalent links between the alternate downstream assembly and the specified upstream parent part. The request also returns the usage link between the parent part of the alternate assembly and the specified target (downstream) part.
POST Windchill/servlet/odata/BomTransformation/Assemble
For example, the response to the request URI is as follows:
{
"@odata.context": "$metadata#ExistingDownstreamAssociations",
"value": [
{
"UpstreamPartId": "OR:wt.part.WTPart:481689",
"DownstreamPartId": "OR:wt.part.WTPart:481807",
"EquivalenceLinkId": "OR:wt.associativity.EquivalenceLink:481816",
"UsageLinkId": "OR:wt.part.WTPartUsageLink:481817"
},
{
"UpstreamPartId": "OR:wt.part.WTPart:481689",
"DownstreamPartId": "OR:wt.part.WTPart:481834",
"EquivalenceLinkId": "OR:wt.associativity.EquivalenceLink:481843",
"UsageLinkId": "OR:wt.part.WTPartUsageLink:481844"
}
],
"@PTC.AppliedContainerContext.LocalTimeZone": "Europe/Warsaw"
}