Resource capacity requirements inquiry in AX 2012

One of the odd things about working with production orders in Dynamics AX is that an important part of the setup – work centres, or resources as they are now called (presumably so we don’t get in arguments about whether it’s spelt center or centre) are managed in the Organisation administration module – and that’s where you find some summary inquires related to resource capacity like the Gantt charts and Capacity reservations, but there’s one other place that you can get a nice summary view of your resource scheduling and it’s the master planning Capacity requirement statistics. Master planning > Inquires > Statistics > Capacity requirement statistics:


When you first open this form it looks a bit un-assuming – but there’s a lot of functionality built into this inquiry. The first thing obviously is that we can select a master plan – that lets us do ‘what-if’ planning by setting up different master plans, with for instance different forecast models as input – but that’s probably the least useful function.

‘Show by:’ let’s you select Resource groups or Resources:


Then you can select a specific group or specific resource – but if you leave that blank you get all groups or all resources:


But to my mind, the ‘Period:’ selection is more impressive:


So now we’ve got summary totals of capacity reservation hours by month by group:


And of course we can export this list grid to Excel with a single click (Ctrl-t)

Finally – if we tick ‘By reference type’ we’ll get this split into capacity reservations from production orders and planned production orders:


To my mind this form only needs one addition and that’s the available capacity (from the resource calendar) – and I think I’d be tempted to use up another of my ‘Desert Island customisations’ to have that added – but even as it stands this is really useful summary inquiry.

Number of documents in batch task in AX 2012

Tucked away in the Accounts receivable (and Accounts payable) parameters, on the Update tab is a little parameter called ‘Number of documents in batch task’. Accounts receivable > Setup > Accounts receivable parameters > Update:

In the Hyper-V demo image this is set to 5, but if you run a batch job to post sales order invoices you’re often going to want to set this to a much larger figure.

Here’s the explanation. But to test this we need a reasonable number of sales orders. In an earlier post here, I explained how to import sales orders using the AIF in the demo Hyper-V image and I’ve used that to setup about 50 sales orders:


So next I’ll setup a batch job to post the invoices. Accounts receivable > Periodic > Sales Update > Invoice:


There are two parts to setting up a recurring batch job for sales invoicing. The first is to tick ‘Late selection’ and click on the ‘Select’ button to define the filter query of the sales orders you want to invoice. My criteria is very simple:


But a more realistic selection would be to invoice delivered sales order lines for those customers that don’t take an invoice with their goods.

The second part of the setup is to click on the Batch button:


Tick ‘Batch processing’; enter a Task description and Batch group; and use the Recurrence button to define when and how often the job runs. Incidentally in a multi-company environment I like to add the company name to the Task description – you’ll see in a minute that the company is shown on the Batch jobs inquiry form – but you can’t use it to filter for jobs in a specific company.

Back on the Posting invoice form, when you click OK you’ll get:


There are a couple of places you can view your batch jobs. Most people will head off to Systems administration > Inquires > Batch jobs, but you can also go to Home > Area page > Inquires > Batch jobs > My batch jobs:


Above I’ve waiting until the job has run, and I’ve clicked on ‘Batch job history’ and ‘View tasks’. Now I can see that the invoices were posted by ‘Multithread posting’ jobs. In this case because I’m posting 50 invoices and I’ve set my Number of documents in batch task to 5 I’ve got 10 of these tasks.

Now let’s change that parameter to a larger number (like 500) and try that again.

This time the batch job history shows that we only used one ‘Multithread posting’ job:


It also shows in this tiny example that the run time is a few seconds longer – but that’s not our experience in production systems posting hundreds of invoices. If you’re setting up batch jobs to post purchase orders, sales order picking lists or sales invoices you’re going to want to experiment with this parameter and select the setting which gives you the best performance.

Price/discount journal names in AX 2012

I might be the only person who doesn’t know this – but you can use a Price/Discount journal name to default a Price type.

In Dynamics AX we setup sales prices, purchase prices and discounts in the same Trade agreement table – all the records in the Trade agreement table have a type, the ‘Relation’ field.

In earlier versions of Dynamics AX you could update the Trade agreement table directly, but in Dynamics AX 2012 you create Price/discount journal.

There are two menu options, Sales and marketing > Journals > Price/discount agreement journals, and Procurement and sourcing > Journals > Price/discount agreement journals. You’ll quickly realise that these two menus actually open the same form:


Enter a name and the system sets the default Description from the Name. You’ll probably want to update that default description to something more meaningful (for instance “Spring 2015 parts sales price list”).

Rather disconcertingly, the Price/discount journal number isn’t filled in immediately, but it is filled when you save the record, or click on the Lines button:


And now you can see that you can create a Price/discount journal for Purchase prices or discounts, and Sales prices and discounts, (and a Postage discount – that’ll have to be another post, right now I have no idea what one of those is).

I always put up with the fact that the system defaulted the Relation to ‘Price (purch).’ – but no longer.

Price/discount agreement journal names are setup at Sales and marketing > Setup > Price/discount > Trade agreement journal names, and Procurement and sourcing > Setup > Price/discount > Trade agreement journal names, again both menu items lead to the same form:


Here is where you setup the default Relation. Let’s update the setup a bit and create one journal for Purchase prices, and one for Sales prices:


Now back on our Price/discount agreement journal form select one of our new names, and new lines are created with our default Relation:


That’s a nice little time saver.