Add UD table in Part master

Hello Team,
in the Epicor 10, we can add UD table into a customization such as Part, Order Entry.
do we have the same in Kinetic 2024.2? we need create 30 ud fields in part but we think we can use UD table instead. is it any idea how to do it in Kinetic.

thanks,

Eddy

Nothing has changed in regards to functionality…

All versions still support UD Column Maintenance to add UD columns to existing database tables.

All the UD Tables are also still available if you’re referring to tables like UD01, UD02, etc.

If you add the UD Columns to the Part table, they should be readily available in forms which pull the part records. You would just need to customize the form to map UI components (textboxes, checkboxes, etc.) to them.

If you add the columns to a UD Table, like UD01, you would need to customize forms with a Dataview and rest-call event to return data against that UD table into the dataview when and where you’re looking to use them.

1 Like

I believe the cloud SDK would allow you to add a table or custom BO, if you are set on that path. I probably would just use one of the existing UD tables as we try to stretch every dollar.

can anyone show me a example or hint in Kinetic how to add the ud table in part master or order entry.
thanks,
Eddy

Why the need to add a table and not use UD Fields? Under the covers, adding UD fields IS adding a table and doing the linkage for you. Taking over a UD Table, you would have to do that linkage yourself. What’s the business reason for another table?

part table link to ud table is possible in epicor10.
we don’t want to create ud fields in part.

regards,
Eddy

Here’s an example of simply adding UD Columns to an existing table. As @Mark_Wonsil and I mentioned, this is a much more straight-forward approach.

In this case, I added 35 UD columns to the QuoteDtl table (There are always two system columns added for SysRevID and ForeignSysRowID… that’s why the count is 37 highlighted below).

In Order Entry (or any other form where QuoteDtl is utilized), I can see all of those UD columns are included in the QuoteDtl dataview. There’s no reason to map things manually. They’re pulled in and ready to use automatically.

2 Likes

thanks so much.
how to set up the link so, we can save the data into the ud table.

regards,

Eddy

Well, let’s make sure we’re talking about the same thing…

UD Tables come in (2) flavors… “extension” tables and standalone tables.

(I don’t know if there are more official terms for these, or not.)

EXTENSION TABLES:

The system has a Part database table.

In UD Column Maintenance, you can add columns to that table. When you do this, the system creates a Part_UD “extension” table. They are automatically linked together.

Below are a bunch I’ve created in this manner:

You then add columns/fields to those tables… and they’re automatically available anywhere you use the Part table (Part_UD automatically comes along for the ride).

~*~

STANDALONE UD Tables:
Epicor also provides generic user tables. These are:

UD01 - UD40
UD100 - UD110 (parent/child tables)

These take a lot more set-up (application studio events, etc.) to get them linked to a database table on a given form.

So… again, we’re just trying to determine which UD table variety you’re looking to use.

Are you looking for the Kinetic equivalent of this?

image

1 Like

we want to use UD14 table and add to Part.
in epicor 10, we can do that and it is automatically linked UD14 with Part.
don’t know if we can do it in Kinetic.

thanks,

Eddy

I have not seen a Wizard that does that in Kinetic yet. I imagine one can wire it up if they needed a one-to-many table.

yes, this is in Epicor 10. we want to see if we can have similar in Kinetic.

I would really consider the advice already mentioned here.

Your life will be less complicated if you just add the UD Fields to the Part table, which behind the scenes creates a Part_UD for you. Embrace the EpiMagic and let it do the work for you.

You can use a UD table and there isn’t anything wrong with that, but everywhere you want to touch that, you’re going to have to wire it up yourself. Why reinvent the wheel?

1 Like

Hello Chad,
I know that. we ca add ud fields in part table. and simple like that.
but our part_ud table is big and it is over 200 ud fields already. don’t just want to add more. it will affect performance. that’s why we try a different way to use ud table instead of ud fields. but Kinetic cut the nice feature from the epicor 10. it is not very nice.

Regards,

Eddy

Using the Part_UD table is the preferred method if your records are one-to-one. But if you want/need a child table because you want to save one-to-many type records, then, yes, using the UD14 table is possible… but not “easy” to set-up (no wizard at this time) in App Studio. You have to set it up manually.

First, I recommend reviewing an existing “Idea” to bring this Wizard back into Application Studio with full functionality. Wizard - Add User Defined Table As Child

Read the comments on that “Idea” as they give a good background comparison between Classic/App Studio and what is missing that you need to set up.

VOTE FOR THE IDEA. Its been out there since July of 2023 and this needs to be pushed to get more traction. This is functionality that used to be easy in Classic but is a struggle in Application Studio, and that needs to be remedied!

~*~

I’ll share some example snips of my set-up.

1. You’ll need a DataView to house the UD14 records. In my case, I used UD02.

You can give the view any name you want.

I’ve seen some instances where users have added information in the Parent Child Relationship area… I did not, and it works just fine. So, I’m not fully aware of when to do that and when not to.

2. You’ll need an event like below to perform a rest call to GetaNewUD14:

The Trigger can be whatever you need based on your requirements. I’m calling mine from a different event, so mine is empty.

I have a condition which checks that PartNum is != “”

My rest-call method parameters:

image

I don’t have any Request Parameters…

Response Parameter:

Dataset:
image

On Success of creating the new row… use the row-current-set in order to set that new row as the active row in your dataview (“UD02_Spec” in my case).

Then use the Row Update to set any keyfields you already know for the new record. I would assume your Key1 would be your PartNum value.

I then have a slider-open as my data entry fields are for my UD table columns are on their own page. If you are just adding additional fields directly to an existing Part Entry page, you won’t need that.

At this point, I would test and verify in debugger that your event is firing as expected.

You should be able to enter values into your UD14 data entry fields.

3. You’ll then need another button + event to Save the record back to the UD14 table. Below is what mine looks like:

I have a condition that checks that pertinent fields have values. If TRUE, it performs a rest call via the UD02.Update service.

The Row update in mine just sets a TransView flag I use elsewhere, and the refreshBAQ is used to help refresh some grids I have on the page displaying the UD02 data. You may or may not need those depending on what you’re doing.

  1. If you want/need the ability to delete a record from your UD14 table… you’ll also need to create that event using the UD14 DeleteByID service

Can’t promise this will all work as I’ve tried to help others and we’ve stumbled a couple times. But… fingers crossed.

3 Likes

100% recommend the UD columns rather than the ud table.

If you are using multisite then consider very closely if you need to put the fields on the part table or the partplant table.