Product Configuration Synchronous Execution

This blog post describes an new way of interacting synchronously from code with the
Constraint-Based Product Configurator which has been introduced in Microsoft
Dynamics AX 2012 R3 CU8.

 

Scenario

The scenario that drove the introduction of this feature can be described as follows:

 

An external 3rd party sales configurator outside of Microsoft Dynamics AX 2012 is used to
assign values to a subset of attributes(a partially configured order), from
which the remaining mandatory attributes can have their values deduced using
the Microsoft Dynamics AX 2012 Configurator, thereby completing the order.

 

 

Once the all the values have been deduced, assuming all values are valid, they can be passed on
to the back end configuration module, which will create the BOM and potentially
the Route (if the model has a Route).

 

Implementation

Included in Microsoft Dynamics AX 2012 R3 CU 8 is a new derived version of the PCRuntimeConfigurator class, named PCRuntimeSynchronousConfigurator.

This class is designed, as the name indicates, for synchronous interaction with the .NET
Configurator component.

 

The configure method on the class is the method
which exposes the new functionality added to the .NET Configurator to Xpp. The
method takes three arguments; the model as xml, the attribute assignments as
xml and a the number of milliseconds which can be used before a timeout occur.
The return of the method is a IsConfigurationComplete enum value, from which
result of the configuration can be determined;

 

  • Complete
    • The configuration is complete
  • Incomplete
    • One or more mandatory attributes does not have a value
  • Timeout
    • The configurator was not able to complete the configuration within the given timeout limit
  • Contradiction
    • One or more constraints have been violated

 

Note:

The PCRuntimeSynchronuosConfigurator class exposes
the functionality required by the .NET configurator component to support the
above scenario but it is not yet integrated with any order (sales, production
etc) or product variant creation nor is it integrated with the BOM and Route
generation.

 

KB Article with number 3028719 should be Applied on top of R3 CU 8 as it addresses a stability issue in the solution.

 Example

 In this example values are passed from the simulated 3rd party configurator into Dynamics AX 2012 through a web service, as illustrated below:

 

 

To expose the PCRuntimeSynchronousConfigurator class through
a web service, we start by introducing a new class
PCTechDemoService
which implements a method with the SysEntryPointAttribute code attribute, which is
needed for a method to be exposed as a web service.

 

In this simple implementation the example method looks like this:

 

[SysEntryPointAttribute(true)]

public boolean configure(PCName _modelName, str _xmlValues)

{

    boolean ret;

    str values;

 

    PCRuntimeSynchronousConfigurator configurator  = PCRuntimeSynchronousConfigurator::construct();

    PCProductConfigurationModel productConfigurationModel  =  PCProductConfigurationModel::findByName(_modelName);

    values = ‘<Assignments>’ + _xmlValues  + ‘</Assignments>’;

   
if(configurator.configure(productConfigurationModel.getXML(), values,120000) == Microsoft.Dynamics.Ax.Frameworks.Controls.ProductConfiguration.IsConfigurationComplete::Complete)

    {

        ret = true;

    }

 

    return ret;

}

Now we can create a Service in the AOT which uses the PCTechDemoService
class and its configure method as an operation. To use this service, it needs
to be put in a service group, which can then be deployed.

 

 

To test the service, navigate to System administration > Services and Application Integration Framework > Inbound ports. Here we find our new PCTechDemoServiceGroup, copy the WSDL URI value.

 

 

 

Open Visual Studio Command prompt and type:

Wcftestclient <Your WSDL URI>

 

This will open the WCF test client where we can now see our web service.

 

For the demo data set I have used, I will use the following argument values

 

_modelName : 20001

_xmlValues : <Assignment xPath=”powerCableLength” value=”10″/><Assignment xPath=”videoSystem/television/size” value=”42″ />

 

Note: the xPath mechanism used to identify the attributes in model.

 

 

If you are familiar with the 20001(Home theater system) model, you will know that it has just two
mandatory attributes which are not assigned by defaults; the powerCableLength
on the root component and the size on the television component.

 

Attached you will find an Xpp project with code used for the example.

 

Enjoy

 

 

 

Demo.zip

Product Configuration Performance : Solver strategy

This post is part of the series of posts explaining performance improvements introduced in
Constraint-Based Product Configuration in Microsoft Dynamics AX 2012 R3 CU8.

