...
The XML file structure for multi-level BOM files looks like this:
<?xml version="1.0" encoding="utf-8"?>
<Assemblies>
<Assembly>
<Customer/>
<Name/>
<Revision/>
<Configurable/>
<BOMItems>
<BOMItem>
<AML>
… ...
</AML>
<AltIPN>
… ...
</AltIPN>
<Assembly>
…...
</Assembly>
<ConfigurationOption/>
<ConsolidatedReferences/>
<CustomerPartNumber/>
<CustomFields>
…...
</CustomFields>
<Description/>
<InternalPartNumber/>
<IsSubAssembly/>
<ItemNumber/>
<Manufacturer/>
<OptionCode/>
<Package/>
<PartLabel/>
<PartRevision/>
<PartType/>
<Polarized/>
<Quantity/>
<Reference/>
<ResourceTypes>
… ...
</ResourceTypes>
<RevisionMode/>
<Socket/>
<SubAssemblyType/>
<UnitOfIssue/>
</BOMItem>
</BOMItems>
</Assembly>
</Assemblies>
Multi-level BOM example
Consider an XML file with a parent assembly named Parent Rev P1.
...
In the following illustration, the phantom assembly is highlighted in red. Note the grouping of the BOM line items in the phantom assembly are not indented but can include a level or parent indicator. In this example, the phantom assembly consists of 4 part numbers: 45999-5, 4589632-89-88, 45999-96, and 45263).
Multi-level BOM behavior
...
When a BOM is flattened, the information contained in the sub-assembly indentation is lost. Consider the following example:
| |
When flattened, the information that helps identify which assembly a BOM line item relates to is lost, making it impossible to determine (in this example) which assembly or sub-assembly part J belongs to. | |
A new column encodes this information in the flattened BOM—the new column value (shown in the illustration on the left) identifies the line item number of the BOM line item's immediate parent. |
...
| |
| |
| |
| |
|
Consider an example BOM:
If all of the inline and phantom sub-assembly BOMs are published, the flattened BOM for the parent Assembly A will look like this: | |
If the BOM of inline Sub-assembly B is unpublished, the flattened BOM for the parent Assembly A will look like this: Note |
...