What is UD01List (in Extended Properties)?

I’m actually working with UD12 today, but I thought I’d say UD01 for future SEO.

Anyway, I am about to set some field names for UD12 in Extended properties and there are 2 tables in the search. What is the “List” one? It has the same 100 columns as UD12.

image

UD12 and UD12List are the tables within the Business Objects. There are calls for GetRows, and GetList. The GetRows returns a full dataset of all fields, where the GetList only returns key fields. You can see they both reference back to UD12 as their DB table.

Use BL Tester to see the differences in action.

3 Likes

Though I have no doubt that all of that is accurate, it seems to be a bit over my head.

So, I inferred from your answer that other tables are like that, and I had not noticed this before (since I never have any reason to visit Extended Properties unless it’s a UD table). It doesn’t jump out at me with the other tables (like PartRev) since there are often others in the middle, alphabetically. But there it is.

Well, then I guess my question is more generic - where are any of these “List” tables used?

And/or, what is their purpose that the non-List table does not accomplish?

image

Edit: I really am curious about all that. But, of course, my original reason for asking was laziness. I was curious if I had to do my extended properties in both tables, doubling my work.

In the base application I would guess that UD12List is not used anywhere. The ‘GetList’ method is used when performing searches or populating dropdown lists. If your customizations ever perform a search for UD12 records, or call the GetList method in code somewhere, you will need to modify the UD12List table.

If not, modifying only UD12 is probably sufficient.

OK I think I see what you both are saying.

Database table Method to get a bunch of records Biz Object table that the method uses Difference Method Directive Biz Object
UD12 GetRows UD12 Everything UD12
UD12 GetList UD12List Only some fields UD12

Still odd to me, since I only see one business object containing both GetRows and GetList in the Method Directive search, for example.

[Edit] OK, I read this more closely - @markdamen said these are tables in the BO, not the names of the BOs - meaning the temp tables?

Alright, well like you say, I won’t worry about it since I will probably not ever see a use for the UD12List.

I think this architecture probably goes back to when network traffic was slower and more expensive. Even in the base application if Epicor are presenting a list in something like a drop down or search, then you don’t need to fill a dataset with all of the columns in each row of data from server and send it over the network to the client. A cut down list suffices, hence the reason for UD12List (amongst many others) existing.

UD tables aren’t a good example of the basis for returning a smaller dataset, because they likely return all fields in the UDxxList dataset anyway!

For proper comparison, check Part versus PartList. PartList returns 43 columns where Part returns 316 odd.

3 Likes

Good stuff. Thank you both.