Update an Extended field

What are the best practices for ensuring that data from custom added extended fields get updated with the standard record data?

I have create LaborDtl_UD and want to add a field for storing a special number associated with the transaction.

On the time and expense screen I want to be sure the record is updated along with my added field upon submission.

I know I can send that data in BPMContext and update it from the BPM but is there an easier/smarter way?

That should just work as the UD fields are literally just a collection of fields on the ā€˜coreā€™ row on the wire and the server. We just do some ease of use magic to move the column from the core row to a ā€˜realā€™ column in the DataSet on the client. When it hits the Data Model on the server (Db.Foo.Validate()) we split it out into the ā€˜Foo_UDā€™ table to save / update. You should not have to do any BPM Context DataSet magic - in fact Iā€™d recommend against messing in the BPM Context DataSet unless really - that area is subject to change.

2 Likes

Much thanks sir - Your opinions are worth their weight in gold.

So I would be better served to create a (hidden) textbox epiBound to the UD field?

First - I am the server geek. If its a client proxy (Impl), wire, app server or DB then I am definitely your guy. That UI stuff is all pretty and stuff but I am not your expert. I have enough in my head but keeping track of six clients on top of it ā€¦ not enough brain cells left to keep track of it allā€¦ I know each of the experts on those clients and abuse them heavily.

Second - I feel like one of the blind men with an elephant on that question. Not nearly enough details to make an opinion on technique both due to my lack of expertise in our client customization environment and lack of scope to your solution :wink:
Does it need to transpile to EWA? What else are you doing? Which forms, etc.

Sorry to beg off on exact technique. I just wanted to let you know that you should be able to treat the UD field as a coherent part of the row it extends.

hmmmā€¦ I feel another blog post comingā€¦

1 Like

It seems to me a Data Directive is what you are looking for here. Is the ā€œspecial numberā€ generated on the client? Or just a sequential number?

The number is generated on a client but stored in a UD table that represents labels. When I process this special number (I hate to call it a serial), it processes my box through T&E and marks the box as processed. The part in question is the best way to attach that number as scanned from T&E into a record related to the LaborDtl. Iā€™m going to be making a video of my solution as is so I can share it with my co-workers to get feedback - maybe I can get it on YouTube and share it so youā€™ll have a better understanding of what I am trying to accomplish.

It is eerily similar to license plating/ PCID - I just couldnā€™t wait until those features were released and working.

Ok - before I drop this link note the following:
This is an alpha release for proof of concept.
The UI\UX is shitty - perhaps I will fix that some day.
I have the sniffles.
I suck at demonstration.

Here is what I am doing:

An unrelated question - Why did you choose to make this an external application? I have done some something almost exactly the same by re-purposing a UDXX UI object and all development was done in embedded customization. Just curious.

I had intentions to bring it back into Epicor but for now itā€™s easier to keep it outside. It mainly has to do with development speed outside of Epicor.

1 Like