In a previous post I mentioned that we are setting up production scheduling for a small manufacturing company. That post was about using capabilities to choose the resource (work centre). This post is about using properties to choose the production date. I’ve seen calendar properties used in a few of ways. When we schedule we’re going to try to group production orders with the same property so as to minimise setup or change-over time, so an engineering company used properties to schedule production in a weekly cycle starting with smaller components and moving to larger; a food company used properties to schedule allergens (peanuts) to a specific day; a wine company used properties to schedule by variety; and a printing company used properties to schedule one-side and two-sided printing.
Let’s look at the production calendar first. Organisation administration > Common > calendars > Calendars > Working times:
As you can see, in the list grid that defines the working times per day, I’ve declared a ‘Property’. The Property main table is at Production control > Setup > Resources > Properties:
The Property is just a code with a description. You can assign Values to the Property, but as far as I know they aren’t used by scheduling. My example is a bit ‘class-room’, but it’s self-explanatory.
The calendar working times are usually setup from a working time template, Organisation administration > Common > Calendars > Working time templates:
Obviously you can have as many templates as you need. You define the Property on each of the working times on each day, for instance:
Now this works just fine if you have a weekly production cycle, but if you have a two-week (or more) cycle, then you are going to have to import your calendar working times, or figure out some other way to maintain them (for instance a customisation or the Excel add-in).
So that’s half of the setup (the calendar) – the other half is to define the property on your production order route. You can do this in a couple of ways. Firstly, you can define the property on the production order route operation – obviously you’ll want to do this on the item’s route operation. Here’s my item with its route:
And ‘Property’ is found on the General tab:
I’ve left it blank because there’s a second place that I can define the property, the item itself (Engineering fast tab):
The Property is sitting next to the Production pool and production group fields, and these fields are also often used to group like production orders.
Now let’s create a production order for this item. Production control > Common > Production orders > All production orders:
No surprises. We’ve inherited a property on the production order from the item; and a property on the production order route operation from the item’s route operation.
If there’s a property on the route operation it’s used in preference to the property on the production order.
Just one more thing to do and we are ready to schedule the order – we have to flag our resource for ‘Finite property’ scheduling. Organisation administration > Common > Resources > Resources:
Notice that the options for Finite capacity and Finite property scheduling are independent (you can schedule by property and over-load the resource if you want to). Also, obviously, you have to define the appropriate production calendar (with properties) to the resource.
So now everything is set. Back to the production order. I have to use Job scheduling
I’m scheduling forward from a date (Tuesday 2nd August 2016) with Finite property selected. When I click OK I see that my production order start date is Monday 8th August (that’s the first day after my schedule forward from date with that property):
Obviously if I re-schedule forward from 2/8/2016 without selecting Finite property I get the start date of 2/8/2016:
Because you must use job scheduling to schedule with properties, if you are on AX 2009 you will have to have the Production III module licence. Otherwise it works just the same.
If you want master planning to schedule planned production orders by property, then you will have to define Job scheduling (and Finite property scheduling) on your master plan setup. Master planning > Setup > Plans > Master plans:
Again, you have the option of scheduling Finite capacity as well as Finite property – but you don’t have to.
And that’s where I had planned to end this post – except that we hit a problem. We added a secondary operation to the route:
In this instance we have a production line, and I want to represent the workers who are packing the product as it comes off the line. My resource requirement on the secondary operation is 2 workers out of a group of workers:
Now my production order route looks like this:
Job schedule as before:
And I get:
In case you can’t read the screenshot I have:
Production – Job scheduling
Operation 10 Secondary 1
Production order P000772 could not be scheduled. Scheduling failed due to timeout
Update has been canceled.
My primary operation has setup time:
If I set that to zero, or select ‘Cancel setup time’ when I job schedule the production order, (or, as above, I don’t have a secondary resource) then I can schedule the production order. So, in order to create a reasonable schedule, (without using setup time) I need to get creative. First I created two new operations (Production setup and Packing setup), and set them up as a separate operation on my route:
Secondly in order to get the fixed setup time per batch, on the Setup tab I have selected the Consumption calculation formula = Batch:
And then specified my run time for a very large process quantity. After scheduling my production order, my capacity reservations look like this:
My first three capacity reservations are my 1.00 hour setup – but here they show as a process operation (not a setup) – so I’m hoping that doesn’t trip me up later. However this is just a temporary work-around, hopefully we’ll get a fix that will enable us to schedule with properties and setup time and secondary resources.