We went live with Epicor approx 3 years ago as standard cost environment and production users starting and ending production activities in MES for each operation and entering their confirmed quantity.
We’ve come to find out that actually collecting accurate labor times from our operators is not realistic. We process thousands of jobs daily and they are sometimes 1 to 2 quantity jobs.
We are considering moving to an average costing method and I’ve been tasked with taking our current process of START PRODCUCTION > END ACTIVITY> ENTER QTY and turn it into a one button operation that does all of that and assumes the total quantity from the job.
I’m curious if anyone operates in a similar environment or has attempted a something similar.
We’re going to be going live with MES, a part of our Epicor deployment, next year, so I would be very interested in receiving some feedback in this area after we start our user acceptation testing/training processes early next year.
I worked with a company that ran assembly cells/assembly line. MANY small qty jobs daily. They were setup for average costing with Quantity only reporting. They used the Work Queue grid to start jobs at the beginning of the line and end jobs at the end of the line. You need to watch your employee labor rates your mfg variances will “change location” for accounting. Some companies use the average costing because of a highly variable material cost like steel pricing too. Lots of things to test for…
We do something like this in one of our shops. We have a button on the MES for Start & End all in one, it starts the operation and then immediately prompts for the End, there is then a button on that screen that will autofill the outstanding qty and they can then end the activity. Ours is broken up for 2 main reasons:
- In the event that the complete qty is not run or scrap/NC is needed to be entered they still can.
- Labels are required at times so this allows them to print the tags when they need them.
We also have a custom field on the start screen that takes a single barcode containing JobNumberAssemblySeqOperSeq and then code that breaks that out so that it is all entered in the appropriate boxes for them.
That sounds exactly like what we would like to do. We also use the NC process and label printing so its good to hear its working for you.
In answer to your question then, yes it is very much do-able, we did all of this in the Kinetic UI, I’m sure it can also be done in Classic as well but I did not even bother trying.
It is relatively simple to do the Start & End with a single button click from looking at what I have in the customization, it looks as though it was as simple as chaining calling the end activity screen after clicking ok on the start screen:
This is the event that is calling:
It is looking to see if that special entry field is populated and if it is calling the function that breaks the values out to their respectiver areas and then dropping them into it before calling the End Activity Screen.
The getting the remaining qty that I do on End Activity calls a function to look up the outstanding value and enter it in the text box for them.
Awesome! Appreciate the feedback and help.
Leonard,
Circling back on this -
We also have a custom field on the start screen that takes a single barcode containing JobNumberAssemblySeq OperSeq and then code that breaks that out so that it is all entered in the appropriate boxes for them.
Are you putting this barcode on the job traveler? Barcode format type? If you’d be willing to share an example, that would be awesome. Thanks,
Yes, we print the barcode on the traveler, it is the DataWorks Bar 39 font that comes with the Epicor install (or at least it did, afaik it is the same font that the stock reports use).
The value in my field:
="*" & Fields!JobNum.Value & "-" & Fields!AssemblySeq.Value & "-" & Fields!OprSeq.Value & "*"
My custom code breaks the string out based on the ‘-’.
I then have the 2nd field to the right that pints out a human readable version.
Hi Leonard, I’m interested in adding this functionality and am new to this programming. I think I have this for the most part. What are the details regarding the function you show for the event that is called? I think I have everything else. So far I can duplicate the Start Production steps and then it stops. I hope getting that function will get me through the rest of the process. Thanks in advance.
It’s about as simple as can be, a pair of LINQ queries (which I will now likely rewrite into a single one) to pull in the Req Qty & Compl Qty:
//Get Operation Required Qty
{
RequiredQty = (from row in Db.JobOper
where row.Company == CompID && row.JobNum == JobNumber && row.AssemblySeq == AsmInt && row.OprSeq == OperInt
select row.RunQty).FirstOrDefault();
}
//Get Operation Previously Completed Qty
{
CompleteQty = (from row in Db.JobOper
where row.Company == CompID && row.JobNum == JobNumber && row.AssemblySeq == AsmInt && row.OprSeq == OperInt
select row.QtyCompleted).FirstOrDefault();
}
//Set Remaining Qty
{
RemainingQty = ( RequiredQty - CompleteQty );
}




