BO Reader in E10

First let me apologize as this was asked before in the Vantage forum under: BOReader and E10 - Yahoo Archive - Epicor User Help Forum

That being said, does anyone know which assembly contains Ice.Lib.Proxy.BOReader in E10? I cannot see it in the post but sounds like there was an answer to add into screen customization.

Thanks,
Tanner

This should let you instanciate a BOReader at the customization level. Just import the BOReader LIB.dll from the client

Ice.Proxy.Lib.BOReaderImpl _bor = WCFServiceSupport.CreateImpl<Ice.Proxy.Lib.BOReaderImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Ice.Contracts.BOReaderSvcContract>.UriPath);
DataSet ds = _bor.GetList("Erp:BO:UOMSearch","","UOMCode");
1 Like

Thanks! It appears it was Ice.Contracts.Lib.BOReader.dll.

Just another tiny heads-up.

E10 Change:

When using the BOReader.GetList you β€œmust” specify the UD columns you want. When doing BOReader.GetRows you can leave the columns β€œβ€ and get all. If your just getting Epicor Columns its ok.

// 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");

// 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, "");
3 Likes

Thanks for the information! That will definitely save me some headaches

@josecgomez and @hkeric.wci

You guys are helping in your sleep :slight_smile: This information was very useful just now for filtering columns in a GetRows! Thanks

1 Like

Well thank you on mine and @josecgomez behalf for those kind words. May a 1000 elephants fertilize your pumpkin patch with their droppings. Very kind of you sir!

2 Likes

@hkeric.wci Help! Can you share your where clause in you used in your example? I am having a hell of time figuring out to properly use the PartRevSearchAdapter. I need to find the latest approved rev.

Update - I’ll still love to get your feedback but I got it working. First I dropped my attempt at using an obscure method and went with GetList().

            PartRevSearchAdapter prs = new PartRevSearchAdapter(oTrans);
            prs.BOConnect();
            bool more = false;
            SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
            opts.NamedSearch.WhereClauses.Add("BaseList", "PartNum = '"+pn+"' AND Approved = TRUE");
             DataSet myRevs = prs.GetList(opts, out more);
            OwnerForm.dataGridView1.DataSource = myRevs.Tables[0];
            prs.Dispose();
``
1 Like
string whereClause = String.Format(" PartNum = '{0}' and RevisionNum = '{1}'", edvOrderDtlRow["PartNum"].ToString(), edvOrderDtlRow["RevisionNum"].ToString());

System.Data.DataSet dsPartRevSearchAdapter = _bor.GetList("Erp:BO:PartRevSearch", whereClause, "PartNum, RevisionNum, Character10, CheckBox02, CheckBox03, CheckBox04, Date01, Date02");

if (dsPartRevSearchAdapter.Tables[0].Rows.Count > 0) {
 	System.Data.DataRow adapterRow = dsPartRevSearchAdapter.Tables[0].Rows[0];

	// adapterRow["ColumnName"]
}

I used BOReader - should be pretty much the same.
this._bor = WCFServiceSupport.CreateImpl<Ice.Proxy.Lib.BOReaderImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Ice.Contracts.BOReaderSvcContract>.UriPath);

1 Like

Don’t ask me why but I was tryin to use GetPartRevListByConfigID()