QuoteAdapter.Update error

I believe ChangePartNumMaster is more a get additional information and validation routine. ChangePartNum updates the quotedtl with the part's defaults when the part number changes.

For E9 Epicor has a BO Methods document that gives some information on the BOs and what they do along with their parameters. I think it is a freely available document, since I am not sure check with your CAM or someone on the group may have a definitive answer on its availability. "Epicor 9 (ICE 2.5)Business Object Reference Guide"

Jim Kinneman
Encompass Solutions, Inc

--- In vantage@yahoogroups.com, "ericzuerche" wrote:
>
> Never mind, I figured it out. I was able to set PartNum directly in the dataset before running Update. Silly me, thinking the running ChangePartNumMaster with the part number as a parameter would change it! Thanks again for the tip on the BL Tester.
>
> Eric
>
> --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> >
> > Thanks again guys for your "next" suggestions. I had never used the BL tester, that's a neat tool.
> >
> > The part number is never showing up in the dataset, which is causing the problem. I can create a new quote line using the BL Tester, followed by ChangePartNumMaster, ChangePartNum, and Update. I've tried running ChangePartNumMaster several times in succession using the BL Tester with no effect, putting in various part numbers in various formats (with and without single quotes, double quotes, etc). Also inputting the PartNum into ChangePartNum just changes all of the UM fields to the PartNum, so Epicor's description of ChangePartNum's parameter as UOMCode appears to be correct.
> >
> > Any other ideas for me?
> >
> > Thanks!
> > Eric
> >
> > --- In vantage@yahoogroups.com, Jose Gomez wrote:
> > >
> > > Use the BL Tester. Its in your \Utils I believe.
> > >
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@
> > > http://www.josecgomez.com
> > >
> > >
> > >
> > >
> > >
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > > On Mon, Jan 14, 2013 at 12:23 PM, Ted Koch wrote:
> > >
> > > > **
> > > >
> > > >
> > > > You can use this to output a DataSet to XML.
> > > >
> > > > DataSet.WriteXML("FilePath")
> > > >
> > > > ________________________________
> > > > From: ericzuerche ezuercher@>
> > > > To: vantage@yahoogroups.com
> > > > Sent: Monday, January 14, 2013 6:17 PM
> > > > Subject: [Vantage] Re: QuoteAdapter.Update error
> > > >
> > > >
> > > > Thank you guys for your suggestions.
> > > >
> > > > I added try/catch and it errors out at the same spot.
> > > > AGMPartNum is correct (and not blank).
> > > > ChangePartNum takes a UOMCode, I added that line because it's in the trace
> > > > with a blank string input. It makes no difference whether I have it in the
> > > > code or not, nor whether I input a UOMCode or a blank string. I'm not sure
> > > > what it's actually doing, but then I don't really know what a lot of the
> > > > functions in Epicor do!
> > > > The app log shows END SUCCESS for everything leading up to Update, which
> > > > shows END ERROR.
> > > >
> > > > Any more ideas? Is there a convenient way to check the values of the
> > > > fields in the CallContextDataSet without full-on VB debugging (we've just
> > > > got the Express version)?
> > > >
> > > > Thanks!
> > > > Eric
> > > >
> > > > --- In vantage@yahoogroups.com, Jose Gomez wrote:
> > > > >
> > > > > Whyare you calling change part num with an empty string? That may be your
> > > > > problem.
> > > > >
> > > > >
> > > > > *Jose C Gomez*
> > > > > *Software Engineer*
> > > > > *
> > > > > *
> > > > > *
> > > > > *T: 904.469.1524 mobile
> > > > > E: jose@
> > > > > http://www.josecgomez.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > *Quis custodiet ipsos custodes?*
> > > > >
> > > > >
> > > > > On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
> > > > >
> > > > > > **
> > > > > >
> > > > > >
> > > > > > I am not 100% sure about my answer, but I would try commenting out the
> > > > > > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > > > > > contents of AGMPartNum to see if it is blank.
> > > > > > Gary Boone
> > > > > >
> > > > > >
> > > > > > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > > > > > >
> > > > > > > I'd put some try/catches around things, VB is pretty quiet about
> > > > errors
> > > > > > until they really cause problems. The problem may be in an earlier
> > > > step.
> > > > > > Also look in your server log to see if there is additional information,
> > > > > > sometimes the server log will tell you more.
> > > > > > >
> > > > > > > Jim Kinneman
> > > > > > > Encompass Solutions, Inc.
> > > > > > >
> > > > > > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > > > > > >
> > > > > > > > We're adding a quote line using vbnet. All goes well until we run
> > > > > > QuoteAdapter.Update, when we get the following error:
> > > > > > > >
> > > > > > > > ************** Exception Text **************
> > > > > > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > > > > > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition:
> > > > The
> > > > > > Server application has returned an error. (7243) (7211)
> > > > > > > > --- End of inner exception stack trace ---
> > > > > > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > > > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > > > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > > > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > > > > > ....
> > > > > > > >
> > > > > > > > Our code is:
> > > > > > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal
> > > > AGMPartNum
> > > > > > as String) as Integer
> > > > > > > > 'returns the number of quote lines
> > > > > > > >
> > > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > > > > > ' Declare and Initialize EpiDataView Variables
> > > > > > > > Dim edvQuoteHed As EpiDataView =
> > > > > > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > > > > > >
> > > > > > > > ' Check if valid EpiDataView Row(s) are selected
> > > > > > > > If (edvQuoteHed.Row < 0) Then
> > > > > > > > Return 0
> > > > > > > > End If
> > > > > > > >
> > > > > > > > ' Declare and create an instance of the Adapter.
> > > > > > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > > > > > adapterQuote.BOConnect
> > > > > > > >
> > > > > > > > ' Declare and Initialize Variables
> > > > > > > > Dim quoteNum As Integer =
> > > > > > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > > > > > adapterQuote.GetByID(quoteNum)
> > > > > > > > ' Call Adapter method
> > > > > > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > > > > > adapterQuote.QuoteData.QuoteDtl.Count
> > > > > > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > > > > > "", "", "", False, False, False, True, "", "", "", False, "", True,
> > > > True,
> > > > > > "", False, False, "")
> > > > > > > > adapterQuote.ChangePartNum("")
> > > > > > > > adapterQuote.Update()
> > > > > > > > oTrans.Refresh()
> > > > > > > > ' Cleanup Adapter Reference
> > > > > > > > adapterQuote.Dispose
> > > > > > > > End Function
> > > > > > > >
> > > > > > > > Any ideas what is causing this? We have a similar function for
> > > > Sales
> > > > > > order lines and it works fine. The functions before
> > > > quoteAdapter.Update is
> > > > > > called are returning "true" results.
> > > > > > > >
> > > > > > > > Thanks in advance,
> > > > > > > > Eric
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [Non-text portions of this message have been removed]
> > > > >
> > > >
> > > > ------------------------------------
> > > >
> > > >
> > > > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > > > have already linked your email address to a yahoo id to enable access. )
> > > > (1) To access the Files Section of our Yahoo!Group for Report Builder and
> > > > Crystal Reports and other 'goodies', please goto:
> > > > http://groups.yahoo.com/group/vantage/files/.
> > > > (2) To search through old msg's goto:
> > > > http://groups.yahoo.com/group/vantage/messages
> > > > (3) To view links to Vendors that provide Vantage services goto:
> > > > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
>
We're adding a quote line using vbnet. All goes well until we run QuoteAdapter.Update, when we get the following error:

