NewDownstreamAlternate
The NewDownstreamAlternate action enables you to specify an existing downstream iteration and create a new iteration at the downstream branch. You can create the new downstream alternate only within the same view and BOM type as that of the existing downstream iteration. You can specify a single or multiple existing downstream iterations to create new iterations in the downstream structure. You can create a new iteration using inline or specific upstream and downstream navigation criteria.
You can also create the new downstream alternate in the context of change (change task or change notice).
See the Creating Alternate BOMs topic in the Windchill Help Center, for more information.
The attributes in the request payload of the NewDownstreamAlternate action are described in the following table:
Request Attribute
Description
Required
SourcePart
Attribute in the TransformationDefinitions collection to specify the OID of the existing downstream iteration for which you want to create a new iteration at the downstream branch.
Yes
TransformationOption
Attribute in the TransformationDefinitions collection to specify the child structure option such as Do not duplicate or Duplicate without propagating for the transformation.
Yes
AlternateBOM
Attribute in the TransformationEntity entity type to specify an alternate BOM for the transformation.
 
Since the action allows you to create alternates only within the same view and BOM type, the attributes View and BOMType are not applicable.
Yes
Context
Attribute in the TransformationEntity entity type to specify the context in which you want to create the new downstream iteration.
Yes
Folder
Attribute in the TransformationEntity entity type to specify the location at which you want to create the new downstream iteration.
 
When not specified, the new downstream iteration is created at one of the following locations:
Default location. This location is the same as that of the specified upstream part.
The location set in the Associativity > Downstream Creation > Location preference in Windchill.
Optional
DownstreamNavigationCriteria
Inline or specific navigation criteria applied in the downstream.
* 
PTC recommends that you specify the navigation criteria when you perform this action.
If not specified, the System Default filter is applied.
Optional
UpstreamNavigationCriteria
Inline or specific navigation criteria applied in the upstream.
* 
PTC recommends that you specify the navigation criteria when you perform this action.
If not specified, the System Default filter is applied.
Optional
ChangeOid
Attribute to specify the change task or change notice.
Optional
The request creates a new iteration at the downstream branch from the specified existing downstream iteration. The request retains the equivalence between the specified existing downstream iteration and its upstream equivalent iteration. The same equivalence persists between the new downstream iteration and the upstream iteration. The request also returns information for the equivalence link.
If child parts exist for the specified existing downstream iteration, the request retains the equivalence link between each child part in the existing downstream iteration and in the upstream equivalent iteration. The request retains the equivalent links between the downstream and upstream equivalent child parts according to the specified child structure option.
POST Windchill/servlet/odata/BomTransformation/NewDownstreamAlternate
For example, the response to the request URI is as follows:
{
"@odata.context": "$metadata#ExistingDownstreamAssociations",
"value": [
{
"ID": "OR:wt.associativity.EquivalenceLink:213440",
"UpstreamPartId": "OR:wt.part.WTPart:213274",
"DownstreamPartId": "OR:wt.part.WTPart:213408",
"EquivalenceLinkId": "OR:wt.associativity.EquivalenceLink:213440",
"IsEquivalenceLinkOutdated": false
}
],
"@PTC.AppliedContainerContext.LocalTimeZone": "Europe/Warsaw"
}
The attributes in the response for the NewDownstreamAlternate action are described in detail in the following table:
Response Attribute
Description
ID
Attribute in a collection that returns the ID of the equivalence link between the new downstream iteration and the existing upstream equivalent part.
UpstreamPartId
Attribute in a collection that returns the ID of the upstream part equivalent to the specified existing downstream iteration.
 
If child parts exist for the specified upstream part, the attribute also returns the ID of each upstream child part.
DownstreamPartId
Attribute in a collection that returns the ID of the new downstream iteration.
EquivalenceLinkId
Attribute in a collection that returns the ID of the equivalence link between the new downstream iteration and the existing upstream equivalent part.
IsEquivalenceLinkOutdated
Attribute in a collection that indicates whether the equivalence link between the new downstream iteration and the upstream equivalent part is outdated or not.