For the complete documentation index, see llms.txt. This page is also available as Markdown.

Nested and Optional Lines

Sets inside sets, and how optional lines are handled.

Nested sets

A set line can itself be a set. DATANORM expresses that through the component set number: when it is filled, the line points not at a single article but at another set.

The app resolves the reference to the item of the subordinate set and adds it as a component to the BOM. The result is a multi-level structure:

Complete shower set
├── Shower tray
├── Waste fitting
└── Mounting set  (subordinate set)
    ├── Support frame
    └── Fixing material

Business Central resolves multi-level assembly BOMs on its own during assembly. The supplier's structure is therefore preserved rather than flattened into a single list.

Prerequisite

For a nested set to be resolved, the item of the subordinate set must exist. When it comes in the same delivery, synchronising article staging completely before building the part lists is enough.

If the item is missing, the line is skipped and logged. Add it and run Build Part Lists again.

Protection against circular references

If a set references itself directly or indirectly, resolving it would produce an infinitely deep BOM. The app detects this and skips the affected set with a message instead of running into an endless resolution.

Optional lines

The calling flag of a set line states whether it is a fixed part of the set or selected by the user.

Calling flag
Meaning
Behaviour of the app

1, 3

inserted automatically

always taken as a component

2, 4

optional line

only with Include Optional Set Lines enabled

Which setting fits?

Situation
Recommendation

The set should reflect the standard scope of supply.

Include Optional Set Lines off. The BOM then contains only what is always included.

You want to see every possible line and remove some on the order.

Include Optional Set Lines on, and adjust the BOM on the order.

You need real variant configuration.

Not part of the app. Model the variants as items and BOMs of your own, see Limitations.

Quantity 0

Optional lines often have a quantity of 0 because the user decides the amount. A BOM line however needs a positive quantity, so the app uses 1. Adjust the quantity in the BOM or on the assembly order.

Last updated