Category Archives: Production

How do you activate a registration worker in AX 2012?

I came across an issue today and I thought why not just share the resolution here publicly so others can also be benefited .

Summary :“I was maintaining a route version where I changed the resource on one route operation and added a new one, I then saved the line and clicked “Approve” as version needs to be approved before we activate it, though I got an Info-log indicating “01660 is not a registration worker or is not active”.



  • Go to Human Resource Module in AX
  • Navigate to Common > Workers > Workers

  • On the list page, apply a filter ALT+G and paste the personnel number i.e. 01660 under Personnel number column in the table.Note: Personnel number is a unique number and will be different in your case.
  • Once the record is found, click on Employment History button.
  • Create employment for the legal entity in which you are trying to approve the BOM.
  • Once the employment history is created, system will register the worker within that legal entity and it will not restrict user to “Approve” a BOM version.

Expected Results:

Problem will be solved, BOM version will be Approved and Activated



Delivery Date is different on Planned order compared to the one entered manually at time of creation..

Working for AX Implementation Support Team gives you a chance to get yourself familiar with different functionalities, features and their existence and usage.

Today, my user reported me an issue where he was puzzled by Dynamics AX behavior as AX kept on changing the planned purchase order and planned production creation date automatically from the date he was entering manually against the orders at time of their creation.


  • Delivery Date was changing automatically while creating planned purchase order.(i.e, I manually entered delivery date as 10/21/2015 at time of creation but system changed it to 11/10/2015) .


I analyzed the structure and here are the findings of this automatic date changing on planned production order:

  • The planned order was manually created, user entered the delivery date manually, So I did the same while testing.
  • At this point, system checks the feasibility whether the product can be produced within the desired date and then it picks the delivery date based on the calculated estimation.
  • In client’s environment, users uses routes in the production, these routes’ operations are tagged with resources, where the resource type is machine in most of the cases.
  • Resource had finite capacity and cannot be overbooked.
  • Resources were only be available for working/production on a slot which is a working day.
  • Hence, when a resource is fully booked even If a user enter a delivery date manually, system will always going to check the resource availability and going to decide the delivery date based on availability, (that is how the standard system behaves) In my case when I was entering the delivery date as 10/10/2015, system was changing the delivery date to 11/10/2015 because the resource was fully booked/reserved and the next available working day was 11/10/2015.

Example :

  •  I had Item “XYZ”
  • I was creating a planned order with a type “production”
  • The Item was associated with a route, the route active version was “ABC”
  • The route’s operation is tagged with one resource “PQR”
  • The resource’s capacity was set as “finite”
  • In order to check the resource availability, I clicked on the capacity load button.
  • A list page opened, that gave me a picture on the availability of the resource.
    (Note: Under this form, system indicated me that October was fully booked, and even in November the next available day for a resource for working was 11/10/2015 ).
  • In order to confirm this, I picked a resource “MNO “ that had no reservations and was fully available, I updated the route version and change the resource on route operation from “PQR” to “MNO”.
  • I then created some planned orders for the month of October as this resource availability was there for dates I was creating these planned order on.
  • System allowed me to enter my manually entered date.

Hence, this delivery date is not something that gets changed automatically, it is the way we setup resources that force this change.


The problem encountered against the planned purchase order, where system was changing the delivery date automatically from the date that I entered manually at time of creating planned purchase order from Master plan.

Here, I analyzed that client had active purchase agreements for almost every single item. Therefore, while testing this reported anomaly, I realized that my item also had an active purchase agreement and the lead time was defined on that agreement.

Furthermore, master planning parameter was also activated against the planned orders where it allows system to find trade agreements and the search criteria was set “Lowest Unit Price” .

The lead time defined on the purchase agreement was 14 days (working days).

So, when I was creating the planned purchase order it is picking the delivery date based on the lead time specified in the agreement.


  • I entered the delivery date as 10/21/2015 but system changed it to 11/10/2015.
  • As per configured calendar, the 14th working day was 11/10/2015 (lead time applied), which system picked up correctly as the delivery date.

Hope this detailed explanation would be useful for new ones just like me to explore Production and Master planning module in AX.

Substitute Variance in Production Order _ Standard MS Dynamics AX 2012

The common sources for a production-substitution variance includes the following:

  • Issue a material component that is not in the production BOM.
  • Add a component manually to the production BOM, and report it as consumed.
  • Add an operation manually to the production route, and report it as consumed.
  • Select a different BOM version when you are creating the production order, where the BOM version differs from the one that is used in the standard cost calculation.

These causes have been identified and highlighted by Microsoft, plus the information is also available on Tech Net. However, I have more findings on Substitute variance that cause this kind of variance and how it is different from Quantity variance.

A simple understanding on this variance is

Substitute variance will surely occur if there is a change in process adopted

If you save it in your mind, you will never be puzzled as why this variance is coming along while ending your production order.

People get confused between Quantity  variance and Substitute variance, How;

