Any way to copy UD fields from quote to order without code?

I have a client that’s on a multi-tenant hosted environment. They have added a few fields to the quote entry form that they want to transfer to the order form if they create the order from the quote. I’ve created a simple pre-processing BPM on the Quote.CreateOrder method. All it does is grab the UD field values and place them in BPM data fields. The problem is, of course, that I don’t have access to the order head table via the set field action in the BPM designer, only quote tables.

I’m able to update the order head fields using code (I also have access to an on premise installation where I can verify things), but that’s not doable in their environment. So, the question is, does anyone know of a way to copy UD fields from a quote to an order via BPMs that doesn’t require code?

In the Advanced BPM Embedded Education course there is a workshop that uses “Fill Table By Query” and “Invoke BO Method” which is what you’d want to use in an MT environment as they are purely wizard driven events.

EDIT: There is another post from last year that discusses update table by query with a couple of working examples:

2 Likes
Thanks for the response. I get the general idea, but I don't have access to the embedded education info (at least that I know of). Is there someplace I can see the workshop so I can get a better picture of how it works?

Sent from my Verizon ASUS tablet

The Ice Tools Guide has an example you can access.

https://epicweb.epicor.com/doc/Docs/EpicorICETools_UserGuide_101500.pdf#search=Search...fill%20table%20by%20query

Thanks. I’ll take a look.

Well, I took a look at the example and came up with a version that I think will do what I need but, when trying to save it I get the server side error that several types exist in more than one dll. I think I’m up the proverbial creek on this. Apparently this can be overcome using an external dll (according to Jose in another item) but I’m not sure how to go about that. Any pointers?

You are correct about having to use an external but you can also get around this using a data directive but that could take some work.

Ok, you’ve been very helpful so far so I’ll go for one more question. I’ve been trying to come up with an in-transaction data directive that will do what I need but haven’t had any luck getting one to fire when I need it.
I’m trying on the OrderHed table, when OrderNum changes (actually, I’ve tried a number of conditions without much luck) but it fires multiple times before my pre-processing method directive but not after.
So, any insight into how to configure a data directive that doesn’t fire until after the method directive on Quote.CreateOrder would be great. Or, if there’s some other approach that would be better?