Microsoft Dynamics 365 Blog

In Microsoft Dynamics AX 2012 we introduced a new concept in the resource scheduling engine.  This allows companies to schedule resources based on the capability of the resource.  The idea is that different resources may have one or many capabilities.  You may have some resources that are the primary resources for a given process, but others could be used if the primary resources are not available.

In order to make use of this new feature, you must first define the capabilities of your resources.  The first step is to create the capabilities by going to Organization Administration >> Common >> Resources >> Resource Capabilities.  I’ll be creating a capability called “Cutting” for our example.

The next step is to assign this capability to resources by going to Organization Administration >> Common >> Resources >> Resources.  I’ve created two resources (CNC1 and Lathe1).  The CNC machines can do both Advanced Cutting and Simple Cutting, but the Lathes are limited to only Simple Cutting.  I will only want to use the Lathes for simple cutting if CNC machines aren’t available.  This will be controlled through the use of the Level and Priority fields in the capability assignments on the Resource.  Later you’ll see that the Level is assigned to a route operation as an additional method of controlling which resources may be used and that the priority will control which resource is selected if multiple resources have available capacity.

The screenshot below shows that I’ve assigned a Level of 999 and a Priority of 1 to my CNC resource.  This indicates that this resource can handle almost any cutting operation and that it is my preferred resource when scheduling operations.

The screenshot for my Lathe1 resource shows that I have assigned a lower Level to the cutting capability and given it a priority of 2.  This implies that the Lathe can’t perform cuts to the level that the CNC machine can, and that it is a lower priority in terms of scheduling.  I’ll only want to schedule operations to occur at the Lathe if I can’t get it done at the CNC.

Next I’ll be creating two different items with distinct routes.  The first item (FG001) will require advanced cutting operations and the second item (FG002) will require simple cutting operations.  This implies that I’ll be able to use the Lathe for my second item should I find that capacity is not available on my CNC machine.

The screenshot below shows the route operation for FG001.  Notice that the minimum level needed is 200, which will limit my available resources to just CNC1.

The next screenshot shows the route setup for FG002.  Notice the much lower minimum level needed setting implying that I can use either the CNC or the Lathe.

The following screenshots show the impact of these settings when scheduling my production orders.  I have created three production orders; one for 10 each of FG001 and 2 for 10 each of FG002.  Note that the route for FG001 requires 4 hours of process time per unit and the route for FG002 requires 6 hours of process time per unit.  The calendar on both the Lathe and CNC machine has 8 hours available per day.

When I job scheduled my production order for 10 of FG001, it was scheduled against my CNC machine.  Remember that the Minimum level on FG001 was 200, so the only machine available for this operation is the CNC machine.

When I scheduled my first production order for 10 of FG002, it was scheduled against my Lathe.  This is because Lathe is capable of performing a cutting operation with a minimum level of 50 and my route operation only requires a level of 10.  I also have capacity available at the Lathe today, so the scheduling logic chooses to use the Lathe instead of waiting for the CNC machine to become available on September 25th.

Now notice that the CNC machine is chosen when I schedule my second production order for 10 of FG002.  This is because the CNC machine has availability, and it also has a higher priority than the Lathe.  Remember that the CNC is my preferred machine.

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!