If someone changes the QTY on the picking list journal , post it manually, production order will end up having Quantity variance but if you are posting a route card journal manually and you change the number of hours on any operation from the estimated time then this will draw a Substitute variance on your production order.

Confusion starts here and the first question comes in your mind is that,

I am changing QTY which are also some values on picking list journal causing me a Quantity variance while on the other hand, I am doing same sort of stuff where I am changing the number of hours on my defined operations and it is causing “Substitute variance” .

Although, I am not changing or removing any operation but just changing process time slightly, so why system is not considering this  as Quantity variance”. 

In Standard AX 2012, how System is checking Substitute variance: 

  • At time of posting the route card journal, system will check as what processes are required to produce a finished good, system will check what operations are performed and how many hours a resource (machine/worker) will work on that particular operation to get that work done.  At this level,  system is doing a comparison between estimate and actual posting of the route transaction. If system finds any differences, then it will post these differences into Substitute variance.(Note: Estimates are the number of hours you defined against each operation with your route) 

Hence, the change in Hours or addition of hours or addition of new operation will always be considered as a process change by the system (that is how system considering the change) and for this vary reason it will drag this type of changes in Substitute variance.

Below is the standard script by Microsoft that is calculating different type of variances, where the highlighted lines are related to our scenario:


Hope that this builds up the logic behind the calculation of Substitute variance on a production order in AX 2012. 

Financial Dimension Error when ending a Production order that posses QTY variance and Purchase Variance _ Dynamics AX 2012 R3

It was little annoying last night when we stuck in one problem which from the picture, wasn’t looking as complex as we expected.

I decided to write a post to create some awareness among those who are new to production module just like me, to not only build some understanding on this problem but to make habit of sharing experiences 🙂

In one of our client’s Live environment:

  • I created a Production order.
  • Estimated the task.
  • Scheduled operations.
  • Started the production order but unchecked the check boxes of picking list journal and route journal to be posted automatically.
  • Changed the QTY on the picking list that created the QTY variance and adjust the price that created the price variance.
  • I posted picking list and route card journal manually.
  • RAF the production order.

At time of ending the production order, I received an error stating;


  • When checking the General ledger setup, I came to know that we have an account structure with an advance rule where we have set all the financial dimension fields mandatory, plus we have a combination activated where system will always check “specified” Business Units against “specified” Markets.

  • During the code analysis, I found that when a production order has a price/QTY variance, system picks the financial dimension from the costing sheet.

In my scenario, the CalcType against which I was getting the error message were of type “rate” and these rate type resources were defined in my costing sheet.
Inventory Management > Setup > Conversion > Costing Sheet.

(Here under this navigation, I found out that the highlighted 5 resources were missing the Business unit and Market which are compulsory as per the way advance rule is setup).

Note: It is AX default behavior where it is taking the financial dimensions from the costing sheet and merging them to the production, so when there is no business unit and market, system failed to merge anything at this stage unless you have fixed accounts defined against the posting ledgers. 

Hence, after confirming the code behavior, I provided the financial dimensions in these highlighted resources, Validated the costing sheet and Saved it

Ended the production order which got ended without any error messages.

MS Dynamics AX 2012 : Date is not calculating on the Production form (ProdForm) when scheduling the job on the production order.

As I continue on my production training and the support that I have been involved in, on one of my client where we are using Production module as a core module, I  managed to dig into the details little further…

Today, I came across another issue where my user was trying to schedule a job on the production order “backward from the delivery date” but it continued to reflect a dummy date “01-30-2017” though I was rescheduling it for 02-04-2016. Though, the “Update” fast tab was reflecting the correct values (the date on which I was scheduling/rescheduling the job).


It was a strange behavior for me, it was something I was witnessing first time. Nevertheless, after I spend some time on analysis, I found that item was associated with the Route that had a Resource attached to it and it was associated with a working calendar “10H5D“, when I checked the composed working periods, I found that all the periods were closed for pickups expect for one day 1/30/2017.


Ultimately, system was checking the first available open day for pick up to “schedule the job” and the open day in my calendar was 1/30/2017.


Furthermore, I found that when the working times were composed, they were composed by ticking the “base calendar option” and the base calendar was having all the days as “closed for pickup“.

Good thing was, client didn’t use that calendar for any transactions.

However, the best approach was to delete those working times which exists in WorkCalendarDate table and recreate them. In order to do so,

  • I Opened AOT
  • Expanded the Tables
  • Went to WorkCalendarDate table


  • Selected the Calendar i.e. in my case it was 10H5D, and applied the date range in the date to filter out my dates, i.e. in my case the wrong templates were created from 01/01/2016..01/31/2017 (though one open date was available in 2017 January but the rest of the period was wrong).

Filtered the records and deleted them and then went back to Organization Administration>Calendar and Composed working time.


I then tested scheduling again by resetting the production order status to Estimate, then scheduled the production job “backward from the delivery date” for 02/04/2016 (my current date was 02/02/2016).

This time around I got the desired results:


Anyone faced the same issue,  should try the same steps to avoid this problem.
Happy Daxing