The Solver strategy concept was first introduced in Cumulative update 7 for Dynamics AX 2012 R2 and has been extended in Cumulative
update 8 for Dynamics AX 2012 R3. It now includes the following strategies:

  • Default
  • Minimal domains first
  • Top-down

What is a solver strategy?

Imagine you were given the task of solving a 100 piece jigsaw puzzle. How would you start?

A common solving strategy is to start with the edges and move towards the middle, most of us
will either have done this ourselves or if not it should be pretty simple to
convince yourself that this strategy is sound.

 

Now, what if the puzzle you have to solve does not have straight line edges (often referred to
as impossible puzzles)? Suddenly our edge-first strategy will be dramatically less efficient as the edges are much more difficult to identify.

 

For the Solver, a configuration model is a bit like a jigsaw puzzle which needs to be solved.
With the Solver strategy concept, we have enabled you to set the strategy which
the solver will use when it solves the model. Configuration models can however
be very different in nature and the strategy for solving one model efficiently
may prove to be inefficient to solve a different model.

What is the impact?

The impact of response times has been shown on real customer models, to go from minutes to
milliseconds. For this reason it is really worth your time to spend a few
seconds to change this one setting, to see if a change in Solver strategy could
have this impact on your configuration model.

You can change the Solver strategy setting in the model properties form.

Which strategy to choose

Currently there is no build in logic which automatically detects which solver strategy will be most efficient, so for now, you will have to try them out.

Default

What can be said about the different solver strategies is that the default Solver strategy has been optimized so solve models which rely on table constraints. On all the customer models we have seen which use table constraints to a large extend this
solver strategy has proved to be the most efficient.

Minimal domain first and Top-down

These two strategies are closely related. The Top-down strategy, which has been introduced with CU 8 has shown to outperform Minimal domain first in all of our studies, but for
backwards compatibility we have decided to keep the minimal domain first strategy
in the product. Both of these strategies have shown to be more efficient for
solving models which contain several arithmetic expressions and where table constraints are not used. However, there are still examples where the default solver strategy will out perform these, so remember to try each.

Generating put away work when reporting as finished from the Dynamics AX client

This new functionality is available with KB 2999768 and will be included in Microsoft Dynamics AX2012 R3 CU8. To find the HF you can use LCS Issue Search.

What’s new?

In the AX2012 R3 release put away work could only be generated when you used the reporting as finished process on a mobile device for a production or batch order. In CU8 put away work can now also be generated when you use the reporting as finished process for a warehouse-enabled item from the AX client.

In this blog I am going to walk through two scenarios showing how put away work is now created when reporting as finished from the Dynamics AX client. In this example I am going to use item L0101 from the USMF demo data company

 

Simple scenario : Shannon has completed the assembly of ten speakers in her work cell. She reports the speakers as finished in the route card journal and put away work is generated.

A production order for twenty pieces of mini-speakers exists and is in the status Started:

Shannon completes the assembly of the twenty Mini-speakers and reports the quantity as finished in the route card journal:

Shannon provides the journal line with a license plate number:

When Shannon posts the journal, put away work is generated:

 

Advanced scenario : Shannon is working on a production order assembling ten Mini-speakers. Shannon has completed the assembly of eight speakers and reports them as finished in the job registration terminal form and put away work is generated. Shannon completes the assembly of the remaining two speakers but does not have time to report them in the terminal, because she has to rush home. Lars promises Shannon that he will take care of reporting the remaining quantity as finished.

A production order for ten pieces of mini-speakers exists and is in the status Started:

Shannon has started the assembly of 10 mini-speakers:

Shannon is now going to report eight pieces as finished from the Job registration form in the manufacturing execution system. In the feedback form Shannon provides a license plate number. This number identifies the goods that Shannon is reporting to the output location of her work cell. The license plate number will be used by the warehouse worker to identify the goods that he is going to put away from the output location to the finished goods locations:

Note: The license plate field is enabled in the feedback form under the following conditions

  • The item is enabled for the new warehouse processes
  • The shop floor operator is reporting on the last operation in the production route

After Shannon has confirmed the feedback of eight pieces of mini-speakers, put away work is generated:

As it can be seen this work suggests that the eight Mini-speakers are put away from the production output location to the finished goods location.

In order to report the remaining two Mini-speakers, Lars opens the production order form and selects the Report as finished function. Here he enters the remaining two pieces and the license plate. In this case he uses the same license plate as Shannon did when she reported the first eight speakers:

After confirming the report as finished, put away work has been generated for the remaining two speakers that were reported by Lars:

The different options for reporting as finished is outlined in the table below. All these options now supports the generation of put away work:

Option

Description

Report as finished

Dedicated function on the production/batch order form or list page. Has advanced options to for example back flush materials. Typically used by the shop floor supervisor role

Report as finished journal

Journal to post the quantity reported as finished for production or batch orders. Typically used by the shop floor operator role

Job card journal

Journal to report time and quantity for route operations. Option to report a quantity as finished when reporting on the last operation. Typically used by the shop floor operator role

Route card journal

Journal to report time and quantity for production jobs. Option to report a quantity as  finished when reporting on a process job for the last route operation. Typically used by the shop floor operator role

Current operations

List page showing ongoing operations on the shop floor. Option to report a quantity as finished when reporting on the last operation. Used by the shop floor operator role

Report feedback in job registration form

Form that is optimized for manufacturing execution on the shop floor in a kiosk or terminal installation. Option to report a quantity as finished when reporting on the last operation or a process job for the last operation. Used by the shop floor operator role

Hand held device

Menu items on hand held device offering reporting production or batch orders as finished. Used by the shop floor operator role

 

Summary

In CU8 it is now possible to have put away work generated when reporting quantity on a production or batch order in the Dynamics AX client. For example this can be useful for customers who wants to enable the new warehouse processes offered in the R3 release, but wants to continue to use the shop floor terminal for manufacturing execution, or also want to enable the shop floor supervisor to make corrections.

 

 

Setting up the production output location

This new functionality is available with KB 2995954 and will be included in Microsoft Dynamics AX2012 R3 CU8. To find the HF you can use LCS Issue Search.

What’s new?

To support an efficient process for putting away produced products, it is now possible to define an output location specific for a production or a batch order. This will enable the warehouse worker to exactly know where to go, to pick up the goods for put away.

The illustrations below shows the difference between the R3 and the CU8 implementation. The first illustration shows the R3 implementation where it was only possible to define one output location per warehouse:

The second illustration shows the CU8 implementation. In this implementation it is possible to set up an output location per production or batch order. This will give the warehouse worker a better overview of where to pick the finished products for final put away

This blog will explain how this new capability is enabled by using the official demo data released for Microsoft Dynamics AX 2012 R3 CU8 Virtual Machine (VM).

In the company USPI there is a formula for making Pellets. This formula will be used for showing how this feature is enabled and used.

The illustration below shows the Pellets production:

The item numbers for the ingredients (or raw materials) as MW4004 – Polypropylene and MW4005 – Rubber are pre-fixed with MW and the four end items are pre-fixed with PW. PW4000 – Pellets is the formula item, and PW4001 – Chips and PW4002 – Blocks are co-products. PW4003 – Slag is a by-product

Let us take a closer look how to enable this feature. First we need to set up the production output location. Looking at the route for the Pellets formula operation 40 DryFilling is the last operation:

An applicable output location for this operation is found through the Resource requirements for the operation. In the Resource requirements, criteria for finding an applicable resource or resource group during scheduling, is set up:

The output location is specified on the resource group, as it can be seen in the illustration below:

In case no output location is defined on the resource group, then a default production output location is used as a fallback location. This default output location is set up on the warehouse:

In the diagram below the defaulting hierarchy is shown. The diagram shows the rule that applies for finding the production output location when reporting as finished for a production or batch order:

 

Example

To see how this works, let us report as finished a quantity of the formula item PW4000 – Pellets. The batch order is in status Started and is ready to be reported as finished:

 

Reporting as finished is done from the mobile device:

Batch order number, Item number, quantity and license plate is entered:

And the process is completed and put away work is generated:

Taking a closer look at the put away work, the pick location for this work is FILL-01. This location is the output location that was set up on the resource group that is applicable for the last operation DryFilling

Let us try to remove the output location from the resource group and then report as finished one of the co-products from the batch order

We report as finished a co-product PW4002 – Blocks and put away work is generated

The put away work will in this case have the default output location OUTPUT. This location is the fallback location set up in the warehouse