************** Exception Text **************
Epicor.Mfg.Common.BusinessObjectException: Part is required. ---> Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The Server application has returned an error. (7243) (7211)
--- End of inner exception stack trace ---
at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
....

Our code is:
Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum as String) as Integer
'returns the number of quote lines

CallQuoteAdapterGetNewQuoteDtlMethod = 0
' Declare and Initialize EpiDataView Variables
Dim edvQuoteHed As EpiDataView = CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)

' Check if valid EpiDataView Row(s) are selected
If (edvQuoteHed.Row < 0) Then
Return 0
End If

' Declare and create an instance of the Adapter.
Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
adapterQuote.BOConnect

' Declare and Initialize Variables
Dim quoteNum As Integer = CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
adapterQuote.GetByID(quoteNum)
' Call Adapter method
Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
CallQuoteAdapterGetNewQuoteDtlMethod = adapterQuote.QuoteData.QuoteDtl.Count
result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False, "", "", "", False, False, False, True, "", "", "", False, "", True, True, "", False, False, "")
adapterQuote.ChangePartNum("")
adapterQuote.Update()
oTrans.Refresh()
' Cleanup Adapter Reference
adapterQuote.Dispose
End Function

Any ideas what is causing this? We have a similar function for Sales order lines and it works fine. The functions before quoteAdapter.Update is called are returning "true" results.

Thanks in advance,
Eric
I'd put some try/catches around things, VB is pretty quiet about errors until they really cause problems. The problem may be in an earlier step. Also look in your server log to see if there is additional information, sometimes the server log will tell you more.

Jim Kinneman
Encompass Solutions, Inc.

--- In vantage@yahoogroups.com, "ericzuerche" wrote:
>
> We're adding a quote line using vbnet. All goes well until we run QuoteAdapter.Update, when we get the following error:
>
> ************** Exception Text **************
> Epicor.Mfg.Common.BusinessObjectException: Part is required. ---> Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The Server application has returned an error. (7243) (7211)
> --- End of inner exception stack trace ---
> at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> ....
>
> Our code is:
> Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum as String) as Integer
> 'returns the number of quote lines
>
> CallQuoteAdapterGetNewQuoteDtlMethod = 0
> ' Declare and Initialize EpiDataView Variables
> Dim edvQuoteHed As EpiDataView = CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
>
> ' Check if valid EpiDataView Row(s) are selected
> If (edvQuoteHed.Row < 0) Then
> Return 0
> End If
>
> ' Declare and create an instance of the Adapter.
> Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> adapterQuote.BOConnect
>
> ' Declare and Initialize Variables
> Dim quoteNum As Integer = CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> adapterQuote.GetByID(quoteNum)
> ' Call Adapter method
> Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> CallQuoteAdapterGetNewQuoteDtlMethod = adapterQuote.QuoteData.QuoteDtl.Count
> result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False, "", "", "", False, False, False, True, "", "", "", False, "", True, True, "", False, False, "")
> adapterQuote.ChangePartNum("")
> adapterQuote.Update()
> oTrans.Refresh()
> ' Cleanup Adapter Reference
> adapterQuote.Dispose
> End Function
>
> Any ideas what is causing this? We have a similar function for Sales order lines and it works fine. The functions before quoteAdapter.Update is called are returning "true" results.
>
> Thanks in advance,
> Eric
>
I am not 100% sure about my answer, but I would try commenting out the line adapterQuote.ChangePartNum(""). If that does not work, check the contents of AGMPartNum to see if it is blank.
Gary Boone

--- In vantage@yahoogroups.com, "jckinneman" wrote:
>
> I'd put some try/catches around things, VB is pretty quiet about errors until they really cause problems. The problem may be in an earlier step. Also look in your server log to see if there is additional information, sometimes the server log will tell you more.
>
> Jim Kinneman
> Encompass Solutions, Inc.
>
> --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> >
> > We're adding a quote line using vbnet. All goes well until we run QuoteAdapter.Update, when we get the following error:
> >
> > ************** Exception Text **************
> > Epicor.Mfg.Common.BusinessObjectException: Part is required. ---> Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The Server application has returned an error. (7243) (7211)
> > --- End of inner exception stack trace ---
> > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > ....
> >
> > Our code is:
> > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum as String) as Integer
> > 'returns the number of quote lines
> >
> > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > ' Declare and Initialize EpiDataView Variables
> > Dim edvQuoteHed As EpiDataView = CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> >
> > ' Check if valid EpiDataView Row(s) are selected
> > If (edvQuoteHed.Row < 0) Then
> > Return 0
> > End If
> >
> > ' Declare and create an instance of the Adapter.
> > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > adapterQuote.BOConnect
> >
> > ' Declare and Initialize Variables
> > Dim quoteNum As Integer = CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > adapterQuote.GetByID(quoteNum)
> > ' Call Adapter method
> > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > CallQuoteAdapterGetNewQuoteDtlMethod = adapterQuote.QuoteData.QuoteDtl.Count
> > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False, "", "", "", False, False, False, True, "", "", "", False, "", True, True, "", False, False, "")
> > adapterQuote.ChangePartNum("")
> > adapterQuote.Update()
> > oTrans.Refresh()
> > ' Cleanup Adapter Reference
> > adapterQuote.Dispose
> > End Function
> >
> > Any ideas what is causing this? We have a similar function for Sales order lines and it works fine. The functions before quoteAdapter.Update is called are returning "true" results.
> >
> > Thanks in advance,
> > Eric
> >
>
Whyare you calling change part num with an empty string? That may be your
problem.


*Jose C Gomez*
*Software Engineer*
*
*
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*


On Sat, Jan 12, 2013 at 10:35 AM, surf67bus <surf67bus@...> wrote:

> **
>
>
> I am not 100% sure about my answer, but I would try commenting out the
> line adapterQuote.ChangePartNum(""). If that does not work, check the
> contents of AGMPartNum to see if it is blank.
> Gary Boone
>
>
> --- In vantage@yahoogroups.com, "jckinneman" wrote:
> >
> > I'd put some try/catches around things, VB is pretty quiet about errors
> until they really cause problems. The problem may be in an earlier step.
> Also look in your server log to see if there is additional information,
> sometimes the server log will tell you more.
> >
> > Jim Kinneman
> > Encompass Solutions, Inc.
> >
> > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > >
> > > We're adding a quote line using vbnet. All goes well until we run
> QuoteAdapter.Update, when we get the following error:
> > >
> > > ************** Exception Text **************
> > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The
> Server application has returned an error. (7243) (7211)
> > > --- End of inner exception stack trace ---
> > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > ....
> > >
> > > Our code is:
> > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum
> as String) as Integer
> > > 'returns the number of quote lines
> > >
> > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > ' Declare and Initialize EpiDataView Variables
> > > Dim edvQuoteHed As EpiDataView =
> CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > >
> > > ' Check if valid EpiDataView Row(s) are selected
> > > If (edvQuoteHed.Row < 0) Then
> > > Return 0
> > > End If
> > >
> > > ' Declare and create an instance of the Adapter.
> > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > adapterQuote.BOConnect
> > >
> > > ' Declare and Initialize Variables
> > > Dim quoteNum As Integer =
> CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > adapterQuote.GetByID(quoteNum)
> > > ' Call Adapter method
> > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > CallQuoteAdapterGetNewQuoteDtlMethod =
> adapterQuote.QuoteData.QuoteDtl.Count
> > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> "", "", "", False, False, False, True, "", "", "", False, "", True, True,
> "", False, False, "")
> > > adapterQuote.ChangePartNum("")
> > > adapterQuote.Update()
> > > oTrans.Refresh()
> > > ' Cleanup Adapter Reference
> > > adapterQuote.Dispose
> > > End Function
> > >
> > > Any ideas what is causing this? We have a similar function for Sales
> order lines and it works fine. The functions before quoteAdapter.Update is
> called are returning "true" results.
> > >
> > > Thanks in advance,
> > > Eric
> > >
> >
>
>
>


[Non-text portions of this message have been removed]
Thank you guys for your suggestions.

I added try/catch and it errors out at the same spot.
AGMPartNum is correct (and not blank).
ChangePartNum takes a UOMCode, I added that line because it's in the trace with a blank string input. It makes no difference whether I have it in the code or not, nor whether I input a UOMCode or a blank string. I'm not sure what it's actually doing, but then I don't really know what a lot of the functions in Epicor do!
The app log shows END SUCCESS for everything leading up to Update, which shows END ERROR.

Any more ideas? Is there a convenient way to check the values of the fields in the CallContextDataSet without full-on VB debugging (we've just got the Express version)?

Thanks!
Eric



--- In vantage@yahoogroups.com, Jose Gomez wrote:
>
> Whyare you calling change part num with an empty string? That may be your
> problem.
>
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
>
>
>
>
>
>
> *Quis custodiet ipsos custodes?*
>
>
> On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
>
> > **
> >
> >
> > I am not 100% sure about my answer, but I would try commenting out the
> > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > contents of AGMPartNum to see if it is blank.
> > Gary Boone
> >
> >
> > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > >
> > > I'd put some try/catches around things, VB is pretty quiet about errors
> > until they really cause problems. The problem may be in an earlier step.
> > Also look in your server log to see if there is additional information,
> > sometimes the server log will tell you more.
> > >
> > > Jim Kinneman
> > > Encompass Solutions, Inc.
> > >
> > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > >
> > > > We're adding a quote line using vbnet. All goes well until we run
> > QuoteAdapter.Update, when we get the following error:
> > > >
> > > > ************** Exception Text **************
> > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The
> > Server application has returned an error. (7243) (7211)
> > > > --- End of inner exception stack trace ---
> > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > ....
> > > >
> > > > Our code is:
> > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum
> > as String) as Integer
> > > > 'returns the number of quote lines
> > > >
> > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > ' Declare and Initialize EpiDataView Variables
> > > > Dim edvQuoteHed As EpiDataView =
> > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > >
> > > > ' Check if valid EpiDataView Row(s) are selected
> > > > If (edvQuoteHed.Row < 0) Then
> > > > Return 0
> > > > End If
> > > >
> > > > ' Declare and create an instance of the Adapter.
> > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > adapterQuote.BOConnect
> > > >
> > > > ' Declare and Initialize Variables
> > > > Dim quoteNum As Integer =
> > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > adapterQuote.GetByID(quoteNum)
> > > > ' Call Adapter method
> > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > adapterQuote.QuoteData.QuoteDtl.Count
> > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > "", "", "", False, False, False, True, "", "", "", False, "", True, True,
> > "", False, False, "")
> > > > adapterQuote.ChangePartNum("")
> > > > adapterQuote.Update()
> > > > oTrans.Refresh()
> > > > ' Cleanup Adapter Reference
> > > > adapterQuote.Dispose
> > > > End Function
> > > >
> > > > Any ideas what is causing this? We have a similar function for Sales
> > order lines and it works fine. The functions before quoteAdapter.Update is
> > called are returning "true" results.
> > > >
> > > > Thanks in advance,
> > > > Eric
> > > >
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
You can use this to output a DataSet to XML.

DataSet.WriteXML("FilePath")


________________________________
From: ericzuerche <ezuercher@...>
To: vantage@yahoogroups.com
Sent: Monday, January 14, 2013 6:17 PM
Subject: [Vantage] Re: QuoteAdapter.Update error

Thank you guys for your suggestions.

I added try/catch and it errors out at the same spot.Â
AGMPartNum is correct (and not blank).Â
ChangePartNum takes a UOMCode, I added that line because it's in the trace with a blank string input. It makes no difference whether I have it in the code or not, nor whether I input a UOMCode or a blank string. I'm not sure what it's actually doing, but then I don't really know what a lot of the functions in Epicor do!
The app log shows END SUCCESS for everything leading up to Update, which shows END ERROR.

Any more ideas? Is there a convenient way to check the values of the fields in the CallContextDataSet without full-on VB debugging (we've just got the Express version)?

Thanks!
Eric



--- In vantage@yahoogroups.com, Jose Gomez wrote:
>
> Whyare you calling change part num with an empty string? That may be your
> problem.
>
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com

>Â Â

>

>
> *Quis custodiet ipsos custodes?*
>
>
> On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
>
> > **
> >
> >
> > I am not 100% sure about my answer, but I would try commenting out the
> > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > contents of AGMPartNum to see if it is blank.
> > Gary Boone
> >
> >
> > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > >
> > > I'd put some try/catches around things, VB is pretty quiet about errors
> > until they really cause problems. The problem may be in an earlier step.
> > Also look in your server log to see if there is additional information,
> > sometimes the server log will tell you more.
> > >
> > > Jim Kinneman
> > > Encompass Solutions, Inc.
> > >
> > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > >
> > > > We're adding a quote line using vbnet. All goes well until we run
> > QuoteAdapter.Update, when we get the following error:
> > > >
> > > > ************** Exception Text **************
> > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: The
> > Server application has returned an error. (7243) (7211)
> > > > --- End of inner exception stack trace ---
> > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > ....
> > > >
> > > > Our code is:
> > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal AGMPartNum
> > as String) as Integer
> > > > 'returns the number of quote lines
> > > >
> > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > ' Declare and Initialize EpiDataView Variables
> > > > Dim edvQuoteHed As EpiDataView =
> > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > >
> > > > ' Check if valid EpiDataView Row(s) are selected
> > > > If (edvQuoteHed.Row < 0) Then
> > > > Return 0
> > > > End If
> > > >
> > > > ' Declare and create an instance of the Adapter.
> > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > adapterQuote.BOConnect
> > > >
> > > > ' Declare and Initialize Variables
> > > > Dim quoteNum As Integer =
> > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > adapterQuote.GetByID(quoteNum)
> > > > ' Call Adapter method
> > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > adapterQuote.QuoteData.QuoteDtl.Count
> > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > "", "", "", False, False, False, True, "", "", "", False, "", True, True,
> > "", False, False, "")
> > > > adapterQuote.ChangePartNum("")
> > > > adapterQuote.Update()
> > > > oTrans.Refresh()
> > > > ' Cleanup Adapter Reference
> > > > adapterQuote.Dispose
> > > > End Function
> > > >
> > > > Any ideas what is causing this? We have a similar function for Sales
> > order lines and it works fine. The functions before quoteAdapter.Update is
> > called are returning "true" results.
> > > >
> > > > Thanks in advance,
> > > > Eric
> > > >
> > >
> >
> >Â
> >
>
>
> [Non-text portions of this message have been removed]
>




------------------------------------

Useful links for the Yahoo!Groups Vantage Board are: ( Note:Â You must have already linked your email address to a yahoo id to enable access. )
(1) To access the Files Section of our Yahoo!Group for Report Builder and Crystal Reports and other 'goodies', please goto: http://groups.yahoo.com/group/vantage/files/.%c2%a0
(2) To search through old msg's goto: http://groups.yahoo.com/group/vantage/messages
(3) To view links to Vendors that provide Vantage services goto: http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links



[Non-text portions of this message have been removed]
Use the BL Tester. Its in your \Utils I believe.


*Jose C Gomez*
*Software Engineer*
*
*
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*


On Mon, Jan 14, 2013 at 12:23 PM, Ted Koch <tkoch77@...> wrote:

> **
>
>
> You can use this to output a DataSet to XML.
>
> DataSet.WriteXML("FilePath")
>
> ________________________________
> From: ericzuerche ezuercher@...>
> To: vantage@yahoogroups.com
> Sent: Monday, January 14, 2013 6:17 PM
> Subject: [Vantage] Re: QuoteAdapter.Update error
>
>
> Thank you guys for your suggestions.
>
> I added try/catch and it errors out at the same spot.
> AGMPartNum is correct (and not blank).
> ChangePartNum takes a UOMCode, I added that line because it's in the trace
> with a blank string input. It makes no difference whether I have it in the
> code or not, nor whether I input a UOMCode or a blank string. I'm not sure
> what it's actually doing, but then I don't really know what a lot of the
> functions in Epicor do!
> The app log shows END SUCCESS for everything leading up to Update, which
> shows END ERROR.
>
> Any more ideas? Is there a convenient way to check the values of the
> fields in the CallContextDataSet without full-on VB debugging (we've just
> got the Express version)?
>
> Thanks!
> Eric
>
> --- In vantage@yahoogroups.com, Jose Gomez wrote:
> >
> > Whyare you calling change part num with an empty string? That may be your
> > problem.
> >
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> >
> >
> >
> >
> >
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> > On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
> >
> > > **
> > >
> > >
> > > I am not 100% sure about my answer, but I would try commenting out the
> > > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > > contents of AGMPartNum to see if it is blank.
> > > Gary Boone
> > >
> > >
> > > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > > >
> > > > I'd put some try/catches around things, VB is pretty quiet about
> errors
> > > until they really cause problems. The problem may be in an earlier
> step.
> > > Also look in your server log to see if there is additional information,
> > > sometimes the server log will tell you more.
> > > >
> > > > Jim Kinneman
> > > > Encompass Solutions, Inc.
> > > >
> > > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > > >
> > > > > We're adding a quote line using vbnet. All goes well until we run
> > > QuoteAdapter.Update, when we get the following error:
> > > > >
> > > > > ************** Exception Text **************
> > > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition:
> The
> > > Server application has returned an error. (7243) (7211)
> > > > > --- End of inner exception stack trace ---
> > > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > > ....
> > > > >
> > > > > Our code is:
> > > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal
> AGMPartNum
> > > as String) as Integer
> > > > > 'returns the number of quote lines
> > > > >
> > > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > > ' Declare and Initialize EpiDataView Variables
> > > > > Dim edvQuoteHed As EpiDataView =
> > > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > > >
> > > > > ' Check if valid EpiDataView Row(s) are selected
> > > > > If (edvQuoteHed.Row < 0) Then
> > > > > Return 0
> > > > > End If
> > > > >
> > > > > ' Declare and create an instance of the Adapter.
> > > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > > adapterQuote.BOConnect
> > > > >
> > > > > ' Declare and Initialize Variables
> > > > > Dim quoteNum As Integer =
> > > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > > adapterQuote.GetByID(quoteNum)
> > > > > ' Call Adapter method
> > > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > > adapterQuote.QuoteData.QuoteDtl.Count
> > > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > > "", "", "", False, False, False, True, "", "", "", False, "", True,
> True,
> > > "", False, False, "")
> > > > > adapterQuote.ChangePartNum("")
> > > > > adapterQuote.Update()
> > > > > oTrans.Refresh()
> > > > > ' Cleanup Adapter Reference
> > > > > adapterQuote.Dispose
> > > > > End Function
> > > > >
> > > > > Any ideas what is causing this? We have a similar function for
> Sales
> > > order lines and it works fine. The functions before
> quoteAdapter.Update is
> > > called are returning "true" results.
> > > > >
> > > > > Thanks in advance,
> > > > > Eric
> > > > >
> > > >
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
> ------------------------------------
>
>
> Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> have already linked your email address to a yahoo id to enable access. )
> (1) To access the Files Section of our Yahoo!Group for Report Builder and
> Crystal Reports and other 'goodies', please goto:
> http://groups.yahoo.com/group/vantage/files/.
> (2) To search through old msg's goto:
> http://groups.yahoo.com/group/vantage/messages
> (3) To view links to Vendors that provide Vantage services goto:
> http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
>
>
> [Non-text portions of this message have been removed]
>
>
>


[Non-text portions of this message have been removed]
Thanks again guys for your "next" suggestions. I had never used the BL tester, that's a neat tool.

The part number is never showing up in the dataset, which is causing the problem. I can create a new quote line using the BL Tester, followed by ChangePartNumMaster, ChangePartNum, and Update. I've tried running ChangePartNumMaster several times in succession using the BL Tester with no effect, putting in various part numbers in various formats (with and without single quotes, double quotes, etc). Also inputting the PartNum into ChangePartNum just changes all of the UM fields to the PartNum, so Epicor's description of ChangePartNum's parameter as UOMCode appears to be correct.

Any other ideas for me?

Thanks!
Eric

--- In vantage@yahoogroups.com, Jose Gomez wrote:
>
> Use the BL Tester. Its in your \Utils I believe.
>
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
>
>
>
>
>
>
> *Quis custodiet ipsos custodes?*
>
>
> On Mon, Jan 14, 2013 at 12:23 PM, Ted Koch wrote:
>
> > **
> >
> >
> > You can use this to output a DataSet to XML.
> >
> > DataSet.WriteXML("FilePath")
> >
> > ________________________________
> > From: ericzuerche ezuercher@...>
> > To: vantage@yahoogroups.com
> > Sent: Monday, January 14, 2013 6:17 PM
> > Subject: [Vantage] Re: QuoteAdapter.Update error
> >
> >
> > Thank you guys for your suggestions.
> >
> > I added try/catch and it errors out at the same spot.
> > AGMPartNum is correct (and not blank).
> > ChangePartNum takes a UOMCode, I added that line because it's in the trace
> > with a blank string input. It makes no difference whether I have it in the
> > code or not, nor whether I input a UOMCode or a blank string. I'm not sure
> > what it's actually doing, but then I don't really know what a lot of the
> > functions in Epicor do!
> > The app log shows END SUCCESS for everything leading up to Update, which
> > shows END ERROR.
> >
> > Any more ideas? Is there a convenient way to check the values of the
> > fields in the CallContextDataSet without full-on VB debugging (we've just
> > got the Express version)?
> >
> > Thanks!
> > Eric
> >
> > --- In vantage@yahoogroups.com, Jose Gomez wrote:
> > >
> > > Whyare you calling change part num with an empty string? That may be your
> > > problem.
> > >
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@
> > > http://www.josecgomez.com
> > >
> > >
> > >
> > >
> > >
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > > On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
> > >
> > > > **
> > > >
> > > >
> > > > I am not 100% sure about my answer, but I would try commenting out the
> > > > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > > > contents of AGMPartNum to see if it is blank.
> > > > Gary Boone
> > > >
> > > >
> > > > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > > > >
> > > > > I'd put some try/catches around things, VB is pretty quiet about
> > errors
> > > > until they really cause problems. The problem may be in an earlier
> > step.
> > > > Also look in your server log to see if there is additional information,
> > > > sometimes the server log will tell you more.
> > > > >
> > > > > Jim Kinneman
> > > > > Encompass Solutions, Inc.
> > > > >
> > > > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > > > >
> > > > > > We're adding a quote line using vbnet. All goes well until we run
> > > > QuoteAdapter.Update, when we get the following error:
> > > > > >
> > > > > > ************** Exception Text **************
> > > > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > > > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition:
> > The
> > > > Server application has returned an error. (7243) (7211)
> > > > > > --- End of inner exception stack trace ---
> > > > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > > > ....
> > > > > >
> > > > > > Our code is:
> > > > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal
> > AGMPartNum
> > > > as String) as Integer
> > > > > > 'returns the number of quote lines
> > > > > >
> > > > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > > > ' Declare and Initialize EpiDataView Variables
> > > > > > Dim edvQuoteHed As EpiDataView =
> > > > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > > > >
> > > > > > ' Check if valid EpiDataView Row(s) are selected
> > > > > > If (edvQuoteHed.Row < 0) Then
> > > > > > Return 0
> > > > > > End If
> > > > > >
> > > > > > ' Declare and create an instance of the Adapter.
> > > > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > > > adapterQuote.BOConnect
> > > > > >
> > > > > > ' Declare and Initialize Variables
> > > > > > Dim quoteNum As Integer =
> > > > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > > > adapterQuote.GetByID(quoteNum)
> > > > > > ' Call Adapter method
> > > > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > > > adapterQuote.QuoteData.QuoteDtl.Count
> > > > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > > > "", "", "", False, False, False, True, "", "", "", False, "", True,
> > True,
> > > > "", False, False, "")
> > > > > > adapterQuote.ChangePartNum("")
> > > > > > adapterQuote.Update()
> > > > > > oTrans.Refresh()
> > > > > > ' Cleanup Adapter Reference
> > > > > > adapterQuote.Dispose
> > > > > > End Function
> > > > > >
> > > > > > Any ideas what is causing this? We have a similar function for
> > Sales
> > > > order lines and it works fine. The functions before
> > quoteAdapter.Update is
> > > > called are returning "true" results.
> > > > > >
> > > > > > Thanks in advance,
> > > > > > Eric
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> > ------------------------------------
> >
> >
> > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > have already linked your email address to a yahoo id to enable access. )
> > (1) To access the Files Section of our Yahoo!Group for Report Builder and
> > Crystal Reports and other 'goodies', please goto:
> > http://groups.yahoo.com/group/vantage/files/.
> > (2) To search through old msg's goto:
> > http://groups.yahoo.com/group/vantage/messages
> > (3) To view links to Vendors that provide Vantage services goto:
> > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> >
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
set the partnumber somtimes you have to manually do it
something like
adapterQuote.QuoteData.QuoteDtl[adapterQuote.QuoteData.
QuoteDtl.Count-1].PartNum=YourPartNum;



*Jose C Gomez*
*Software Engineer*
*
*
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*


On Mon, Jan 14, 2013 at 7:14 PM, ericzuerche <ezuercher@...>wrote:

> **
>
>
> Thanks again guys for your "next" suggestions. I had never used the BL
> tester, that's a neat tool.
>
> The part number is never showing up in the dataset, which is causing the
> problem. I can create a new quote line using the BL Tester, followed by
> ChangePartNumMaster, ChangePartNum, and Update. I've tried running
> ChangePartNumMaster several times in succession using the BL Tester with no
> effect, putting in various part numbers in various formats (with and
> without single quotes, double quotes, etc). Also inputting the PartNum into
> ChangePartNum just changes all of the UM fields to the PartNum, so Epicor's
> description of ChangePartNum's parameter as UOMCode appears to be correct.
>
> Any other ideas for me?
>
>
> Thanks!
> Eric
>
> --- In vantage@yahoogroups.com, Jose Gomez wrote:
> >
> > Use the BL Tester. Its in your \Utils I believe.
> >
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> >
> >
> >
> >
> >
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> > On Mon, Jan 14, 2013 at 12:23 PM, Ted Koch wrote:
> >
> > > **
>
> > >
> > >
> > > You can use this to output a DataSet to XML.
> > >
> > > DataSet.WriteXML("FilePath")
> > >
> > > ________________________________
> > > From: ericzuerche ezuercher@...>
>
> > > To: vantage@yahoogroups.com
> > > Sent: Monday, January 14, 2013 6:17 PM
> > > Subject: [Vantage] Re: QuoteAdapter.Update error
> > >
> > >
> > > Thank you guys for your suggestions.
> > >
> > > I added try/catch and it errors out at the same spot.
> > > AGMPartNum is correct (and not blank).
> > > ChangePartNum takes a UOMCode, I added that line because it's in the
> trace
> > > with a blank string input. It makes no difference whether I have it in
> the
> > > code or not, nor whether I input a UOMCode or a blank string. I'm not
> sure
> > > what it's actually doing, but then I don't really know what a lot of
> the
> > > functions in Epicor do!
> > > The app log shows END SUCCESS for everything leading up to Update,
> which
> > > shows END ERROR.
> > >
> > > Any more ideas? Is there a convenient way to check the values of the
> > > fields in the CallContextDataSet without full-on VB debugging (we've
> just
> > > got the Express version)?
> > >
> > > Thanks!
> > > Eric
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez wrote:
> > > >
> > > > Whyare you calling change part num with an empty string? That may be
> your
> > > > problem.
> > > >
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > > On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
> > > >
> > > > > **
> > > > >
> > > > >
> > > > > I am not 100% sure about my answer, but I would try commenting out
> the
> > > > > line adapterQuote.ChangePartNum(""). If that does not work, check
> the
> > > > > contents of AGMPartNum to see if it is blank.
> > > > > Gary Boone
> > > > >
> > > > >
> > > > > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > > > > >
> > > > > > I'd put some try/catches around things, VB is pretty quiet about
> > > errors
> > > > > until they really cause problems. The problem may be in an earlier
> > > step.
> > > > > Also look in your server log to see if there is additional
> information,
> > > > > sometimes the server log will tell you more.
> > > > > >
> > > > > > Jim Kinneman
> > > > > > Encompass Solutions, Inc.
> > > > > >
> > > > > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > > > > >
> > > > > > > We're adding a quote line using vbnet. All goes well until we
> run
> > > > > QuoteAdapter.Update, when we get the following error:
> > > > > > >
> > > > > > > ************** Exception Text **************
> > > > > > > Epicor.Mfg.Common.BusinessObjectException: Part is required.
> --->
> > > > > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR
> condition:
> > > The
> > > > > Server application has returned an error. (7243) (7211)
> > > > > > > --- End of inner exception stack trace ---
> > > > > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String
> AGMPartNum)
> > > > > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > > > > ....
> > > > > > >
> > > > > > > Our code is:
> > > > > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal
> > > AGMPartNum
> > > > > as String) as Integer
> > > > > > > 'returns the number of quote lines
> > > > > > >
> > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > > > > ' Declare and Initialize EpiDataView Variables
> > > > > > > Dim edvQuoteHed As EpiDataView =
> > > > > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > > > > >
> > > > > > > ' Check if valid EpiDataView Row(s) are selected
> > > > > > > If (edvQuoteHed.Row < 0) Then
> > > > > > > Return 0
> > > > > > > End If
> > > > > > >
> > > > > > > ' Declare and create an instance of the Adapter.
> > > > > > > Dim adapterQuote As QuoteAdapter = New
> QuoteAdapter(Script.oTrans)
> > > > > > > adapterQuote.BOConnect
> > > > > > >
> > > > > > > ' Declare and Initialize Variables
> > > > > > > Dim quoteNum As Integer =
> > > > > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > > > > adapterQuote.GetByID(quoteNum)
> > > > > > > ' Call Adapter method
> > > > > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > > > > adapterQuote.QuoteData.QuoteDtl.Count
> > > > > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False,
> False,
> > > > > "", "", "", False, False, False, True, "", "", "", False, "", True,
> > > True,
> > > > > "", False, False, "")
> > > > > > > adapterQuote.ChangePartNum("")
> > > > > > > adapterQuote.Update()
> > > > > > > oTrans.Refresh()
> > > > > > > ' Cleanup Adapter Reference
> > > > > > > adapterQuote.Dispose
> > > > > > > End Function
> > > > > > >
> > > > > > > Any ideas what is causing this? We have a similar function for
> > > Sales
> > > > > order lines and it works fine. The functions before
> > > quoteAdapter.Update is
> > > > > called are returning "true" results.
> > > > > > >
> > > > > > > Thanks in advance,
> > > > > > > Eric
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> > > ------------------------------------
> > >
> > >
> > > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > > have already linked your email address to a yahoo id to enable access.
> )
> > > (1) To access the Files Section of our Yahoo!Group for Report Builder
> and
> > > Crystal Reports and other 'goodies', please goto:
> > > http://groups.yahoo.com/group/vantage/files/.
> > > (2) To search through old msg's goto:
> > > http://groups.yahoo.com/group/vantage/messages
> > > (3) To view links to Vendors that provide Vantage services goto:
> > > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
>
>


[Non-text portions of this message have been removed]
Never mind, I figured it out. I was able to set PartNum directly in the dataset before running Update. Silly me, thinking the running ChangePartNumMaster with the part number as a parameter would change it! Thanks again for the tip on the BL Tester.

Eric

--- In vantage@yahoogroups.com, "ericzuerche" wrote:
>
> Thanks again guys for your "next" suggestions. I had never used the BL tester, that's a neat tool.
>
> The part number is never showing up in the dataset, which is causing the problem. I can create a new quote line using the BL Tester, followed by ChangePartNumMaster, ChangePartNum, and Update. I've tried running ChangePartNumMaster several times in succession using the BL Tester with no effect, putting in various part numbers in various formats (with and without single quotes, double quotes, etc). Also inputting the PartNum into ChangePartNum just changes all of the UM fields to the PartNum, so Epicor's description of ChangePartNum's parameter as UOMCode appears to be correct.
>
> Any other ideas for me?
>
> Thanks!
> Eric
>
> --- In vantage@yahoogroups.com, Jose Gomez wrote:
> >
> > Use the BL Tester. Its in your \Utils I believe.
> >
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@
> > http://www.josecgomez.com
> >
> >
> >
> >
> >
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> > On Mon, Jan 14, 2013 at 12:23 PM, Ted Koch wrote:
> >
> > > **
> > >
> > >
> > > You can use this to output a DataSet to XML.
> > >
> > > DataSet.WriteXML("FilePath")
> > >
> > > ________________________________
> > > From: ericzuerche ezuercher@>
> > > To: vantage@yahoogroups.com
> > > Sent: Monday, January 14, 2013 6:17 PM
> > > Subject: [Vantage] Re: QuoteAdapter.Update error
> > >
> > >
> > > Thank you guys for your suggestions.
> > >
> > > I added try/catch and it errors out at the same spot.
> > > AGMPartNum is correct (and not blank).
> > > ChangePartNum takes a UOMCode, I added that line because it's in the trace
> > > with a blank string input. It makes no difference whether I have it in the
> > > code or not, nor whether I input a UOMCode or a blank string. I'm not sure
> > > what it's actually doing, but then I don't really know what a lot of the
> > > functions in Epicor do!
> > > The app log shows END SUCCESS for everything leading up to Update, which
> > > shows END ERROR.
> > >
> > > Any more ideas? Is there a convenient way to check the values of the
> > > fields in the CallContextDataSet without full-on VB debugging (we've just
> > > got the Express version)?
> > >
> > > Thanks!
> > > Eric
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez wrote:
> > > >
> > > > Whyare you calling change part num with an empty string? That may be your
> > > > problem.
> > > >
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > > On Sat, Jan 12, 2013 at 10:35 AM, surf67bus wrote:
> > > >
> > > > > **
> > > > >
> > > > >
> > > > > I am not 100% sure about my answer, but I would try commenting out the
> > > > > line adapterQuote.ChangePartNum(""). If that does not work, check the
> > > > > contents of AGMPartNum to see if it is blank.
> > > > > Gary Boone
> > > > >
> > > > >
> > > > > --- In vantage@yahoogroups.com, "jckinneman" wrote:
> > > > > >
> > > > > > I'd put some try/catches around things, VB is pretty quiet about
> > > errors
> > > > > until they really cause problems. The problem may be in an earlier
> > > step.
> > > > > Also look in your server log to see if there is additional information,
> > > > > sometimes the server log will tell you more.
> > > > > >
> > > > > > Jim Kinneman
> > > > > > Encompass Solutions, Inc.
> > > > > >
> > > > > > --- In vantage@yahoogroups.com, "ericzuerche" wrote:
> > > > > > >
> > > > > > > We're adding a quote line using vbnet. All goes well until we run
> > > > > QuoteAdapter.Update, when we get the following error:
> > > > > > >
> > > > > > > ************** Exception Text **************
> > > > > > > Epicor.Mfg.Common.BusinessObjectException: Part is required. --->
> > > > > Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition:
> > > The
> > > > > Server application has returned an error. (7243) (7211)
> > > > > > > --- End of inner exception stack trace ---
> > > > > > > at Epicor.Mfg.Proxy.QuoteImpl.Update(QuoteDataSet ds)
> > > > > > > at Epicor.Mfg.UI.Adapters.QuoteAdapter.Update()
> > > > > > > at Script.CallQuoteAdapterGetNewQuoteDtlMethod(String AGMPartNum)
> > > > > > > at Script.ejz_cmd_lookup_Click(Object sender, EventArgs args)
> > > > > > > ....
> > > > > > >
> > > > > > > Our code is:
> > > > > > > Private Function CallQuoteAdapterGetNewQuoteDtlMethod(ByVal
> > > AGMPartNum
> > > > > as String) as Integer
> > > > > > > 'returns the number of quote lines
> > > > > > >
> > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod = 0
> > > > > > > ' Declare and Initialize EpiDataView Variables
> > > > > > > Dim edvQuoteHed As EpiDataView =
> > > > > CType(Script.oTrans.EpiDataViews("QuoteHed"),EpiDataView)
> > > > > > >
> > > > > > > ' Check if valid EpiDataView Row(s) are selected
> > > > > > > If (edvQuoteHed.Row < 0) Then
> > > > > > > Return 0
> > > > > > > End If
> > > > > > >
> > > > > > > ' Declare and create an instance of the Adapter.
> > > > > > > Dim adapterQuote As QuoteAdapter = New QuoteAdapter(Script.oTrans)
> > > > > > > adapterQuote.BOConnect
> > > > > > >
> > > > > > > ' Declare and Initialize Variables
> > > > > > > Dim quoteNum As Integer =
> > > > > CType(edvQuoteHed.dataView(edvQuoteHed.Row)("QuoteNum"),Integer)
> > > > > > > adapterQuote.GetByID(quoteNum)
> > > > > > > ' Call Adapter method
> > > > > > > Dim result As Boolean = adapterQuote.GetNewQuoteDtl(quoteNum)
> > > > > > > CallQuoteAdapterGetNewQuoteDtlMethod =
> > > > > adapterQuote.QuoteData.QuoteDtl.Count
> > > > > > > result = adapterQuote.ChangePartNumMaster(AGMPartNum, False, False,
> > > > > "", "", "", False, False, False, True, "", "", "", False, "", True,
> > > True,
> > > > > "", False, False, "")
> > > > > > > adapterQuote.ChangePartNum("")
> > > > > > > adapterQuote.Update()
> > > > > > > oTrans.Refresh()
> > > > > > > ' Cleanup Adapter Reference
> > > > > > > adapterQuote.Dispose
> > > > > > > End Function
> > > > > > >
> > > > > > > Any ideas what is causing this? We have a similar function for
> > > Sales
> > > > > order lines and it works fine. The functions before
> > > quoteAdapter.Update is
> > > > > called are returning "true" results.
> > > > > > >
> > > > > > > Thanks in advance,
> > > > > > > Eric
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> > > ------------------------------------
> > >
> > >
> > > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > > have already linked your email address to a yahoo id to enable access. )
> > > (1) To access the Files Section of our Yahoo!Group for Report Builder and
> > > Crystal Reports and other 'goodies', please goto:
> > > http://groups.yahoo.com/group/vantage/files/.
> > > (2) To search through old msg's goto:
> > > http://groups.yahoo.com/group/vantage/messages
> > > (3) To view links to Vendors that provide Vantage services goto:
> > > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>