Data Directive

I have a Data Directive that worked in E9, but is not working in E10

OrderHed

Condition: The ttOrderHed.OrderAmt field of Updated row is less than 2500.00 expression
Action: Set the ttOrderHed.CheckBox01 field of the updated row to the true expression

Well it is always setting the checkbox no matter how much the order amount is.

Any ideas?

Thanks,
Rick Hagy

Do you know how to go look at the code that Epicor generates?

For us, on our ERP server, it is here for OrderHed:

C:\inetpub\wwwroot\ERP10\Server\BPM\Sources\DT\ERP.OrderHed.Triggers\<XX>\InTranTrigger.cs

where <XX> would be the biggest number for the most recent source. In that file, we have a method called InTrans_3560741C8266413B97A86514B3F47112_A001 - you should find similar ones. Might be helpful to look at that to see what is going on under the hood.

Would you mind posting a screenshot of your BPM workflow?

Good point.
In E10, there is a true side and a false side of the condition workflow item. This messed me up in the beginning of our E10 upgrade. :smiley:

JOE ROJAS
Epicor Applications Manager
VENTION MEDICAL + DESIGN & DEVELOPMENT
DIRECT: 508.597.1392 x1625 | MOBILE: 774.826.9245

Just to be thorough, I’d do the following.
Does the order in question have “PUNCH” as OrderHed.Character10?
Have you verified the value of ttOrderHed.OrderAmt?
Given the “OR” logic, I’d definitely make sure that your incoming values are what you expect.

I have been checking this in our test now, and It seems to fire on any order or no order at all.

So you’re saying that OrderHed.Checkbox01 is set to true, regardless of if this BPM is on or off? Do you have another BPM setting this value anywhere?

never done this, but I was looking for it, and I can not find a folder past wwwroot.

No, the if the BPM is on it triggers, if the BPM is off it will not trigger. If I make any changes, the changes may not work at all.

Or a default value for CheckBox01?

Hopefully you’re not doing any testing in your production environment :slight_smile:
Have you tried changing the row from the “Changed Row” to the “Updated Row”?

1 Like

Very true

When this happens to me I separate the conditions into their own. This ensures that I’m getting the correct trigger.

From what I see now its that if the order is “PUNCH” then check the box. If the order is less than 2500 check the box. If the order is both check the box.

I’m not sure if this is what your trying to accomplish. I would think it would be “PUNCH” AND less than 2500 check the box but it isn’t right now.

You may want to consider throwing some displays in the BPM. I’ve found that Epicor can be funny with all their different fields. For example, while working on directives on the some of the discount fields on the OrderDtl table,there were “DocDispDiscount” and “DocDiscount” and “DispDiscount” and “Discount” - basically what seemed to be a dozen different fields. I’ve found that the BPM’s were touchy as to which ones I modified, and the one I modified in the directive was different that what I did in the UI code.

So perhaps that’s doing something like that here. Throw some displays in there to display the value of OrderAmt. My guess is that when the directive is firing, it’s zero at that time - and it’s getting updated somewhere else. Then, look at the DocOrderAmt field.

Kevin Simon
SimsTrak Consulting, LLC

2 Likes