The defaulting of the output location is enabled for all the places where the reporting as finished process can be performed. This includes

  • Using the report as finished function from the batch order
  • Using the report as finished journal
  • Reporting as finished from the job or route card journal. This is possible when user reports on last operation and marks the field Report as finished on the journal line
  • Report as finished from list page Current operations. This is possible when reporting as finished the last operation
  • Reporting as finished from the Job registration form in the manufacturing execution module (MES). This is possible when the user reports as finished the last operation

Summary

In CU8 it is now possible to set up an output location for the last operation in a production route. This supports a more efficient process for putting away produced products from the shop floor to the warehouse. The output location is set up on the resource group that is applicable for the route operation. A fallback output location set up on the warehouse is used in case no output location is defined on the resource group. Using the output location defined for the last operation in the production route is applicable for all the places where the report as finished process can be performed.

 

Setting up the production input location

This new functionality is available with KB 2995227 and will be included in Microsoft Dynamics AX2012 R3 CU8. To find the HF you can use LCS Issue Search.

What’s new?

To support an efficient process for raw material picking in production, it is now possible to split warehouse work for raw material picking per route operation. As an example, this is useful in a so called bulk / pack production scenario. In this scenario there could be one operation for making the bulk material and one operation for bottling and packing. These two operations are both consuming materials, but will be carried out in different physical locations, maybe even different buildings. Splitting the work per operation will, in this case, secure a process where the warehouse worker is directed, by warehouse work, to deliver the picked materials to the exact locations, where the materials are consumed. This blog will explain how this is enabled by using the official demo data released for Microsoft Dynamics AX 2012 R3 CU8 Virtual Machine (VM).

The illustration below shows the Pellets production from the USPI Company:

 

The item numbers for the ingredients (or raw materials) as MW4004 – Polypropylene and MW4005 – Rubber are pre-fixed with MW and the four end items are pre-fixed with PW. PW4000 – Pellets is the formula item, and PW4001 – Chips and PW4002 – Blocks are co-products. PW4003 – Slag is a by-product

As it can be seen from the illustration, ingredients from the pellets production are consumed at two different operations. Let us see how work is now split per operation when releasing a batch order for the Pellets formula. First we create a batch order for Pellets and perform the following steps Estimate, Schedule and Release. In the Release step warehouse work is created:

 

In the work details form it can be seen that two warehouse works has been created in the release step. The first work is for allocating materials to the extruder operation, which is the first operation in the route. The materials are allocated to the production input location: EXT:

The next illustration shows the work details for the second work for the order. This work is for allocating materials to the Mixer operation. The materials are allocated to a production input location: MIX

Let us take a closer look how to enable this feature. First we need to set up the production input locations that will be applicable for the route operations. The Pellets formula has a production route with four operations

The first operation PPExtCut is consuming MW4004 – Polypropylene and MW4005 – Rubber. An applicable production input location for this operation is found through the Resource requirements for the operation. In the Resource requirements, criteria for finding an applicable resource or resource group during scheduling, is set up

The input location can be specified at the resource group but also on the relation between the resource group and the resource, as it can be seen in below illustration

In case no input locations can be found from the resource groups or resource group relations, then a default production input location is used as a fallback location. This default input location is setup on the warehouse

After setting up the input locations we need to specify which operations that are consuming which materials. This mapping is set up on the material lines using the field Oper. No. This is shown in the below illustration

If no operation is specified on the material line, then the production input location will be found from the resource group or resource group relation, applicable for the first operation in the production route. If no applicable input locations can be found, then the default output location for the warehouse is used. In the diagrams below the defaulting hierarchy is shown. The first diagram shows the rules that applies for finding the production input location for a material line that is mapped to the first route operation or does not have a location defined:

 

The second diagram shows the rules that applies for finding the production input location for a material line that is not mapped to the first operation but to one of the following operations in the production route:

 

In order to enable the split of warehouse work a minor change has been introduced to the work template for raw material picking. When a new template is created a Work break is automatically inserted. This work break is configured by the system to group work per route operation. It is possible to remove the work break, and in that case only one work will be generated when releasing to the warehouse from production. In that case the input location found from the first operation in the route will be used as production input location, and if none found on the route the default output location set up for the warehouse

If the hotfix is deployed to an existing installation, then the work template for raw material picking needs to be recreated in order to establish the work break. An alternative is to insert the work break manually in the existing work template.

Again looking at the work details for the released batch order for pellets, we should now understand how the input locations for the two sets of work are found

 

Summary

