The modeling tree is the configuration program. It is constructed from various nodes of different types.

Node types

The following principal node types are available:



Used to include X++ code in a product model.

Used to inquire whether a certain condition is met. If it is, the operations described under the subnodes attached to the will be performed.

Used to inquire whether the value of a specific variable (the switch value) is equal to one of several possible outcomes.

The outcomes (the case values) tested for are defined as a set of case subnodes.

If the switch value is equal to the case value, the subnodes of the are executed.

You can also specify what should occur if no case value is equal to the switch value.

Used for repeating the same operation (the functionality defined in its subnodes) many times.

Inserts a BOM line into the bill of materials that is being configured by the product model.

Inserts a route operation into the route that is being configured by the product model.

When a default route has been added to the product model, this function automatically inserts all the default route's route nodes.

Can be used to insert either a default route, a bill of materials, or a route.

Used to obtain values from one or more fields in a table.

Used for simple calculations.

Message ( , , )

Inserts an information message, a warning, or an error message.


Several, but not all, of these principal node types can have subnodes attached to them:

  • Under the and , you can attach a node that contains a document reference.

  • Both of the node types that are used to make decisions in the modeling tree— and —have special subnodes that can start new branches in the modeling tree. Each branch represents one of the choices you can program the product model to make, based on values that the user selects for its modeling variables.

  • Under such branch nodes, and also under the , you can attach nodes to each principal type, as listed in the Node typestable.