Customer.Customer Type - Automatic Email when the field is updated during Order Entry

Hi all!

I’m trying to get a bpm set up to automatically email a user whenever the CustomerType is changed from ANY to “CUS.” This would notify the user that an order has been placed for the first time for that specific customer.

I’m able to do this with a Pre-Processing Method Directive on Customer.Update, but it only works when I make the change in Customer Maintenance. When an order is placed for the first time, it updates the CustomerType field, but it does not trigger my method directive.

I’ve tried pre and post method directive, as well as a standard data directive and can’t seem to get it, nor can I find the specific trace packet that is handling the update of this field during the Order Entry process.

Any suggestions?

You might have to run a Trace and see what method is flipping that value. Customer.Update would surely be the one that changes it in Customer Maintenance, but it sounds like a different method call changes it when it comes from Order Entry. I’m not sure off hand but my guess is there is a call in the Order Entry BO that does it. I suppose the other option would be a trigger/stored procedure somewhere.

1 Like

The only reference to CustomerType in a Trace Log was the initial return of the CustomerDataSet, and it returned it as “PRO” (Prospect.)

This might be one of those use cases for a data directive. Type on the customer record changes if the type is not customer and it is the first order created.

Suspect = New customer
Prospect = changes when the first quote is added
Customer = when a quote converted to order or first order is created.

2 Likes

Definitely a Data Directive on the Customer table.

3 Likes

I can’t send an email with an in-transaction data directive, so I would have to assume it needs to be a standard.
What criteria would I set for this? I don’t see one for “specific field changed from ANY to specified” as an option.

Yes, you need a standard directive to send the email… and you probably need an in-trans to trigger the standard.

Set-up the In-Trans directive to check that the ttCustomer.CustomerType field has been changed from any to Customer. If true, “Enable Standard Directive” (widget).

In the Standard directive, add a condition where “This directive has been enabled from the “specified” directive.” Then you can set up your “send email” widget.

2 Likes

Yeah, I would go with a Standard DD on the customer table. Could you share a screenshot of the DD you’re working on? Maybe there’s something missing, as I do have this option under the condition widget.

1 Like

Interesting… I’ve been working on this using the Kinetic UI… as soon as I switched over to the classic, I could see that condition.
I’ll give that a try in Classic and see if I can make it work. Thanks for that!

Evidently the Kinetic UI of Method and Data Directive are not completely finished according to this post - Kinetic 2023.2.4 Data Directive BPMs Read Only (Locked) - Kinetic ERP - Epicor User Help Forum
I was able to get this working pretty easily once I had access to all the conditions. Thank you all for the help!

2 Likes