BPM to prevent over-receiving a PO

Ta da!

All done, and I enabled it this morning. Now I wait for the screams.

Seriously, though, this is beta for sure. I have tested it, but my users will find out if I missed anything.

Here are the files.

  1. BPM is a Data Directive on RcvDtl table (group is “OverRec”)
  2. Function Library is “Receiving” - that’s important to know since the BPM calls the function by name, so if you want to give the library a different name (in the import), then you would need to edit the C# block in the BPM.
  3. I did this on 10.2.600.15, FYI.

OverRec_generic.bpm (36.0 KB)

Receiving.efxb (263.1 KB)

(“Generic” is because in the text of the error message I edited out my company name and “ask Jason” at the end because that would be weird at your company…)

Again, I just want to say how awesome this is to be able to throw an error from a Data Directive but have a clean way to do the calculations in a Function (or two) - since most of the info I need is not in the Data Directive natively (because it comes from other tables).

Thank you again to @A.Baeisa for the technical help on summing a field in a one-line statement; that was critical to this project.

For any Yan Can Cook fans out there, “If Jason can code, so can you!”

2 Likes

great work mate, well done you have done it all :+1::+1: and many thanks for sharing it.

1 Like

Can i know if we dont need to count the POBaseUOM ,how can change in this BPM / Library?

I get this error when i import your bpm & library.

This receipt: 2.0000 PCS
PO qty (ordered): 0.45833340 PCS
Received so far (other than this receipt line): 0.0000 PCS

Is becasuse we have Track Mutil UOM ?

1 Like

Oh man, to be honest, I have no idea. We don’t have multiple UOMs.

So you are saying this does not work for you at all?

You know that’s going to sum all the rcvDtls, which might cause issues of you’ve got multiple parts or multiple PO’s on 1 receipt?

Well, it’s worked well for 2 years now…

Apologies, I might have missed something earlier. It’s kinda hard to see exactly how this is constructed because the functionality is blown across all those widgets.

Personally, I’d shove everything into a single LINQ expression in a function and call said function from one of the qty update methods in receipt entry.

I believe you.

:frowning: ot work in my company , is maybe have multiple UOMs.:frowning:

1 Like

Thank you for this post, this has help me a lot! :clap:

1 Like

Thanks so much for this! Saved me from re-inventing it!

1 Like