Resource Capabilities and Capacities in AX 2012

We’re setting up production scheduling for a small manufacturing company and we’re faced with a fairly typical situation. The company has grown steadily over the years from a tiny company with just a couple of products to the current situation of several distinct product lines and hundreds of products. The factory started with just one machine (let’s call it Line1), then added another (Line2) and finally at third (Line3). However, the production lines aren’t identical. Line1 has been fitted out to make one product line (ProdA) while the other two line make another product line (ProdB). Line1 and Line2 run at rate of 100 units per hour, but Line3 runs twice as fast, 200 units per hour.

So we setup one resource group, and add our resources (work centres) to it. Organisation administration > Common > Resources > Resource groups:

We obviously need some items and routes. When I’m setting up routes I like to start with an ‘All/All’ operation relation. First create the operation, Production control > Setup > Routes > Operations > Relations:

The Route group is a mandatory field, so obviously we need one, and then we can look at the Resource requirements tab:

If our machines were all different, and each product was only made on one machine, we could select our machines by using the Requirement type of ‘Resource’.

If our machines were all identical and our product could be made on any machine in the group, we could use the Requirement type ‘Resource group’.

But our selection here is a little more complex so we’re going to use the Requirement type of Capability. So first we have to setup some capabilities. Organisation administration > Common > Resources > Resource capabilities:

You can assign the capability to the Resource here, or on the Resource maintenance form (Organisation administration > Common > Resources > Resources). I suppose that if you only have one resource with a capability then it isn’t really necessary to create the capability – on the route you can just specify the resource – except that it might save you having to update routes if you buy a more machinery. So the normal case is that you’ll have two or more resources that can make the same product (or perform the same operation), and you can assign a Priority order so that the most efficient machine is used whenever it’s available. You can also add an additional filter to the capability in terms of a Level. The Level represents a categorisation of the capability – for instance you might have two cranes, one can lift 10 tonnes, the other 20, or two drills where one can drill to a larger diameter than the other.

Now that we’ve created our capability we can go back to our Operation relation and complete the Resource requirements tab:

You’ll notice that once we select Requirement type ‘Capability’ an additional Option, the ‘Minimum level needed’ becomes available.

You can use the Applicable resources button for a quick check that your setup is correct.

Next I’ll create a route using this Operation and Operation relation and assign it to my products. Production control > Common > Routes > All routes > Maintain route versions:

And finally work from each item and specify item specific details (if necessary) – so for instance I’ll have a couple of products looking for one capability:

And a couple of others which require a different capability:

Now, although this post on the Dynamics AX community forum indicates that you can use capabilities with Operations scheduling – I’m not getting any capacity reservations unless I use Job scheduling – however when I job schedule a production order, or run master planning with Job scheduling selected for my master plan the system finds an appropriate resource.

Next we need address the fact that the run rate of two machines that have the ProdB capability isn’t the same. On the Setup tab of the Route operation we have a Consumption calculation Formula:

Standard means that the run rate is defined by the Run time and Process quantity fields on the Times tab (and this is default setting).

Batch means that the run time doesn’t increase linearly with the order quantity, but increases in steps, and the batch size is defined by the Process quantity on the Times tab.

Capacity and Resource batch mean that the system is going to use the Capacity field on the selected Resource:

Hidden under the Droplist above is another field ‘Factor’ – this allows you to adjust the run rate for the machines selected by capability per product. On a route we’re measuring output in the inventory unit of the item. The issue here is that we’ll often use the carton/case as the inventory unit of our finished goods product, but different products have different numbers of units in the carton. In this case we can set the capacity throughput of the machine in terms of individual units (things like chocolate bars, bottles, packets of crisps, etc.), and then set the Factor to the number of units that we pack into the carton or inventory unit.

Finally – here are two production orders for the same product, where the system has selected different resources (based on the Capability).

For my Line3 machine the total run time is 5 hours:

But for my Line2 machine the total run time is 10 hours: