We have several what we call “limited life” parts that have the LOT attribute “expiration date” set on them in Part Entry. I need a way to “check” whenever one of these type parts are issued, I would like to throw up a message telling the user to “check/verify” the expiration date on the lot so we don’t accidentally issue parts whose dates have expired. What BPM method could I use to accomplish this? Is this a simple BPM or will coding haved to be involved. Thanks in advance
If you’re talking issuing to a job you would have to hook onto the IssueReturn BO and check the lot attributes for the part pending issue. Likely a pre process method directive. Likely will need custom coding to achieve what you are looking for and won’t be fully widget driven. Might be able to do it with a “query greater than x rows” condition but I don’t know your exact params.
Do you want the warning to come up if ANY of the lots that exist, are past the expiration date? Or just if the lot the parts are selected from, has expired?
The best thing I could hope for would be for the warning to pop up when they try and issue a specific material to a job whose lot has expired. Right now, they are supposed to check before they issue but that doesn’t always happen and
then we have a problem.
Okay. Just trying to get the timing down. As in whether to warn when part is selected by the issuing process, or when the specific Lot is provided by the user.
I made a Post-Processing Method Directive on IssueReturn.OnChangeLotNum
Condition qry0 is
and Table criteria for ERP.PartLot is:
(I set the “+2 days” just for my testing as the one lot I created expires tomorrow)
When in the Material Issue screen, and I set the Lot to 1 (and then tab out of the field), I get:
If I choose lot 2 and tab out, I don’t get the message.
BTW here’s the lots for that part:
EDIT:
Note that this only checks the expiration date, when the lot selected changes. And it does nothing to top the issue from happening. To keep from selecting a lot past its expiration date, change the “Show Message” widget to a “Raise Exception” one.
And probably best to make the condition compare the Expiration Date to the Issue date, instead of to Today’s date. That would allow you to process an issue the happened yesterday, for a lot that expired today.