Resolving a BOM generates a tree structure with CX_ALLOCATION_TXN objects. This object hierarchy also defines at first the Disposition Parts Use; this can be overwritten by additional indications.
For a more detailed description of different component types, please click here.

Further technical descriptions about disposition components:
Printing Production Documents:
Printing production documents, all subTransactions of the
single BOM predecessors are collected first and required BOMs are put into a
collection.
Then, for each BOM predecessor the collection pre.transactionsLink gets checked,
whether a slot post.transactionsLink is available or not:
If yes (loose piece) it is checked, whether the BOM predecessor is the same, whereas the item gets printed, only if the predecessors are identical.
If not, it is assumed that it is a pure disposition component, which needs to be printed in any case.
Resolving a BOM
Resolving the disposition component, at first a BOM item gets generated for this pure disposition component, then all its items in vector reAllocations and the component itself,
Beim Auflösen der dispositiven Baugruppe wird erstmal eine
Stücklistenposition für diese rein dispositive Baugruppe angelegt, dann all ihre
Positionen in den Vector reAllocations und die Baugruppe selbst dann ebenso oft
dem Vector reAllocators hinzugefügt. ie Sub-items are NOT YET resolved.
Resolving the BOM further on, each generated BOM item gets checked, whether the
vector reAllocations contains its allocation or conditioned item for the
resolved BOM item. If yes, it is attached via macro ReAllocateTxn to the added
disposition component (contained in reAllocators with the same index) via post.transactionLink -
pre.transactionsLink.
The pure disposition component is attached to its parent item via connection transaction. It is not contained in its subTransaction collection though - it can only be accessed via pre.transactionsLink. This is why the view of the "normal" BOM doesn't change - the pure disposition BOM is not visible here.
This means: a transaction that has for example been found in the fifth place in vector reAllocations (reAllocations[5]) needs to be attached to the transaction at exactly the same location in vector reAllocators (reAllocators[5]) (via pre.transactionsLink, post.transactionLink).
Defining an Engineering BOM in Master Data:
Two attibutes are required to mark a master BOM item as an engineering component:
in the BOM item of the parent BOM which contains thies engineering component (checkmark on item) and
once in the BOM of the product part which later displays the engineering component by itself.