Monday, January 11, 2010

Extending the configurable BOM

In my last post I showed how to create a configurable BOM to allow the selection of different embroidery options during order entry.  The structure I ended up with was:

This worked well for the scenario where there would only ever be two embroidery options offered against this product.  However if the embroidery options would change over time this structure is not ideal as it would require the addition of a material line in the BOM for each additional embroidery option.

In this post I show two alternative approaches to addressing the maintainability issue: using PDS090 matricies or using the item group in MMS001.

Selecting an embroidery option from a Matrix
Matricies allow a list to be created which links data together.  In this case we will have a list of options and the associated raw material for embroidery.

The matrix is created in PDS090.  We'll create a matrix type 3 to return an Item code from MMS001.

The feature EMBR was setup in my previous post.  This has the options LOGO1 and LOGO2 specified against it.

We can then specify the item codes we want to be returned when the option is specified in PDS091

Back in PDS002 we can now specify a material line that will consume this Matrix.

Note that the Select tp comp value has been set to Matrix and the Select ID comp has been set to MEMBR.  This tells the BOM line to look at the Matrix MEMBR to obtain the Item value when this BOM is indented.

We can see this by Indenting the BOM from PDS001

Note that line 5003 is being called and the two options we had set up against the feature specified in the Matrix are shown.

The value YB1362-89 is returned as this was associated with option LOGO2 in the matrix MEMBR.

Ongoing maintenance of this product (adding additional embroidery options) now is performed by adding the option to the feature EMBR in PDS055 and associating an Item code with the option in PDS090.

Selecting an embroidery option based on Item Group
Another approach to providing a list of options for embroidery is to set these up as items in MMS001.

We can then specify a feature that consumes this item group to provide a list of options

Note that the Feature type is set to 2-Item Number and the Item group is set to TRI14 (our embroidery Items).

Back in PDS002 we set up a new material line which consumes this feature

Note that the Select tp comp value has been set to 3-Feature and the Select ID comp has been set to the feature defined above IGEMB.

If we now indent the BOM from PDS001 we see that all the items with an Item Group of TRI14 appear as options in our list for embroidery.

This approach significantly reduces the maintenance overhead for adding new embroidery options.  As soon as the embroidery item is added to MMS001 with an item group of TRI14 it will appear as a configuration option.

A key benefit of both approaches shown above is that the maintenance of embroidery options is separated from the design of the product structure, allowing delegation of different functions to different team members.  The Matrix approach is best used when only a subset of the potential options are to be offered.  The Item Group approach is best used when all potential options are to be offered.