BPM Help

(Mark Rowley) #1

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?

(Ernie Lowell) #2
  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.

(Mark Rowley) #3

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

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

(Ernie Lowell) #4

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.

(Mark Rowley) #5

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

(Mark Rowley) #6

Thanks for your help

this seems to have nailed it:

(Mark Rowley) #7

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