1.Resource efficiency percentage
What is it used for?
The efficiency percentage is a field that is found in all MRP/ ERP systems. It has the obvious purpose to take into account the real world. If I work 8 hours a day according to my contract, the scheduling system cannot assume that I am indeed going to be available 8 hours to do work. The natural down time has to be taken into account. An efficiency of 85% is considered realistic for human workers. For machines one would leave it at 100%. When machines are down for maintenance or repair reasons. We do not use efficiency % but actually adjust the calendar to zero hours for the duration of the maintenance.
The system uses this efficiency % to reduce the day length. EXAMPLE: If your calendar indicates 8 hours per working day, and your efficiency is 80%, the system will assume you only have 6.4 hours per day to do work. See screens below.
In the standard definition, this is a field that has values below 100. But there is no problem entering values > 100 and this turned out to be very useful.
NOTE: In Resource groups in AX 2012, the efficiency percentage can no longer be changed.
Use Efficiency% > 100%
Many manufacturing companies have a dilemma in the set up of resources as follows: Let’s say we have a department where 5 employees work full time. I do not want to manage them each as a separate resource. I want my scheduling to be on the level of the team. How to represent their capacity?
If we don’t know about the trick with the efficiency % > 100%, we would have to create them each as a resource, link them to a resource group which is the team and we would get available capacity of 200 hours a week as we wanted. If we use operation scheduling only, the system would schedule on the resource group level and it would work fine. If we want to use job scheduling, we are in trouble. The system will want to pick one of the five resources and if running “infinite” capacity, it will always be the first one (with the lowest id). This clearly will not work.
We would do this instead: define the team of 5 as one resource with efficiency 500%. This will give us 200 hours per week for scheduling and the system assumes we can do 5 jobs in parallel without really scheduling any of that detail.
2. How to define shifts?
This has been discussed very often, because DAX does not use the concept “shift” in scheduling functionality. The main question is how granular we want to manage capacity. If we want the system to know exactly who works when, we’ll have to set up calendars that define the work hours of each shift exactly and link them to the resource. But if we are not managing our capacity “to the person” this does not make much sense. If we have a 2 shift operation, DAX only needs to know the total of work hours of the 2 shifts together. This is defined in the calendar and this will define capacity accurately enough for scheduling.
In Manufacturing execution, the shift is typically defined in the profile. It is critical here as payment is different for different shifts.
3. Secondary operations
This feature is designed to address the ‘man/machine’ problem where we have operators and machines working as resources in the same routing step. One of the two has to be primary for scheduling and typically this would be the machine.
Note: in early AX 2012 kernel versions it is not possible to use the same operation code for primary and secondary routing operation as shown in the screen above. Above screen was created in 6.2.1000.4051. In that case a different operation code has to be used and the times of the secondary operation will not display (but are used)
The operator is added to the routing with the same operation number but with priority ‘secondary 1’. What is the functionality of a secondary operation? Such an operation does not allow any updates to the times. The times of the primary operation are used. We can use separate rates and of course a separate resource group or resource or resource requirement. For scheduling, the secondary operation is 100% parallel. But what if we have an operator that is handling multiple machines, so he/she is only “part time” working on the machine resource?
There are up to 5 secondary operations possible but I have never seen them used. Secondary 2 could be used for Tooling. (when tools are defined as resources).
4.Use the Load field to handle one operator handling multiple machines.
Often one operator handles more machines. How to set this up correctly?
- For scheduling and for costing we want to reflect that our operator is ‘part time’ for this machine.
- This is done by using the little known field on the Resource Requirement tab ‘Load’
With a percentage < 100 we can indicate that our operator is part time attending to this machine.
This will reduce the hours of the secondary operation so it will also reduce the cost.
Of course the system will not be able to send a warning when our total % for a human resource is higher then 100%.