In CU8 work for raw material picking can now be split per route operation. On the resource groups and the relation between the resource group and the resource it is possible to setup a production input location to be used in warehouse work. Installing this hotfix on an existing installation will require you to recreate or update the work template for raw material picking. This new capability secures a more efficient picking process for production and batch orders, as the warehouse work will now direct the warehouse worker to the exact locations where the material is consumed.

 

 

 

 

Improved process for generating put away work for production and batch orders in CU8

This new functionality is available with KB article 2988071 and will be included in Microsoft Dynamics AX2012 R3 CU8. To find the KB article you can use LCS Issue Search.

What’s new?

In R3 there were some issues in the support for generating put away Work when you used the reporting as finished process for batch orders (for formula items as well as for co-products and by-products). When for example reporting a formula item or a co-product or by-product as finished in production, the location directive could not find an applicable put-away location. Instead, the user was prompted to manually enter a put away location.

We made some changes to the location directives for production and batch orders to fix these issues. In R3 we had location directives with the types “Production order put away” and “Batch order put away” as shown in the picture below:

In CU8 the two types has been replaced with new ones. The first one “Finished goods put way” represents the produced item for production orders and the formula item for batch orders. The second one “Co-product and by-product put away” represents the co-products and the by-products that can be produced as output from batch orders. The two new types are shown in the picture below:

Let’s walk through a scenario that describes how to set this up.

Scenario: The company uses formulas with co-product and by-product outputs. The by-products are always stored in a location called SCRAP, and the co-products are stored in an area called FLOOR.

First we need to create work classes for finished goods put away, and co-products and by-products put away. Open the Work classes form by clicking Warehouse management > Setup > Work > Work Classes. For the work class for finished goods put-away, select the work order type Finished goods put away:

 

 For the work class for co-products and by-products put-away, select the work order type Co-products and by-products put away:

 

Next we need to set up the work templates that defines how pick and put work for finished goods, co-products and by-products is created. Open the Work templates form by clicking Warehouse management > Setup > Work > Work templates. Select Finished goods put away in the field: Work order type. Set up a pick and a put line in the lower part of the form and remember to select a work class for finish goods put away for each line:

Now select the Work template for Co-product and by-product put away. Set up the pick and put lines in the lower part of the form with an appropriate Work class for each line:

 

The last step is to set up the location directives for finished goods and co-products and by-products. Open the Location directives form by clicking Warehouse management > Setup > Location directives. Select Finished goods put away in the Work order type field:

Now select Co-products and by-products put away in the Work order type field. Create one line for co-products and one line for by-products. Go to the line for by-products and select the Edit Query button. In the Query form select the Production co-by products table and the field Production type. Select by-product as a criterion. With this setting we made the location directive specific for by-products output:

The by-products should be stored in a location called SCRAP. This location has an associated Location profile ID also called SCRAP:

Now select the Edit Query button in the Location Directive Actions section. Add a line for the field Location profile ID and use SCRAP as a criterion for that line in the Query:

With this setting the location directive will direct all by-products to the SCRAP location in warehouse 15

As the last thing we will set up the location directive for co-products. Go to the location directive we defined for co-products and select the Edit Query button in the Location Directives Actions section. As the co-products, in this example, should all be stored in an area calloed FLOOR, add a line for the field Location profile ID and add the criterion FLOOR:

 

Summary

The work order types that are used for production output have changed in AX 2012 R3 CU8 which fixed some issues in the R3 version. If you are upgrading from R3 to CU8, you will need to re-configure your work classes, work templates, and location directives as outlined in the example in this blog.

 

Support for Recycled By-products in AX 2012 R3 CU8

This new functionality is available with KB 2989470 / HF 2989470 and will be included in Microsoft Dynamics AX2012 R3 CU8. To find the HF you can use LCS Issue Search.

What’s new?
To support recycled or recurrent products in process industry, it is now possible to use the same product as both input and output on a formula. As an example, this is useful in plastic molding where consumed plastic regrind can be recovered from the manufacturing process. Other examples are processes where you put metal scrap from the stamping/forming process in a foundry.
The recurring co-product solution in Microsoft Dynamics AX2009 had some limitations on the costing side and was not ported to AX2012. This new solution use by-products with a stronger support for costing.

Feature solution
This new feature enables the consumption and reuse of the same by-products in the production of formulas and batch orders, by allowing BOM circularity for output that has the production type, By-product.
For costing purposes a new Burden type, Recycled, was added to handle the cost of the recycled by-products. Use of the Recycled Burden type deducts the joint production cost that is allocated to the formula and co-products, by using the standard cost value of the recovered by-product.
By-product output from planned and firmed batch orders is ignored during planning. This is done to ensure that demand for the recycled product isn’t pegged against by-product output from the same order, or other orders from the same process or BOM chain. This means that the recycled by-product cannot be pegged until it is on-hand (posted from the batch order).
Finally as a small additional improvement on the Explosion form, it is now indicated when a formula output is a by-product. This is done by adding ‘(By-product)’ to the line.
 
Set up recycled by-products
In order to allow BOM circularity, the recycled item must use standard cost and use the production type By-product or in special cases Co-product. On the formula the recycled product input is a normal formula line, and the output on the same or other formulas is a co-product output of the Production type, By-product, and the Burden type, Recycled.

  1. Product 
    1. The recycled functionality only supports standard cost, so ensure that you select an Item model group that uses the Inventory model, Standard cost, on the General FastTab:
    2. Ensure that the Production type is By-product on the Engineer FastTab for the product:
       
      Note: Products with production type Co-product can also be used, but then you will have to change the Production type to By-product on the formula or batch order, to use the recycled by-product functionality.

  2. Input – formula consuming the recycled product
    The recycled product is added as a normal formula line on the formula:
  3. Output – formula producing the recycled product
    On the formula (can be the input, or another formula) that produces the recycled item, the recycled item must be added as a co-product output of the production type, By-product, with the Burden type, Recycled:

    We are aware that the name Burden is not full correct with the Recycled option added. However, the nature of a hotfix release didn’t leave room for renaming.

 

Let’s try an example to see the feature in action:
 
We have the following three products:
M1 – Main ingredient, Standard cost – $10/Kg, Purchase, 100 kg On-hand
B1 – By Product, Standard cost – $5/Kg, Purchase, 15 kg On-hand
F1 – Formula item, Standard cost, Production, 0 kg On-hand
 
To produce F1 we use the following formula:
F1-FORM, Formula Size: 10 Kg

With the following lines
M1, 20 kg
B1, 10 Kg

Co/By-Product lines
B1, Production type = By-product, Burden = Recycled, 8 Kg 

In AX it looks like this:

With the B1 added as By-product under the Co-products output:


First sales order

To generate a demand for F1 let’s create a sales order for 10 kg:

Running the explosion on the sales order will generate a batch order to produce the 10 kg because we don’t have any F1 on-hand:

Notice that the first line for B1 indicates that we get an additional co-product output of the type, By-product.
 
As both M1 and B1 are on hand, we can firm the planned batch order and start the production. (Planned orders -> Firm)
 
Processing the batch order
Let’s report the batch order as finished with the expected input and output:

What happened to the cost?
I have set a material overhead of 10%, so looking at the cost perspective we get the following.

Batch cost:
     M1 20 kg = 20 * $10 = $200
     B1 10 kg = 10 * $5 = $50
     Overhead 10% = 10% * ($200+$50) = $25
     Total = 200+50+25 = $275

B1 cost share (8kg): 8 * $5 = $40 (note this is fixed to the Std. Cost – no overhead)
F1 cost share (10kg): $275 – $40 = $235 (Incl. all $25 in overhead)

For the formula product – F1:

And for the by-product – B1:
 

Second sales order
Let’s create another sales order for 20 kg F1, to see how planning handles a shortage of the recycled by-product.

Running the explosion on the sales order will generate a planned batch order to produce the 20 kg. Notice the planned order for B1.

We still have plenty of M1: 

  • We have 80 kg and we need 40 kg for the additional order.

However, we are running short of B1:

  • Initially, we had 15 kg. The first batch order consumed 10 kg and output was 8 kg, so now we have 13 kg.
  • For the new order we need 20 kg, so a planned order for 7 kg is created to cover the missing ingredient.

Summary:
With HF 2989470 that is included in Microsoft Dynamics AX 2012 R3 CU8, it is now possible to recycle and reuse by-product output from batch orders.

  • The recycled product must use standard cost and have the production type, By-product or Co-product
  • On the formula, co-product output must be of the type, By-product, and have the Burden type, Recycled
  • Planning will now consider only on-hand inventory for by-products. So potential supply from batch orders is not used for pegging until the batch order output is posted.