BPM Help

Epicor 9.05.701

Requirement - If the POHeader.VendorID of a new purchase order begins with “Q” then set the POHeader.ShipName to “Queen”.

Questions -

  1. Should this be a data or method directive, because I cannot see the field VendorID in the condition “the specified field of the changed row is equal to the specified expression”.
  2. In reference to Q1, should this be a pre/base/post/standard or in transaction?
  3. if the answer is no to Q1 and Q2, - is ABL the best solution?
  1. VendorID is not a field in the PO dataset… if you want to check for it you either have to use a query (looking for a match from POHeader.VendorNum to Vendor.VendorNum and and Vendor.VendorID begins with “Q”) in the conditions or ABL
  2. My preference is to use PRE Method directives, but sometimes an In-Trans Data directive works better.
  3. Either the query OR ABL can work. There are advantages to each. I’m not a programmer, so I default to using the tools and avoiding code wherever possible. Others would rather write it all out.

Thank you.
in reference to point 1…your right, its Vendor.VendorID

In the method directive…would you use “GetNew.POHeader”?

The “GetNew” doesn’t have the VendorNum populated yet. You’d need to choose an object that happens AFTER you enter the VendorID on the form. Turn on tracing and then create a PO up to the point where you enter the VendorID, and see what object that is.

Only done this a few times before, but it looks to be:

Epicor.Mfg.BO.PO ChangeVendor void 06/03/2018 15:10:29:4524912 PM 72

Thanks for your help

this seems to have nailed it:

I guess, i’ll have to add another condition and actions for updated rows.

And then a whole new bpm for “added” and “updated” rows if it doesnt begin with Q