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()