Understanding the default configuration concept for constraint-based products

Introduction

The default configuration concept enables users to start the product configuration process when the main product master data are available within a legal entity. You can learn more of the details of this concept in this post.

The default configuration concept

You must use the configuration technology Constraint-based when you configure product masters and the product masters must be configured with only one active product dimension, the Configuration dimension. We refer to the products masters as constraint-based products throughout this post.

To create a constraint-based product you must specify a valid product dimensions group which complies with this requirement.

image

Figure 1 Error message when the wrong dimension group is selected

You use the Configuration dimension to capture the final product configuration of a certain product model. The product model is represented in the system as a new product variant with a specific configuration dimension value. This is how Dynamics AX distinguishes between different results of the final product configuration. This allows you to complete a lot of tasks, such as:

  • Record and view on-hand inventory for individual configurations.
  • Run master planning against specific customer requirements (and across different legal entities).
  • Reuse existing product definitions in order to create products that are identical to existing products. You can also apply existing product definitions across legal entities.

Once you have released a constraint-based product to a legal entity, you can kick off a product configuration process from the following source document lines:

  • Sales order line
  • Sales quotation line
  • Project order line
  • Production order line
  • Purchase order line

The product dimension Configuration must have a value before you can start the product configuration process for a selected constraint-based product on an order line. Also, all active product dimensions must be specified before you can save an order line. These requirements are based on a series of technical solutions which are consistent with the experience that many users have from the Product Builder functionality.

Note – This is always the case for stocked products .For non-stocked products, you can specify a product category instead of defining the particular SKU.

The default product configuration concept is dedicated to solve the above described issue. It enables end users to proceed with the product configuration as soon as the product has been released to the legal entity.

clip_image003

Figure 2 The Default configuration is just there, after the product release

When a constraint-based product is released to a legal entity, the system automatically creates and releases a default product variant with the configuration value Default. The Default parameter is derived from the Default configuration ID field on the Constraint-Based product configuration models tab in the Product information management parameters form. This form is located under Product information management > Setup. The Default configuration ID value is set automatically during system installation. It references the SYS Label @SYS331038, but you can always change the value.

clip_image004

Figure 3 Product Parameters form

The process to create and release the default product variant is completely transparent and once the Default configuration ID parameter is set, no further action is required. If the product is released to multiple legal entities, the same default product variant will automatically be released to all of those legal entities.

Once the default product variant is released to the legal entity, the system will also update the default product variant fields on the released product. The default configuration dimension value is provided when you enter the item number on the order line. Any end user can change this setup in order to, for example, always have a basic configuration of a specific product suggested on all order lines

clip_image005

Figure 4 The default product variant dimensions are set to match the Default Configuration ID

Summary

The default configuration concept makes it possible to start the product configuration process at the point where the main product master data are available within a given legal entity. In order words, it facilitates the first step in the overall process of configuring an order line and it goes without saying that the first step is a prerequisite to move on in the process. Thanks for reading.

Product configurator, new expression editor

In Cumulative Update 6 for Dynamics AX 2012 R2 we have included a new expression editor for
the Product configurator. You can use the editor to create expression Constraints,
Conditions and Calculations. (Calculations is a new concept, which was
introduced in Cumulative Update 6, and was described in a previous post in this
blog).

The screenshot below shows the expression editor as it will appear when you click
the drop down for the expression column for a new Constraint or a new Condition.

 Constraint expression editor 

The editor has a text field, in which you can type an expression, and a tabular list
section in the lower part of the form. The tabs in the list represents the
elements or symbols you can include in an expression Constraint. They are:

  • Attributes
  • Operators
  • Values (attribute values)

The All symbols tab displays all entries from the three other tabs (a combined list).
The items that appear in the list are filtered depending on the user input in
the Expression field. In the example below, the user has started writing an Implies constraint (“im”). The only two
matches are the Implies and the Times operators, and thus they
are the only symbols remaining in the list.
 

You can add operators, attributes or values to an expression by typing, or by selecting an
element in the list with the mouse (double-click, press the Enter key or use
the Insert symbol action in the list action pane to insert the symbol). You can also
press Alt + Arrow down to set focus on the grid, then use arrow keys to move in
the lists and then press Alt + I to insert symbols from the grid. If you move
the cursor in the expression field, you can press F5 to refresh the lists in
the symbol grid.

The editor attempts to validate the syntax as you build an expression. If you type in an
unknown text and hit the space bar, an error is displayed. Below is an example
where the user typed in “XYZ”.

You can also use the Validate action to validate the syntax at any point.

 Calculation expression editor

When the expression editor is used for Calculations, there are more operators available and you can
include attributes of any type except free text. The screenshot shows the available
operators if you type “s” in the Expression field.

