I’m developing a BPM for Job Receipt to Inventory to warn users when the job they are trying to receive to inventory is not a make-to-stock job, but am running into something beyond my understanding.
(My BPM itself is simple: 1) starts with a condition that checks for a designed query with row >= 1 where the JobProd.OrderNum is greater than 0 or the JobProd.TargetJobNum is not blank–this works perfectly; 2) Raise a warning message to user that this job should not be received to inventory)
I ran a trace on the UI when loading a job, which showed that the job entered is first called through the Job Entry BO by GetByID method, then through the GetNewReceiptsFromMfgJobAsm method on the ReceiptsFromMfg BO. The latter is where I first started to develop my BPM, because Job Entry made me think that it would apply to Job Entry/Tracker/other forms that pull in Job info, but was unable to get it to work. Only time it worked was after it loaded the job info and then I refreshed the form.
So when that didn’t work, I gave in to trying the JobEntry BO method like the trace was showing me it uses first. Got the BPM to work perfectly, except… it also appears when loading a job into the Job to Job Receipt form. Obviously I don’t want this to happen, because it will pop up with every single make-to-job receipt that is transacted there. I didn’t test it, but I’m also concerned that the BPM will fire in Customer Shipment Entry, too (for Make-to-Order jobs).
My question: How do I get this BPM to only fire within the Job Receipt to Inventory form?
(Secondary–probably rhetorical question–why does Epicor allow job-to-job receipts in receipt to inventory, to inventory in job to job receipt, etc. without any kind of warning at all, or at the very least have a way to turn this on/off in site/company configurations?? Seems like they should have made those two receipt forms a single one that populates the warehouse or job information based on the demand link type of the job.)