UD Drop list with Predefined Options

Hey Guys has anyone added a UD Drop list with predefined values? I would like to an additional rating value to the vendor table. Any help is appreciated.

Yes. What are you struggling with? Adding the column or customizing something?

So here is my plan (which I am just beginning now). Create a new UD _Vendor table. Create the column I want to add. In this case I believe I want a column of data type string with 8 char. Then I run regenerate data model. Next I add the User Defined codes I want this drop down to have and add them to the user defined field through Extended Properties? Lastly I make the customization on the dashboard and place is where I want it? I’ve never done this before. Kind of following the help menu here.

You could make your life easier by utilizing the User Codes list and a BAQ combo or regular combo box. No data model regen needed, adding/editing the list contents is trivial.

@Aaron_Moreng do you know of a guide to follow?

I think the customization guide on epic web has an example of using user codes to add a combo box and bind the results to a table. If you need a new extension on Vendor, you’ll still need to add the field on UD_Vendor (to store the value) but in your UI, you’d use that UD Codes + Combobox to populate the values and then store the value to the new UD_Vendor field as its binding

@dr_dan Should I opt for a EpiUltraCombo or the EpiCombo?

Do you have link to that guide? or what version the guide was for?

I don’t brother, sorry. You’d have to get on there and search for yourself. The version isn’t as sensitive as you might think. Let me try and dig up an example. Are you needing help with the adding of the field or using UD codes + combo box more?

Currently adding the field. Looking to see what’s next with the codes.

I’m gonna show you a BAQ combo since they are super easy.
Create your static list in the User Codes.

Create a BAQ that reads that list and displays the columns you want.

In your customization, add a BAQCombo and bind it via the EpiBinding to your new field on UD_Vendor.

In the BAQ Information properties, set your DisplayMember to the {table}.{field} value you want the user to see in the box. Set the DynamicQueryID to your BAQ name. Set the ValueMember to the {table}.{field} value you want the selection to store in your binding.

Bam, done.


Tried something extremely similar but had no Luck.

Made the User Defined Column Maintenance

Ran the Regenerate Data M.

Launched Developer mode and made the Customization of the Base Layout.
Within the customization I added the EpiCombo Drop Down and pointed it to the UD Column I created.

Saved the Customization.
Created the UD Codes

Added the codes in the Extended Properties

Restarted Epicor but had no luck. The Drop down is there but its grayed out. Any Suggestions?
@Aaron_Moreng I’m gonna go your route if I cant get this one to work.

Update I have no Idea why, but I rebooted Epicor again and launched the correct customization and now the UD Codes are appearing.

Do you guys know how to join the vendor table to the UD vendor table so I can pull the existing ratings and the new defined RiskRating?

They should already be joined in the “Vendor” data view. Hence why you can select your RiskRating_c from the drop-down. Do you mean in a BAQ or something?

1 Like

Dan is right, the view presented to the application is a sql view of erp.vendor and erp.vendor_ud (don’t remember if it’s pre or post fix) so the data is essentially one table to work with.

Yes I mean on a BAQ.

Same rules apply in the BAQ Designer. You don’t need to do any joining. It should just appear at the bottom of the list of columns you can select.

The BAQ does but my goal is to join the Vendor to The Vendor_UD on SQL.

If you’re using SQL Server Management Studio, there will be a view that automatically combines (joins) the tables for you. If you had to do it manually, you’d use the ForeignSysRowID column in the UD table and join it to the Vendor SysRowID column (I think). I’ve never had to do it though because the system has always done it for me.

1 Like

Unless you have a really good reason, it’s best to avoid direct SQL access if you can.