Tc BOM Structure Synchronize: FullSynchronization
This example shows how a full synchronization aligns a BOM structure with the incoming document.
The starting example is illustrated below.

UIDs in Teamcenter are as the name says UNIQUE. The UIDs in the example only exist in our Teamcenter system as expected for our example. Same is valid for Adapter ID "_id" since its base is the UID.
By utilizing Tc BOM Structure Get Recursive the existing structure can be read.
[
{
"_id": "TC*ItemRevision*null***JgDAwQe77hAnmD",
"object_string": "052165/A;1-TopNode",
"UID": "JgDAwQe77hAnmD",
"StructureChildren_AnyStatus;Working": [
{
"_id": "TC*ItemRevision*null***J5PAwQe77hAnmD",
"object_string": "052166/A;1-SubNode#1",
"UID": "J5PAwQe77hAnmD",
"_rel": {
"_id": "TC*BOMLine*null***BOM::58865",
"object_string": "052166/A;1-SubNode#1 x 1",
"UID": "BOM::58865",
"_rel_role": "StructureChildren",
"_rel_name": "Any Status; Working"
},
"StructureChildren_AnyStatus;Working": [
]
},
{
"_id": "TC*ItemRevision*null***ZaFAwQe77hAnmD",
"object_string": "052167/A;1-SubNode#2",
"UID": "ZaFAwQe77hAnmD",
"_rel": {
"_id": "TC*BOMLine*null***BOM::58867",
"object_string": "052167/A;1-SubNode#2 x 1",
"UID": "BOM::58867",
"_rel_role": "StructureChildren",
"_rel_name": "Any Status; Working"
},
"StructureChildren_AnyStatus;Working": [
]
},
{
"_id": "TC*ItemRevision*null***pjNAwQe77hAnmD",
"object_string": "052168/A;1-SubNode#3",
"UID": "pjNAwQe77hAnmD",
"_rel": {
"_id": "TC*BOMLine*null***BOM::58869",
"object_string": "052168/A;1-SubNode#3 x 1",
"UID": "BOM::58869",
"_rel_role": "StructureChildren",
"_rel_name": "Any Status; Working"
},
"StructureChildren_AnyStatus;Working": [
]
}
],
"original": {
"_id": "TC*ItemRevision*null***JgDAwQe77hAnmD",
"object_string": "052165/A;1-TopNode",
"UID": "JgDAwQe77hAnmD"
}
}
]The request shall do following:
- Exchange Exchange SubNode#1 with SubNode#4 on Position 10
- Adding SubNode#2_1 as child to SubNode#2
- Remove SubNode#3
[
{
"revisionRule": "Latest Working",
"bomViewType": "view",
"precise": true,
"lineObject": "JgDAwQe77hAnmD",
"config": {
"mode": "FullSynchronization"
},
"children": [
{
"lineObject": "6wAAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
}
},
{
"lineObject": "ZaFAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "20"
},
"children": [
{
"lineObject": "K_NAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
}
}
]
}
]
}
]This will create following changed structure:
[
{
"revisionRule": {
"_id": "TC*RevisionRule*null***QkKAAAA47hAnmD",
"object_string": "Latest Working",
"UID": "QkKAAAA47hAnmD"
},
"bomViewType": "view",
"config": {
"mode": "FullSynchronization"
},
"lineObjectInput": "JgDAwQe77hAnmD",
"lineObject": {
"_id": "TC*ItemRevision*null***JgDAwQe77hAnmD",
"object_string": "052165/A;1-TopNode",
"UID": "JgDAwQe77hAnmD"
},
"bomLine": {
"_id": "TC*BOMLine*null***BOM::58873",
"object_string": "052165/A;1-TopNode",
"UID": "BOM::58873"
},
"children": [
{
"action": "removed",
"bomLine": {
"_id": "TC*BOMLine*null***BOM::58875",
"object_string": "052166/A;1-SubNode#1 x 1",
"UID": "BOM::58875"
}
},
{
"action": "removed",
"bomLine": {
"_id": "TC*BOMLine*null***BOM::58879",
"object_string": "052168/A;1-SubNode#3 x 1",
"UID": "BOM::58879"
}
},
{
"action": "added",
"lineObjectInput": "6wAAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
},
"lineObject": {
"_id": "TC*ItemRevision*null***6wAAwQe77hAnmD",
"object_string": "052169/A;1-SubNode#4",
"UID": "6wAAwQe77hAnmD"
},
"bomLine": {
"_id": "TC*BOMLine*null***BOM::63169",
"object_string": "052169/A;1-SubNode#4",
"UID": "BOM::63169"
}
},
{
"action": "synchronized",
"lineObjectInput": "ZaFAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "20"
},
"lineObject": {
"_id": "TC*ItemRevision*null***ZaFAwQe77hAnmD",
"object_string": "052167/A;1-SubNode#2",
"UID": "ZaFAwQe77hAnmD"
},
"bomLine": {
"_id": "TC*BOMLine*null***BOM::58877",
"object_string": "052167/A;1-SubNode#2 x 1",
"UID": "BOM::58877"
},
"children": [
{
"action": "added",
"lineObjectInput": "K_NAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
},
"lineObject": {
"_id": "TC*ItemRevision*null***K_NAwQe77hAnmD",
"object_string": "052170/A;1-SubNode#2_1",
"UID": "K_NAwQe77hAnmD"
},
"bomLine": {
"_id": "TC*BOMLine*null***BOM::63171",
"object_string": "052170/A;1-SubNode#2_1",
"UID": "BOM::63171"
}
}
]
}
],
"original": {
"revisionRule": "Latest Working",
"bomViewType": "view",
"precise": true,
"lineObject": "JgDAwQe77hAnmD",
"config": {
"mode": "FullSynchronization"
},
"children": [
{
"lineObject": "6wAAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
}
},
{
"lineObject": "ZaFAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "20"
},
"children": [
{
"lineObject": "K_NAwQe77hAnmD",
"lineData": {
"bl_sequence_no": "10"
}
}
]
}
]
}
}
]