SplitAssemble
The SplitAssemble action enables you to create one or more split assemblies in the downstream view from existing assemblies in the upstream or downstream view.
You can create one or more split assemblies by specifying a single or multiple parent parts using inline or specific upstream and downstream navigation criteria.
You can also create the split assemblies in downstream view in the context of change (change task or change notice).
* 
This action is also used to resolve the Interactive discrepancies.
See the About New Split Assemblies Actions in BOM Transformer topic in the Windchill Help Center, for more information.
The attributes in the request payload of the SplitAssemble 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 split assemblies in the downstream.
Alternatively, you can specify the paths of the parent parts.
* 
SourcePartSelection is a collection for specifying either 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.
Alternatively, you can specify the path of the part, that is, TargetPath in the target (downstream) structure.
* 
You can specify only one target (downstream) part or path which gets used as the parent part for the new split assemblies.
Yes
TargetPath
Attribute in the DiscrepancyContext entity type to specify the path of the specified target (downstream) part.
* 
TargetPath is a required attribute when you specify the target (downstream) part same as the target root part.
If you specify the target (downstream) part same as the target root part, then the value of TargetPath is specified as either ( / ) or null.
Optional
UpstreamParentPart
Attribute in the NewObjectIdentifications collection to specify the parent part of an assembly in the upstream for which you want to create one or more split 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 a split assembly under an existing downstream object.
* 
*ChildExistingEquivalenceAssociations is a required attribute when the transformation type is specified as ADD_SAME.
Yes*
ChildPath
Array type of attribute in the NewObjectIdentifications collection to specify the path ID of the child part under the specified upstream parent part.
The attribute value combines the part ID and the path ID of the child 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 SplitAssemble action. TransformationType is specified to create a split assembly under a new part in the downstream.
* 
TransformationType is a not applicable when you want to create a split assembly under the existing downstream object of a child part.
TransformationType supports following Enum values: ADD_SAME, NEW_BRANCH, NEW_PART.
* 
See the EDM of the domain available at the metadata URL Windchill/servlet/odata/BomTransformation/$metadata, for details.
Yes
NewSplitAlternates
Array type attribute to specify the required attributes such as Name, Number (required when auto-numbering is disabled), and View, optional attributes such as Location, BOM Type, and Alternate BOM Type, and the array type of attribute SplitInfos for creating a single or multiple split assemblies.
SplitInfos is used to specify the following attributes along with the @odata.type attribute:
Link–To specify either the WTPartUsageLink (usage link) ID or the PartUsesOccurrence (occurrence link) ID for a child part. The link ID should correspond to the child part for which its path is specified in ChildPath.
Child–To specify the OID of the child part
that you want to add in the new split assembly. The part ID should correspond to the child part for which its path is specified in ChildPath
Quantity–To specify the quantity for the specified child part that you want to add in the new split assembly.
* 
The @odata.type attribute is specified as #PTC.BomTransformation.UsageSplit for creating split assemblies in the default usage mode.
The @odata.type attribute is specified as #PTC.BomTransformation.OccurenceSplit for creating split assemblies when occurrence mode is enabled.
Yes
ID
Attribute in NewSplitAlternates to specify the ID of the split assembly part when you want to resolve the Interactive discrepancies.
* 
ID is a required attribute which is specified only when you want to resolve the Interactive discrepancies using this action.
Optional
ChangeOid
Attribute to specify the change task or change notice.
Optional
The request creates a single or multiple split assemblies in the downstream view for the specified parent parts of the upstream or downstream assemblies. The request also returns information about the equivalent links created between the parent parts of the new split assemblies and the specified upstream parent parts. The request also returns the usage link between each new split assembly and the specified target (downstream) part.
POST Windchill/servlet/odata/BomTransformation/SplitAssemble
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"
}