SearchFunctions List Lookup does not return UD fields on UDTable?

In a Nutshell,

In Epicor 9:
System.Data.DataSet dsPartRevSearchAdapter = Ice.UI.FormFunctions.SearchFunctions.listLookup(this.oTrans, "PartRevSearchAdapter", out recSelected, false, whereClause);

In Epicor 10:
listLookup only gets the “core columns” it no longer gets the UD Columns by design.

So you have a few options… I use the BOReader instead of listLookup when doing simple reads… but there is also a catch.

GetList: WORKS! - BRINGS IN THE PART REV INFO WITH MY UD FIELDS POPULATED!
System.Data.DataSet dsPartRevSearchAdapter = _bor.GetList("Erp:BO:PartRevSearch", whereClause, "PartNum, RevisionNum, Character10, CheckBox02, CheckBox03, CheckBox04, Date01, Date02");

GetList: DOES NOT WORK - BRINGS IN THE PART REV INFO BUT MY UD FIELDS REMAIN BLANK
System.Data.DataSet dsPartRevSearchAdapter = _bor.GetList("Erp:BO:PartRevSearch", whereClause, "");

GetRows: Works gets my UD Fields etc…
System.Data.DataSet dsPartRevSearchAdapter = _bor.GetRows("Erp:BO:PartRevSearch", whereClause, "Character10, CheckBox02, CheckBox03, CheckBox04, Date01, Date02");

When using the BOReader.GetList you “must” specify the columns you want. When doing BOReader.GetRows you can leave the columns “” and get all.

You are probably going to end up using either the AD/BO GetRows or CreateRuntimeSearch:

SearchOptions searchOptions = SearchOptions.CreateRuntimeSearch(whereClauses, DataSetMode.RowsDataSet);
adapterUD05.InvokeSearch(searchOptions);

3 Examples:

BOReader Gotchas!

4 Likes