Microsoft Dynamics AX 2012 ® Product master configuration technology options in Microsoft Dynamics AX 2012 Concept Paper This paper provides guidelines for using the product master configuration technology policy. August 2011 CCAX2012DI0014 Table of Contents Overview..................................................................................................... 3 Audience.............................................................................................................................. 3 Improving on previous releases .................................................................. 3 Overview of variant configuration technology options ................................ 4 Design insights ........................................................................................... 5 Logical data model ................................................................................................................ 5 Physical data model .............................................................................................................. 6 Dependency on an active product configuration dimension ......................................................... 6 Code sample to create a product variant .................................................................................. 7 Extensibility ................................................................................................ 8 Adding new variant configuration technology logic .................................................................... 8 2 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Overview Microsoft Dynamics AX 2012 introduces the Product information management application module that allows you to define and create product masters and product variants. The product master contains a mandatory, shared policy that identifies the process for creating product variants. This shared policy is named variant configuration technology. The variant configuration technology identifies the product configuration feature that should be used to configure product masters and create new product variants. This concept paper discusses the essential foundation parts of the product-item data management framework in Microsoft Dynamics AX 2012, describes design insights, and provides guidance for extending the product-item data model to support vertical scenarios. Audience This paper targets application developers and implementers who need to leverage the product-item data management framework in Microsoft Dynamics AX 2012. A conceptual understanding of the product-item data management framework can help application developers and implementers enable new scenarios or extend the framework for specific vertical solutions. Improving on previous releases In all previous releases of Microsoft Dynamics AX, the item master contained a number of different fields that were used for various features to create new item combinations. These fields belong to the various modules, such as Product Builder and Standard Configurator. In addition, the item master contained fields that directly affected the auto-creation logic of new item combinations. As the result of all possible item master fields setup combinations, it was difficult to control the creation process for item combinations. In Microsoft Dynamics AX 2012, the product master contains a mandatory, shared policy that defines the process of its variant creation. This shared policy is named variant configuration technology, and it allows only one setup per product. 3 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Overview of variant configuration technology options Variant configuration technology is a method of modeling product masters and searching for product variant configurations. The variant configuration technology determines how and when product variants are configured. Configuration technology Description Predefined variant Variants are configured by using the product dimensions when the variants are created. Therefore, after you create the product master, you can assign product dimensions and create product variants. Dimension-based configuration A configuration technology used to create product variants by selecting product dimensions. Variants are configured by using the configuration dimension when the variants are added to source document lines. The configuration dimension must be active in the product dimension group that is associated with the product master. Note that the size and color dimensions can also be used with this configuration technology. Rule-based configuration A configuration technology that uses rules to develop product masters and to configure distinct products. Variants are configured by using Product Builder when the variants are added to source document lines. Constraint-based configuration A configuration technology that uses constraints to develop product masters and to configure distinct products. Variants are configured by using the Product configurator when the variants are added to source document lines. Each configuration technology provides additional setup options. Consider the following essential policies. Configuration technology Additional setup options Predefined variant The Auto create variant option on the product master allows you to automatically create new product variants when a user assigns new product dimension values of color, size, or configuration to the product master. Dimension-based configuration The Re-use configuration option on the product master allows you to reuse the existing product variant when products that are documented on source document lines are configured. This option helps maintain system performance by preventing an increase in the quantity of master data, for example, if the user configures products that are documented on the sales order line in the same way each time that the user saves a sales order. 4 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Design insights Logical data model From a logical data model perspective, there are a number of product configuration features that can be used to configure a product. As the result of the product configuration, a new product variant will be created. For example, an order processor uses the product configuration feature during the generation of a sales order to meet customers’ requirements on the product master structure. The order processor selects the appropriate bill of materials (BOM), selects the expected product sizes, colors, and so on. When an order processor saves a sales order, the system may create a new shared product variant to represent the expected product. This occurs when system is configured to create new product variants, rather than re-use existing configuration. This product variant becomes part of the product master data, which allows the use of this product variant in all core inventory processes, such as material requirements planning, inventory counting, and so on. In Microsoft Dynamics AX 2012, you must select which product configuration methodology should be used to configure the product master. This methodology is selected as part of product master creation process. Figure 1 Logical data model 5 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Physical data model From the physical data model perspective, there is a field on the EcoResProductMaster table that defines specified a variant configuration technology for a specific product master. Note that this field is a mandatory field on the product master, so it must be specified when you create a product master either through the user interface or by using Application Integration Framework (AIF) product services. This field is part of core product master definition, and it cannot be changed after the product has been created. The EcoResProductMasterModelingPolicy table contains additional variant configuration technology setup for each product master. The IsAutomaticVariantGenerationEnabled field enables the Auto create variant setup option for Predefined variant configuration technology. The IsReuseExistingConfigurationEnabled field enables the Re-use configuration setup option for Dimension-based configuration technology. EcoResProduct RecId InstanceRelationType DisplayProductNumber (AK1) SearchName (O) ProductType EcoResProductMaster RecId (FK) VariantConfigurationTechnology EcoResProducMastertModelingPolicy RecId IsAutomaticVariantGenerationEnabled (O) IsReuseExistingConfigurationEnabled (O) ProductMaster (FK) Figure 2 Physical data model Dependency on an active product configuration dimension In terms of the product-item data management framework the following sequence of actions takes place when the system creates a new product variant: 1. New product dimension values (for example, new configuration value) are associated to the shared product master. 2. New shared product variant is created and identified by this new product dimension value (for example, new configuration). 3. Product variant is released to the legal entity where it should be used (for example, enter a sales order line with the configuration value after the product documented on the sales order line has been configured). 6 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Most of the configuration technologies have a dependency on the configuration dimension that should be set to Active as part of product master product dimension group setup. Configuration technology Depends on an active product dimension configuration? Predefined variant No. The product master can have any combination of active product dimensions. Dimension-based configuration Yes. Note that the size and color dimensions can also be used with this configuration technology. Rule-based configuration Yes. Note that the size and color dimensions cannot be used with this configuration technology. Constraint-based configuration Yes. Note that the size and color dimensions cannot be used with this configuration technology. Code sample to create a product variant Consider the following code examples, which logically follow the product variant creation process. 1. A new product dimension configuration value is associated to the product master. Assume that new product dimension configuration value is stored in the newConfigurationName variable. // check if configuration is already exist if (!EcoResProductVariantDimValue::newProductVariantDim_ConfigId().exist(productMasterRecId, newConfigurationName)) { // check if configuration is already exist EcoResProductMasterManager::addProductDimensionValue( productMasterRecId, EcoResProductDimensionAttribute::inventDimFieldId2DimensionAttributeRecId(fieldNum(InventDim, ConfigId)), newConfigurationName, '', ''); } 2. A new product variant is created. // create new product variant using EcoResProductVariantManager class productDimensions = EcoResProductVariantDimValue::getDimensionValuesContainer(_configurationName, '', ''); distincProductVariantRecId = EcoResProductVariantManager::createProductVariant(productMasterRecId, '', productDimensions); 3. Release new product variant to the current legal entity. // release product variant to the current legal entity using EcoResProductReleaseManagerBase class EcoResProductReleaseManagerBase::releaseProduct(distincProductVariantRecId, CompanyInfo::findDataArea(curext()).RecId); 7 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Extensibility You can extend the product-item data management framework to support ISV or partner customization or scenarios to configure product variants. Adding new variant configuration technology logic One of the core extensibility scenarios is within product lifecycle management (PLM) areas where the additional x++ functionality or external components can create new product variants based on the product drawings, the product family’s data, and so on. You can enable new variant configuration technology logic by following these steps: 1. Define a new Base Enum value for the EcoResVariantConfigurationTechnologyType that corresponds to the new type of operating unit. 2. Extend the EcoResProductMasterModelingPolicy table with the setup options, which will drive the creation logic of the product variants. For example, you might want to add rules to control which template should be used to create the product variant ID, or if you want to attach product images to the newly created product. From an integration application perspective, we recommend that you follow general product master definition and product release processes logic, and potentially extend and re-use the APIs, which are covered in the code samples in this document. The re-use of system product-item data management framework APIs will ensure better consistency as well as data integrity. It will also ensure that the Microsoft Dynamics AX 2012 users can preview and manage product master data as expected, even if product master data was created by product configuration features from ISV solutions. 8 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012 Microsoft Dynamics is a line of integrated, adaptable business management solutions that enables you and your people to make business decisions with greater confidence. Microsoft Dynamics works like and with familiar Microsoft software, automating and streamlining financial, customer relationship and supply chain processes in a way that helps you drive business success. U.S. and Canada Toll Free 1-888-477-7989 Worldwide +1-701-281-6500 www.microsoft.com/dynamics This document is provided “as-is.” Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. You may modify this document for your internal, reference purposes. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Dynamics AX 2012, and Microsoft Dynamics AX 2009 are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners. 9 PRODUCT MASTER CONFIGURATION TECHNOLOGY OPTIONS IN MICROSOFT DYNAMICS AX 2012