About product configuration models

Important

This content is archived and is not being updated. For the latest documentation, see Microsoft Dynamics 365 product documentation. For the latest release plans, see Dynamics 365 and Microsoft Power Platform release plans.

Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

Product configuration models are created to represent a generic product structure. When you set up a product configuration model, you can create a distinct product variant that has a unique bill of materials (BOM) and a unique route. Product configuration models are based on constraints and use Microsoft Solver Foundation. You can configure items on sales orders, sales quotations, purchase orders, and production orders.

The following table describes the table constraint-based terms and concepts.

Microsoft Solver Foundation

Product configurator uses Solver Foundation to solve expression constraints and conditions. Solver Foundation is used to find one or more valid solutions, and to eliminate values that are not valid for product configuration models. For more information, see Microsoft Solver Foundation on the MSDN website.

Components

Components are the main building blocks of a product configuration model. Components are displayed in a tree structure in the Constraint-based product configuration model details form. Components can contain the following elements:

  • Attributes

  • Constraints

  • Subcomponents

  • User requirements

  • BOM lines

  • Route operations

Attributes

Attributes describe all the features of the product configuration model. You can use attributes to specify the features that can be selected when a distinct product is configured. Attributes are used in constraints and conditions. When attributes are created and added to a product configuration model, the related attribute types are referenced.

A default value can be set for an attribute. The default value is used in the configuration user interface (UI) when the product configuration model is configured.

You can specify that an attribute is mandatory, read-only, or hidden.

  • Mandatory – A value must be set for the attribute when the product is configured.

  • Read-only – The attribute value is displayed during a configuration session, but it cannot be changed.

  • Hidden – The attribute value is included in constraints and conditions, but is not displayed during a configuration session.

You can also specify a condition for attributes. If the condition is met, a value must be entered for the mandatory attribute. Conditions are expressions that must be met for attributes, BOM lines, and route operations to be included in a product configuration model. Any attribute that is referenced in a condition becomes mandatory. We recommend that you select the attribute as mandatory on the Attributes tab. This can make it easier to identify mandatory attributes.

Attribute values are an important part of reusing configurations. The system uses attribute values to determine whether a configuration exists that matches the selections that a user made during a configuration session. For more information, see About reusing configurations.

Attribute types

Attribute types specify the set of data types for attributes that are used in a product configuration model.

The following attribute types are used:

  • Integer – Integers that have a range.

  • Decimal

  • Text – Texts that have a fixed list.

  • Boolean

If the attribute type is Boolean, Integer, or Text, the set of values is available when a product configuration model is set up.

Note

Solver Foundation recognizes only the following attribute types: Booleans, texts that have a fixed list, and integers that have a range. Therefore, only these attribute types can be used in expression constraints and conditions.

You can also use the Attribute types form to define attribute types for products and catalogs.

Constraints

Constraints describe the restrictions of the product model configuration. Constraints are used to guarantee that only valid values are selected when the product configuration model is set up.

Constraints can be either expression constraints or table constraints:

  • Expression constraints can be used only for the component that they are tied to. The expression constraints for a component can reference attributes of the component's subcomponents. Solver Foundation is used to solve the constraints, and you must use the syntax of Solver Foundation when you write the constraints. For more information, see Microsoft Solver Foundation.

  • Table constraints can be either user defined or system defined.

    A user-defined table constraint is a type of matrix that can be used to describe the set of combinations for the attribute values that are defined by attribute types. For example, if televisions are produced, the matrix for the user-defined table constraint might have columns for the television size and type.

Example

Televisions of the Plasma type are available only in sizes 42 or 50. Televisions of the Projection type are available only in sizes 50 or 60. The following table shows the information that is displayed on the Allowed combinations tab in the Edit table constraint form.

Television type

Television size

Plasma

42

Plasma

50

Projection

50

Projection

60

A system-defined table constraint represents a mapping between an attribute and a field in a Microsoft Dynamics AX table. A system-defined table constraint dynamically links the attribute to the field. By using the link, the product configuration model reflects the data in the Microsoft Dynamics AX table.

Subcomponents

Subcomponents reflect the tree structure of the product configuration model. You can use subcomponents to build the structure of the product configuration model. Subcomponents reference existing components. Therefore, using subcomponents encourages the reuse of components in multiple product configuration models. In the BOM line details form for a subcomponent, you can select a distinct value for the subcomponent. Alternatively, you can select an attribute for which the value is selected when the product configuration model is set up.

To include a product as a component or subcomponent, you must specify the following in the Create product form when you create the product:

  • In the Product type field, select Item.

  • In the Product subtype field, select Product master.

  • In the Configuration technology field, select Constraint-based configuration.

You can view whether a released product can be used as a component or subcomponent on the General tab of the Released product details form. If Constraint-based configuration is selected in the Configuration technology field, the product can be used as a component or subcomponent.

You can hide subcomponents so that they are not displayed to the user during a configuration session. Attributes, subcomponents, and user requirements that are related to the subcomponent are also hidden.

User requirements

User requirements represent an abstraction between user requirements and specific components and attributes. You cannot map a user requirement to an item. For example, a customer is shopping for a home theater system. The sales representative might ask about the size of the room where the customer plans to install the system, to determine how many watts are required. In this example, the room size can be a user requirement that helps determine the appropriate attribute value for a specific component.

You can hide user requirements so that they are not displayed to the user during a configuration session. Attributes, subcomponents, and user requirements that are related to the user requirement are also hidden. You can write a condition to control whether a user requirement can be hidden. You must write the condition using Optimization Modeling Language (OML) syntax.

BOM lines

BOM lines represent the individual materials of the components in the product configuration model. In the BOM line details form, all items are available for selection. A condition can be added to the BOM line so that the BOM lines that are selected for a distinct product variant can vary, based on the user's selection when the product configuration model is set up. Conditions are expressions that must be met for attributes, BOM lines, and route operations to be included in a product configuration model. In the BOM line details form, you can select a distinct value. Alternatively, you can map to an attribute for which the value is selected when the product configuration model is set up.

Route operations

In the Route operation details form, you can select a distinct value. Alternatively, you can map to an attribute for which the value is selected when the product configuration model is set up. Conditions are written like expression constraints. Conditions are expressions that must be met for attributes, BOM lines, and route operations to be included in a product configuration model.

See also

Constraint-based product configuration model details (form)