...
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 |
BOM lock down
In FactoryLogix a published BOM is locked down when the first process associated with the assembly revision is in Released to Production status. (Without modification, this behavior would allow the BOM of an inline or phantom sub-assembly to be modified after the parent assembly’s BOM was locked down. For a conventional sub-assembly, this is not an issue, but for an inline or phantom sub-assembly this is an issue because a change to an inline or phantom sub-assembly BOM would affect the flattened BOM of the parent assembly.)
...