Whitepaper "Lean manufacturing – Capable to promise and Kanban job scheduling" for CU6 now available for download

With Microsoft Dynamics AX 2012, two new concepts were introduced for lean manufacturing:

  • Event kanbans,  which support build-to-order and assemble-to-order scenarios, and also – in combination with the product configurator – configure-to-order scenarios.
  • Capable to promise (CTP), a new delivery date control method that can be used to calculate the expected delivery date at the time of order entry, based on an update of  the dynamic master plan.

 

In the recently released cumulative update 6 for Microsoft Dynamics AX 2012 R2 these concepts have now been combined to work together.

 

The white paper starts by explaining the fundamental mechanics of kanban job scheduling for simple and complex production flow configurations. It then introduces the concept of capable to promise in general (lean and non lean applications), and explains how CTP interacts with planned and actual kanban jobs. Finally, it explains how CTP can be combined with event kanbans, and what changes are introduced in cumulative update 6 for Microsoft Dynamics AX 2012 R2 to provide better support for build-to-order and assemble-to-order scenarios with CTP.

 

You can download the whitepaper from these locations (requires registered Microsoft account):

 

Download URLCustomersource – Partnersource

Product configurator, new Calculations concept

In cumulative update 6 for Dynamics AX 2012 R2 we are introducing a new concept
called Calculations in the Constraint-based product configuration models.
Calculations have many similarities with constraints in the way they are
created and maintained, but constraints are focused on limiting the number of
possible combinations and Calculations to enable mathematical expressions. One other
important difference between Constraints and Calculations is that Calculations
can work with decimal numbers. So for instance if the cable length for a home
theater system is decided by the room size it could be expressed as in the
screenshot example below.

If[ RoomSize / 1.33 > 7.5, 3.33, 6.66]

 The image below shows how Calculations are defined for a product configuration model.

A Calculation, much like other product configuration model concepts, has a name
and a description to allow you to state the purpose of the Calculation.

Calculation expressions are uni-directional and the Target attribute receives the value
from the expression. The attributes can not be of type free text.

(It is possible to use a Text with a fixed list, also known as an Enumeration, but for a Target attribute of this type the return vale has to be the Integer order of the text value in the text list)

An attribute can both be used as a target attribute and
in expressions for other target attributes. The order of the calculations will
be determined accordingly.

The Calculation expression holds the logical or mathematical expression that
represents the Calculation. The expression syntax is similar to the syntax
available for expression constraints, but a wider range of operators are
available, such as the If operator shown in the example above. Also, both
decimal numbers and unbound integers can be used both as Target attributes and
in the Calculation expression. You can type the calculation expression yourself,
or build it using the new expression editor (Screenshot below). This is also a
new capability in CU6, and I will give a more detailed introduction in my next
post.

This enhancement makes it possible to manipulate decimal numbers at run-time during
configuration; you no longer need to express this type of operation through the
dedicated application programming interface represented by the PCAdaptor class.

In the screenshot above, the Target attribute is of type decimal number and it can be
used as a property on a bill of material (BOM) line or a route operation, but
it cannot be included in a constraint or a condition. If you want to control
the inclusion of a certain BOM line or route operation, this can be achieved by
using a Target attribute of type Boolean and then using the Target attribute in
the condition on the BOM line or route operation. Please see example below:

Target attribute:                     widthLengthRatioBoolean

Calculation:                            widthAttribute > lengthAttribute

BOM line condition:                widthLengthRatioBoolean

Route operation condition:     !widthLengthRatioBoolean

In this example the widthLengthRatioBoolean attribute takes the value true if the
widthAttribute is greater than the lengthAttribute and false if it is equal to
or smaller than lengthAttribute. The BOM line condition will include the BOM
line only if the calculation returns true, whereas the route operation will
only be included if the calculation returns false.

The introduction of the Calculation concept means that an attribute can get its
value set by four different sources:

  • User, value entered by the user during the configuration
  • Default, value set in the product model
  • Calculation, value resulting from a calculation expression
  • Constraint, value set by a constraint

In the matrix below the rows state, which input sources have the ability to overwrite
an existing attribute value. Overwriting a value set by a constraint would result
in a model, which is in contradiction, and thus the configuration cannot be
finished and saved. This is indicated by the * in the Constraint column cells.

So one example here is that a calculation can overwrite a value set by a constraint,
but then the configuration cannot be saved.

Input order matrix

 

Can   be overwritten?

User

Default

Calculation

Constraint

Can
  overwrite?

User

 

Yes

Yes

Yes  *

Default

No

 

Yes

Yes  *

Calculation

No

No

 

Yes  *

Constraint

No

No

No