Epicor, sending an email when price is changed, but not the initial entry

506 Views Asked by At

I am trying to create a BPM that sends an email when a field is updated.

I have a condition checking if - The Field had been changed from 'any' to 'another'.

This works to fire off the email, but it also goes when the price in the sales order is initially created. How would I make it so that it only goes when the price is updated, but not originally set?

bpm image

3

There are 3 best solutions below

0
On

Add a condition block after start that contains the following:

    The Field had been changed from 0 to 'another'.
OR  There is at least one added row in the OrderDtl table

Connect the false condition to your existing condition block. Remove your false condition connection and connect your true condition to the email. After that, the email will only be executed when the field is changed after being populated for the first time.

Resetting the price to zero will trigger an email, but the subsequent setting will not. If this is undesirablle, you can mitigate this by adding a UD field to track "first time populated", or enabling ChangeLog tracking and retraining to any undersirable behaviors.

1
On

Add another condition as field RowMod = "U" for updated rows

0
On

By definition, a new record does not change from any to anything else. It's just a new record. So it's satisfying your condition block for false. If you had the logic reversed, you'd only get the email when the field were changed from something to something else... but never when a new record is created.

To handle this, you should add another condition block that checks for added rows. If that's false, point that to the existing condition block you have there for the field changing from any to another.