Implementation of formulas * Design insights

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