Quick Job Entry BPM For Updating Created Job Numbers

Hello all,

I’ve been playing around with some BPMs and wanted to set up a BPM to generate a unique job number (with the scheduled run date) as part of the number.

I’m using a Post-Processing Method Directive on QuickJobEntry.GetNewQuickJob to update the Job Number to use the Date field along with the current time converted to a string (HHmmss).

What seems to happen though is the Job Number seems to be today’s date (instead of the scheduled date or the date entered into the Date field for DMT)

Is there a way that I can correct this?

Ideally, when a piece is DMTed in for quick job entry, I would like to attach the Job Date field from the spreasheet and the current time in (HHmmss)


PartNums/Desc were taken out :slight_smile:

Set Field Expression:


DateStr variable:


The get new job is before you would define the due date of the job. The date that it gave you is todays date, because that’s the date that is defaulted. You have to change that date to what you want.

I haven’t played around with quick job in DMT, but in the UI you can put in your own job number. I would think that you can do the same thing in DMT, so if you just figure out what you want the job number to be when you DMT the jobs in there, you should be able to make it whatever you want.

I don’t think it will work the way you want in a BPM though, as the system doesn’t know what the date is when the BO is run. You might be able to append the time to the Job number that you input, but the BPM won’t be able to figure out the due date part of that formula.

So I updated the spreadsheet to add the JobNum for DMT and used a macro for the date. (So it would look like this: 1901281, date and row number)

What’s odd though, is if I supply a JobNum through DMT, even with an enabled BPM, Epicor seems to take just the job number. If I run the sheet through DMT without a JobNum column, the JobNum seems to take the date variable as the job number (hhmmss)

Does that look correct/incorrect?

Are you still on the post-processing? Maybe since the job number is already defined and you may not be able to change it on the post-processing. Give it a try on the pre-processing and see if it works there. (I’m just spit balling here, so I don’t know for sure if any of this will work. It’s just what I would try)

Doesn’t seem to do much in a Pre Processing BPM

I guess if it were me and I really needed that creation date/time I would make a UD field and populate it with a data directive.

What’s the business case on needing the date time in the job number? What happens if your job requirement dates move?

We’re looking at using Epicor for tracking our Inventory (at the moment, we have no accurate visibility of actual inventory on the shop floor)

As of now, our production scheduler schedules jobs daily based on specific machines and part requirements, because only the first two days of the orders we receive from the company we supply are firm orders so to speak. (We get a daily forecast of 1-2 weeks out for production, but out of those numbers, only the next two days are “firm”.)

I don’t think we’ll be able to generate unique lots for each container of parts moving through the warehouse, so I think narrowing down problematic pieces based on a job number/day should suffice. I hope that makes some sense, inventory in our location typically moves quick.

I guess I don’t understand why you wouldn’t just make a dashboard where you can pull in the requisite data and view the items on the list from there. Trying to pack all of that information into a “smart” job number can be problematic, mostly because a job number can’t change. So it may not be very often, but occasionally your logic will break and it will cause confusion. It’s pretty easy to make a BAQ with a job number and job due dates in it. Then adding in that UD field would get you the creation date as well. So you can have a job number, created date, and due date in 3 columns.

That being said, I don’t know your specific business, so if my reasoning is totally off, feel free to disregard and do what you feel is right.