Material Request Quantity for Report Quantity Jobs

Summary

We use the MES for data collection on our shop floor and are starting to use Report Quantity more frequently. However, in a few tests, we found that using Request Move results in strange quantities when Report Quantity is used.

Test Scenario

I have a job for 100 units of a part. I start the activity for the final operation of the job and build half of the units before break. I use Report Quantity to report and inspect the 50 units before logging off for break.

I return and log back in. After some time, I finish the activity and want to end the activity. I open End Activity and find that the 50 I reported earlier are already populated in the Labor Quantity field. I change this to 100, since I finished all 100, and the Completed checkbox auto-checks. I check the Request Move box, finish the required inspections, and close the activity.

I move to Material Request Queue and find that the quantity for the transaction is not 100, but 50. What we want to see is the whole quantity completed by the activity, not just what was added in End Activity Entry.

In another test scenario, I simply only reported the 50 and then ended activity on the 50 reported, and even though I checked the Request Move checkbox no new record appeared in the Material Request Queue.

Research

I looked through the console and network tabs in Developer Tools to see if I can find anything unusual. What I was able to find out was that the Labor.Update method receives 2 LaborDtl rows in the dataset, which I presume are before and after images. The first one has a labor quantity of 50, which is the quantity that was pre-populated into LaborQty when the app was first opened, and the second one has the 100 that I set as the total quantity. The return result also has a single row with a quantity of 10.

I also confirmed that there is a Request Move button in Report Quantity as well. Clicking it does, in fact, create a Material Request Queue record that shows the right quantity at the time, and doing the end activity on top of it updates the quantity to what we want. However, the issue with this is timing. We don’t want our forklift drivers to see these incomplete transactions and pick them up.

It appears that despite there being only one true LaborDtl record by the end, it seems that Epicor treats these two steps as their own transactions. However, End Activity does its calculation, it subtracts the quantity reported from the quantity that might be added in itself.

Request

What would be the best way to ensure that the value entered into LaborQty in End Activity is the value that the Material Request Queue uses? This has the potential to cause significant inventory issues, and we would like to get ahead of this before we implement this further.

Guessing a BPM/Function/Data Directive would be the best bet.

Might want to create a dashboard to see if and when issues arise, to get a head of any significat invernty issues.