Billing Info in Order BPM

Has anyone set up Billing info BPM. Basically, if there is no Billing info in the order, then though an caution on save. Or even better, if the Ship via is set to XYZ and there is no Billing info, then through error on save.

Not real good with BPM’s so any help, especially with pics, would be helpful for me.

Thanks in advance!

These BPMs would be pre processing method directives (think that you are doing this logic BEFORE an update to the database). A condition that checks the shipvia or a query that check the customer table for the billing type and the an info message or error depending on the desired effect.

So method, not data, correct?

Exactly. Although an In-Transaction Data Directive will work too.

Jason Woods

1 Like

I used the Data and it worked. Except, it keeps popping up like three times before it goes away. I’m not sure why, but how do i get it to just do the pop-up once?

Ah. That may be more effort. You likely did it on OrderRel then. I would use SalesOrder.MasterUpdate pre processing then.

Jason Woods

Data Directives are very data focused, while BPM’s are more focused on the process.

Say you want to stop an Order Releases need by date for being set less than 7 days from now.

A DD would monitor the OrderRel table with a condition set on the NeedBy field.

But if the order had 20 releases changing the NeedBy date on the Order Header page would cause your DD to fire 20 times (one for each Release that was trying to be updated)

Using a BPM could catch the changing NeedBy date and just have to fire once, before any of the OrderRel records would even be touched.

I did it on the OrderHed. In-Transaction

I thought the DAta or Method were BPM’s?

@Will79 - There might be more than one update happening to the OrderHed record. That would cause it to fire multiple times.

I think BPM was an actual type of control back in the Vantage days (or earlier) . You had BPM’s and DD’s

In E10, it looks like “BPM” is a catch all name that includes both DD’s and Method Directives.

I think a lot of poeple (or at least myself) refere to Method Directives as BPMs.

1 Like

Ok, that makes sense. I’ll work on the Method. Quickly, I need to fire when the payflag is blank/null. How do I do this when the null option is availbale?

We have a warning on Order Entry when the ProdGrp of a OrderLine is blank.

Here’s the details:
It’s a Pre-Process on the Erp.SalesOrder.Update method


The condition is:

The message is:

I believe changing the “Show Message” block to a “Raise Exception” one, would give you the stop you want

If this is as simple as the BPM needs to be, I would simply make the field Required in the Extended Properties screen.

That is a good idea. But it must only be required when we use ceratin ship vias.

The combo of PayFlag and ShipVia is easy in the BPM, but will get tricky to maintain.

You can add a bunch of lines to the condition like:

1   The ttOrderHed.PayFlag of the changed row  is equal to ""
2  AND ( The ttOrderHed.ShipVia of the changed row  is equal to "shipviacode1"
3  OR    The ttOrderHed.ShipVia of the changed row  is equal to "shipviacode2"
4  OR    The ttOrderHed.ShipVia of the changed row  is equal to "shipviacode3"
5  OR    The ttOrderHed.ShipVia of the changed row  is equal to "shipviacode4"
6  OR    The ttOrderHed.ShipVia of the changed row  is equal to "shipviacode5"  )

But adding new Shipvia’s (that require PayFlag) would require updating the BPM

Long term I would add a UD field for a check box on the Ship via so you can maintain it through Ship Via record instead on the BPM. Check for that instead of hard coding it.

1 Like

What @Banderson said …

But that makes the BPM more complicated (I’m considering the OP’s level of expertise). I think that would require a condition line of “Number of Rows in the designed Query …”, which can be tricky for new users.

(also can be trick for experienced users named ckrusen)