BPM to set a field on UD101 when UD101A changed

,

Hello experts,

I haven’t touch to Epicor for almost 4 years now, barely played with E10 tools but now I am asked to get back to it so… let’s learn !

On a custom UD101 screen, I need to display the last modified date. So I’m trying to use a Pre-Proc method directive BPM on UD101.Update to set UD101.Date02 field, each time a change is made in either UD101 or UD101A. It works for UD101 but I’m stuck for the UD101A change. Using a Set field is not working ( I guess because this line has not changed.) How can I access UD101 when the change is made to UD101A ? I need to use custom code ?

Just off the top of my head… wonder if might be easier to handle the UD101A changes in a separate BPM?

Or should be able to accomplish with widgets too.
I know there are a couple good topics on this site but… don’t have a link handy right now.

Well, I spent a whole a day going though many posts on this site, and doing search using different search word, but I haven’t found something that could help me. It is probably just me not understanding enough.

I looked in the ICETools User guide, but nothing useful in there.

Also tried to make a separate BPM, but same result. If I try to use the set field widget, this can’t work because it is not the ttUD101 line that’s been updated, right ?
image

If I understand what you are saying… yes this is one reason what I was thinking a separate BPM for 101A - and maybe start with the simple stuff first - e.g. just criteria and a messagebox to confirm you are using the correct method - i.e. messagebox actually triggers when 101A is changed?

Once you are sure it is triggering as expected, then you can worry about figuring out how to update the related 101 record (not a tt table… the actual table)

If I get time later I will try to make/post a simple example.

Yes, the message box is triggered when 101A is changed. I thought there would be a way to update the field in ttUD101 table, since it seems to be accessible there.
Thanks for taking the time to help me, I appreciate.

Yeah, seems like it should work but… I think I’ve had to update the parent table directly before.

but just in case…
have you already tried setting different row states on your “set field”?
e.g. “all rows”, “all unchanged rows”, etc…
sometimes fiddling with those can make a difference too

I tried but I doesn’t work. I also tried displaying a field from ttUD101 in my message, but nothing is displayed.

image

Yeah, I did a quick check ( using UD110 & UD110A )

  • notice in the screenshot of my test messagebox
  • changing UD110A and the table ttUD110A is populated record
  • BUT… the table ttUD110 is empty

This happens a lot in methods - where developers only use the bare minimum of ttTables.
Another reason I start with messageboxes besides to verifying criteria - can make sure what REALLY is/isn’t available.

And using UD110 and UD110A
BPM widgets instead of custom code that appears to work
(E10… (VERY) quick example, limited testing… ).

ONE CAVEAT - you’ll have to manually click refresh on the UD110 form after changing the UD110A record before you’ll see the date field populated/changed. There’s a way to fix that too but… no time today,

BPM_UD110_andUD110A_ttTableQuandry.bpm (41.0 KB)
UD110_FormCustomization.xml (31.0 KB)

Wow, thanks for this ! I have just imported it, and now I have a good example to work with and figure out how those widgets works.

Again, thank you for your help, I’ll let you know the result.