Microsoft Dynamics AX 2012 ® Implementation of formulas – Design insights Concept Paper Formulas are the core structures of the Process Manufacturing module. This document describes, in overview, how the formula feature is implemented, briefly describing some of the feature’s core functionality. August 2011 CCAX2012DI0055 Table of Contents Overview..................................................................................................... 3 Data model.................................................................................................. 3 BOMTable ............................................................................................................................ 3 PmfBOMFormula ................................................................................................................ 3 BOMId .............................................................................................................................. 4 BOM .................................................................................................................................... 4 PmfPctEnable .................................................................................................................... 4 PmfFormulaPct .................................................................................................................. 4 PmfPlanGroupId ................................................................................................................ 4 PmfPlanGroupPriority ......................................................................................................... 4 PmfScalable ...................................................................................................................... 4 BOMVersion ......................................................................................................................... 4 PmfBatchSize .................................................................................................................... 4 PmfBulkParent ................................................................................................................... 4 PmfCoByVarAllow .............................................................................................................. 5 PmfFormulaChangeDate ..................................................................................................... 5 PmfFormulaMultiple ........................................................................................................... 5 PmfFormulaVersionCalculation ............................................................................................. 5 PmfTotalCostAllocation ....................................................................................................... 5 PmfTypeId ........................................................................................................................ 5 PmfYieldPct ....................................................................................................................... 5 PmfFormulaCoBy .................................................................................................................. 5 InventTable.......................................................................................................................... 6 PmfProductType ................................................................................................................ 6 PmfPlanningItemId ............................................................................................................ 6 PmfYieldPct ....................................................................................................................... 6 ProdTable, PmfProdCoby, ProdBOM, ProdJournalBOM, ProdJournalProd, and PmfCoByProdCalcTrans 6 Percentage-controlled ingredients .............................................................. 6 Raw material substitution ........................................................................... 6 Bulk-pack items .......................................................................................... 7 Step consumption ....................................................................................... 7 Form implementation .................................................................................. 7 Glossary of terms ........................................................................................ 7 2 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS Overview A formula specifies the ingredients and the amounts needed to make a product. Also the co-products and by-products and their amounts are defined in the formula.The implementation of the data model for formulas extends the data model for the bills of materials and production orders. In summary, a formula can undergo the same processes as a bill of materials but can also carry extra information which is specific for the process industry. Note that all fields in table that are part of the data model for the bill of materials or the production orders are used in the same or a similar way as for the Formulas and batch orders. For that reason only the differences and new features are described in this document. All the new fields specific for Process Manufacturing that are added to the tables included in the data models for bills of materials and production orders are supporting features that can only be consumed by formulas and orders. In other words, Process Manufacturing fields do not work outside the Process Manufacturing domain. This document will provide some insight into the data schema used and how the data model is connected to the implementation of the feature set. Note that it is not in the scope of this document to explain the functionality, only to provide insight into the implementation of the existing features. Note also that the only the features contained within the Process Manufacturing license (PMF) objects are included in this document. Process distribution features are not included. The following features are covered in this document: Percentage-controlled ingredients Raw material substitution Bulk-pack items Step consumption Co-products/by-products definition Batch orders Data model The Microsoft® Visio® document CCAX2012DI0055.vsd contains the UML model extraction from Microsoft Dynamics® AX. The model is not included here due to the complexity of the tables involved. The most relevant tables included in the document are described in this section. BOMTable The BOMTable table contains the definition for bills of materials and formulas. Formulas are extensions to bills of materials. PmfBOMFormula The PmfBOMFormula field, of type Enum:PmfBOMFormula, specifies whether the record is a formula or a bill of materials. 3 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS BOMId The BOMId field contains the ID information of the record and is used as a Formula ID instead of a BOM ID for formulas. Note: All fields that are FK (foreign keys) to the BOMTable table should be read as a BOM ID or a Formula ID, depending on the value of the related record’s PmfBOMFormula field. BOM The BOM table contains the record for the component for either a bill of materials or a formula. In the case of a formula, the component is considered an ingredient. There are some differences between BOM lines and formula lines, given the extra fields that are added to this table. PmfPctEnable A Boolean value that indicates whether the quantity of the ingredient is calculated based on the quantity being produced for the main output of the formula. PmfFormulaPct A real value that specifies the actual percentage to be applied to the calculation of quantity based on the PmfPctEnable field. PmfPlanGroupId The ID of the plan group that the line belongs to. A plan group is the base implementation of material substitution. PmfPlanGroupPriority A real value that specifies the priority of the ingredient within the plan group. The field is only enabled if the BOM.PmfPlanGroupId field is set. PmfScalable A Boolean value that indicates whether the ingredient is scalable. BOMVersion The BOMVersion table determines the relation between the formula and the main formula product. The BOMVersion table contains information that the related table for formula lines (BOM) are highly dependent upon. PmfBatchSize The batch size is a real value that specifies the default quantity that represents a given batch of the formula product and its co and by product. The amounts of ingredients are specified according to the batch size. PmfBulkParent In this field, a bulk item can be selected when the formula version is related to a product which is regarded as a pack item. It is only possible to select Item-ID where the following prerequisites are fulfilled: The item is of production type Formula. A bulk item conversion between the pack item and bulk item exists. The bulk item must be specified as an ingredient in the formula. 4 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS PmfCoByVarAllow A Boolean value. If the field is set, and a batch order is created for the formula, it would be possible to report co-products and by-products that have not been specified in the formula as finished on batch order. This value initializes the ProdTable.PmfCoByVarAllow field upon the creation of batch orders. PmfFormulaChangeDate A date value that stores the date of the last modification to the formula. PmfFormulaMultiple The default quantity in which the item is produced for this formula version. In requirement calculations, the value is incremented by the formula multiple to meet the requirement. The value of a manually created batch order is validated against the formula multiple for the formula version selected to make sure that the quantity is a whole increment. PmfFormulaVersionCalculation A Boolean value that indicates whether the version is selected to calculate the default value of the fields in the related records of BOM.BOMQtySerie. Note: Only one version can be selected for calculation for a single product, even though multiple BOMs can be created and activated with different dates and quantity values. PmfTotalCostAllocation A Boolean value that indicates whether the formula’s cost is distributed entirely by the co-products. PmfTypeId A field of type Enum:PmfBOMFormula that specifies whether the record is a formula or a bill of materials. PmfYieldPct The yield percentage represents the ratio between the actual output of the formula and the estimated output and is used for calculating the amount of ingredients for a given batch order size. PmfFormulaCoBy The PmfFormulaCoBy table contains the definition information for the co-products and by-products. The tight coupling with the formula item requires this table to be related directly to the formula version table (BOMVersion via the PmfFormulaCoBy.BOMVersionRefRecId field), but this table also has a relation to the definition of the formula (BOMTable via PmfFormulaCoBy.BOMId). The costing aspect is a very important implementation detail of co-products and by-products. Co-products, as items planned for and/or desired from production, share the costing model of the main output. The costing settings can be defined in the CostAllocation and CostAllocationPct fields. For by-products, the cost (burden) is defined in the CostAllocationAmt and BurdenType fields. 5 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS InventTable The InventTable table contains the definition for all products that are released to a specific legal entity. The definition of co-products, by-products, formulas, and bulk-pack relationships is done directly on the records of this table. PmfProductType The products are classified as co-products, by-products, formulas, and so on by their production type. The enumeration enum: PmfProductType gives the product an identity of BOM, Formula, CoProduct, By-Product, Planning Item, or None (no production type of any kind). In standard Microsoft Dynamics AX, this field does not exist. Note: The value Planning Formula (MainItem) for this field represents an item with a formula that is not inventoried. This structure is created so that the supply/demand can be easily determined for the co-products; however, in effect, only co-products and by-products can be reported as finished in a batch order for a planning item. PmfPlanningItemId If the value of PMFProductType is set to Co-Product, the product can be associated with another product of type Formula or Planning Formula. PmfYieldPct The default value of Yield that is used for calculating the output quantity for the formula. ProdTable, PmfProdCoby, ProdBOM, ProdJournalBOM, ProdJournalProd, and PmfCoByProdCalcTrans The production tables contain the instance data structures used for production. They have many mirror fields from the BOM structures. These are initialized from the BOM structures and can be changed throughout the production. Because the formula extends the BOM data model, the same extensions and usage are applied to the Production data model to enable production orders of formulas (batch orders). Because most of these fields are similar to the ones previously detailed, they are not described once again. Percentage-controlled ingredients Formulas add the ability to control the ingredients based on a percentage value of the quantity of the main item output of the formula. To set up a percentage-controlled ingredient, the BOM.PmfPctEnable field needs to be set, and the percentage value needs to be defined on the BOM.PmfFormulaPct field. Raw material substitution Ingredients that are defined with a plan group (that is, ingredients that have the BOM.PmfPlanGroupId field set) are not necessarily mandatory within a formula. When the demand to fulfill the requirement for these lines is processed, the on-hand inventory is checked for these ingredients based on the priority order (set in BOM.PmfPlanGroupPriority). Based on this rule, the first ingredient that fulfills the requirement and has available on-hand inventory is selected, and the other ingredients are skipped. 6 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS Bulk-pack items A formula item that is mass-produced and is the primary ingredient for some other product or products may be set up as a “bulk” product. This setup will allow a better view of inventory and fulfillment capabilities, because it creates a direct relationship between products. A bulk-pack item relationship can be seen as a conversion between products of type Formula. To create this relationship, both the bulk item and the pack item need to have the Inventtable.PmfProductionType field set to Formula. The relationship is stored in the PmfBulkItemConv table. After the bulk item is added as an ingredient in the formula, the formula version field BOMVersion.PMFBulkParent can be set to the ID of the item on that line, and the value of BOMVersion.PmfFormulaMultiple can also be set for the version controlling the local ratio between the bulk item and the pack item. When the setup is complete for bulk-pack items, a special planned order is created when there is demand for either of the items: this planned order is called a consolidated order, and it consists of records on the PmfConsOrd table. The manipulation of consolidated orders allows the combination of orders for multiple pack products to be satisfied by a smaller number of orders (or a single order) for the bulk product. Step consumption An additional way of controlling the quantity of ingredients is provided via the step consumption feature. This enables a different, non-linear definition of the quantities based on the quantity produced of the main output formula item. Step consumption per ingredient line is defined in the PmfBOMStep table. Form implementation In general, the forms used for bill of materials management and production orders are the same as the ones used for formula management and batch orders. These forms are dynamically modified to toggle the visibility and enabled status of the process industries’ controls and fields, the labels on the form are adjusted. Validation behavior also changes when the forms are used in the context of process industries. These dynamic customizations are done via the PmfFormCtrl classes extended for each form. The exceptions to these rules are the features and tables created exclusively for PMF features, such as the co-product/by-product, consolidated order, and bulk-pack features. Glossary of terms Term Definition BOM Bill of materials. RAF Report as finished. Formula item A record in the InventTable table with the PmfProductionType field set to Formula. Batch order A production process that outputs inventory for formula items and/or related co-products/by-products. 7 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS 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. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Dynamics, the Microsoft Dynamics logo, and Microsoft Visio are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners. 8 IMPLEMENTATION OF FORMULAS – DESIGN INSIGHTS