PO Suggestions based on Job Start Date vs Operation Start Date

Hello - Curious if anyone else is in the same boat as us.

We want all Material Parts for a Job to arrive on the Start Date of the Job so that it can be kitted. Instead they are scheduled to arrive (through PO Suggestions) at the Start Date of the Operation that the part is part of on the Job.

Is there anyway to tell PO Suggestions to look at the Start Date of the Job vs the Start Date of the Operation that the material part belongs to?

The only way I know if is to assign the material to the first operation instead. Essentially you are saying you want it all when the job starts, not when you need it on a specific operation, so that is what the Related Operation does.


First Op as the related operation or no related Op also use the site maintenance Kit Time as an offset to the material due date where all other Ops are equal to the Op start date.

1 Like

I asked if that was an option but Production said that when they kit materials for a job they group them based on the operation the material will go on. So if we assign all the parts to the 1st Operation (Kitting) they wouldn’t know where the part go. Typically on every job we have 5 Operations. Materials are assigned accordingly.

SMT Bottom
Final Assembly

If it’s just for grouping your kits, you could use a UD field to hold that information.
It would need to be made in 3 tables:
UD Field mapping will move this value from ECO to Job. Then you can add a new dropdown on Engineering WB and Job Entry to allow for modification.

I also just assign the material due dates in a post scheduling bpm so they can have the related operation they want and the suggestion will be what you want.

1 Like

woah. how do you do that?

Before we go down this road, have you done the samples in the ICE guide? any bpms? If not this may not be one to learn on and Jason’s solution would be cleaner. Or have Jason do a solution for you.

It is on ScheduleEngine.MoveJobItem as a post processing bpm. Mine does a lot of stuff so I can’t post it. Your’s will be simpler. Get Date from the first operation then set that date as the JobMtl.ReqDate. Also set JobMtl.RelatedOperation to 0.

To begin learning how to do this. Open a job in job entry and turn on tracing. Then change the due date on a material. Open up tracing again and click view. when the file opens look for the methods that are called. Searching for <method will find them. You only want the ones related to your job and material. Write all of them down as that is the flow you will be doing, just behind the scenes.

1 Like

@gpayne Does it update the PartDtl table too?

@Jason_Woods my bpm does not, so that must flow in the normal processing after because I have never had an issue in 9 or 10 with partdtl being out of sync. But you made me nervous so I had to write a query to verify that there were no mismatched records. :sweat:

Wow, i didn’t think something like this was possible through a BPM. I have created BPMs so I am familiar. I will start digging in a bit deeper with this. I appreciate you taking the time to inform me about this Greg.


Another recommended way is… Make your Picking / Purchasing an Operation and don’t allow the next one to happen until the previous Operation is complete. Schedule your Picking/Ordering Operation to consume the lead time 8-24hrs.

@Adam_Jones can elaborate.

We took the idea of a kitting operation and took it a step further and created department specific pick operations (Mill, Metal, Assembly, Graphics). All materials related to the Mill was then linked to Mill Pick operation. Then the Resource Group for Mill Pick was setup with 8 hours of move time, which means when the jobs was scheduled, the system would always set the pick operation to start a whole day before the first operation in the Mill. Now purchasing would see the same due date for all the mill related materials on that job. The move time then gave us 24 hours to receive the material in and issue it out to the jobs. This also provided our inventory control department with a picking schedule based on the various picking operations. As an added bonus, the first operation in the mill could see that materials had been issued when their corresponding Pick operation was closed, thus showing up as available work on the priority dispatch.


Usually if it is allowed in the UI then you can also do it in a bpm. You just have to trace what the UI does and replicate those steps.

The multiple kit operations may also be a way to solve without any programming, just using Epicor in a unique way.