Issue Material - BPM Warning for Overissuing Parts

I am trying to generate a Pop Up message on the Issue Material form that alerts users when they try to issue more material to a job than what is required. Sometimes parts are picked and issued when the full amount is not available in inventory. So what I am looking for is a way to just show a warning when the following occurs.

If the sum of the TranQty (IM.TranQty) + QtyPreviouslyIssued (IM.QtyPreviouslyIssued) is greater than the QtyRequired (IM.QtyRequired).

I am fairly new to the BPM side of Epicor and could use some guidance.
Thank you

I would definitely recommend perusing the EpicorICETools_UserGuide’s BPM sections if you haven’t already.

You’re going to need to decide if you want to use a Method (Business Object Method Interceptions) or Data (Table Update/Insert/Change interceptions) directive.
I’ve had more success/consistency using data directives, but either would likely work. For the data directive, you could try an “In-Trans” directive on the JobMtl table since this is likely getting updated through this process.

The Issue Material module looks like it references those quantities from the PartTrans table somehow. The JobMtl table only has 2 quantity fields you will be able to use in the BPM: Issued quantity and required quantity. I believe the issued quantity will already be the “From Quantity” + “Previously Issued” quantity, so your statement will be slightly simpler if all goes according to plan.

1 Like

Thanks for the advice. I have been working with the Data Drirectives with and In-Trans directive, but NOT using the JobMtl Table. I was working directly from the Issue Material form and the fields in question were on the Part Trans tables.

That might could work to! I was a little hesitant to suggest the PartTran table because the Issue Material module uses that same field (PartTran.TranQty) to fill in all those text boxes, so something is going on in the background to figure that out which quantity from what transaction goes where, which could be a challenge to reproduce in a BPM. There may be some other fields besides the TranQty that you could use from the PartTran table instead though, not sure.

Also, the Data Directives get fired off every time that table gets changed. So one on the PartTran table vs one on the JobMtl table is going to get called more frequently (not just for material issues), which does use more resources. I don’t think this one BPM on the PartTran table would cause any noticable issues, but the BPM’s can start to add up and slow things down apparently.