BPM for New Purchase Orders - Not Working Through PO Suggestions

Hi all! I have a pre-processing method directive BPM on PO.Update. The condition is new row added to the POHeader table. The action is to change the default values for the Ship To address.

The reason for this is that our material receiving location is different than our company office address. The shipping address we use is actually one of our vendors, but I’m trying to avoid the purchasing agents having to change it every time.

Anyway, the BPM works great when you manually create a PO in Purchase Order Entry. However when a PO is created through New PO Suggestions, it doesn’t work.
What is different about the PO Suggestion processing? It’s not making sense to me… seems like it would still be triggered as a new row is added to the POHeader table.

You can move it to a Data Directive on added row to POHeader and it will possibly fire every time. PO suggestions use POSugg.Generate to create POs.

1 Like

Thanks so much for the suggestion, Greg! The Data Directive worked. I don’t understand when to use data directive versus method directive but glad it worked :slight_smile:

Yup… this is a very common problem when using Method directives… PO Receipts is another place, because there is more than one way to create a receipt line. Same with Sales Order… you can create a new line with Salesorder.Update… or by converting a quote, or by pulling data from a quote, or by copying an order. All of these use differing methods. BUT All of them will still trigger Data directives.
You might ask: “Well, why use Method directives then”… well, sometimes you DONT want it triggered… if it is data directive, you need to be very careful to put proper Conditions on your BPM, or it will fire over and over again… for example, in JobHead… if you have a data directive, MRP will fire it as it is creating the unfirm job, it will fire again when it reschedules, then when you firm it, it will fire again… if you only want it firing at a certain moment in time, you need to address that condition properly.

1 Like

Ah, this makes much more sense now! I guess a Method Directive would be safer if you know the isolated condition, but in this case, since I knew I needed to affect every PO created no matter the “method,” that’s a good case for Data Directive. It just clicked how Epicor came up with the terminology :smiley: Thank you for the insight, Tim.

1 Like