Send Email when UseOTS checked on new order?

I’m quite new to Epicor and trying to have the system email when a new order has the UseOTS checkbox checked. I modified an existing Data Directive on the OrderHed table and have email sending via Bpm/BpmEmail.p, but each time it sends two emails.

I also tried to setup method directives on SalesOrder.MasterUpdate and SalesOrder.Update (both pre and post) using the action "send email asynchronously based on the (email) template, but emails never send on saving a new order.

Question: What would be the best process for this? (Employee wants to have email sent anytime the UseOTS box is checked (whether on a new order, or when changed on an existing order).

Thank you.

Buenas Amigo Adán,

Ese proceso lo puedes hacer con una alerta global. para tener alertar globales en epicor necesitas con servidor de correo instalado en tu empresa, de esa manera tus correos saldrían de tu empresa ese caso se da en epicor 9,

si tienes E10 no necesitas de eso solo con colocar los puertos de salias automáticamente los correos llegan a las personas q se los designen.


Thank you!

The main problem seems to have been because I was trying to send email asynchronously. The system never sent it, but when switched to synchronously the email sent. I’m not sure why, but it is now working.


If you’re doing any coding, usually two emails comes as a result of not limiting it to the added/updated record. When it’s going through the “ttOrderHed” table, there are typically two - one where RowMod is blank (the old record) and one where RowMod = “A” or “U” (the new record). If you’re using canned actions, perhaps it was not having the correct checkboxes checked where it said which records to get.

As for emailing asynchronously, you need the BPM Action Process set up and running. That’s on the BPM -> General Ops menu. When you send an email asynchronously, it submits to that process. Check with Tech Support, they should have a knowledge based article on setting that up. You set it up once, and then it runs continuously, including automatically restarting when you bounce your system. That generates a log file - which is always something you want to check whenever you have email issues.

Hope that helps.

Kevin Simon
SimsTrak Consulting, LLC

1 Like

The One Time Ship to is on the OrderRel table. The OrderHed is added to the database first - then every line has a OrderDtl and OrderRel. Try it on update of OrderRel.UseOTS.

To perform asynchronous operations, you need to have the BPM process started (probably upon startup) in the task agent.

CAUTION: you might have some things built up, so don’t let Epicor go through them and pile up emails and tasks that you don’t need to run. Check the BPActionQueue and BPActionData tables through SQL if you can to see if there are any records. If there are, try to delete them all before starting this process (since presumably you haven’t had them happen so you don’t need the actions to happen now).

Don’t forget to do a trace of the process that you want work out what method you need to use in your BPM. I noticed you were talking about a data directive. I am sure people in the past have told me using a data directive is a last resort.

As Jim mentioned using asynchronous can cause quite a surprise after you enable the BPM process. :slight_smile: