> I'd think that , using ODBC, a app. could be written in VB ( using ADO )
> that would loop thru the proper table , and update prices, as dictated.
If you want to use a .Net language, the code is pretty simple to use the
Business Objects directly. Doing so does not require ServiceConnect or the
overhead of web services and, unlike ODBC, ensures that all business rules are
enforced.
The code below shows how to update the price field. You could export the
current parts and prices to Access, make your changes, and then have this
program read each part and update the price.
HTH,
Mark W.
Dim strPart, errMsg As String
Dim objSess as Epicor.Mfg.Core.Session
Dim objPart as Epicor.Mfg.BO.Part
Dim dsPart as Epicor.Mfg.BO.PartDataSet
Try
' Start a new session
objSess = New Epicor.Mfg.Core.Session("manager", "manager",
"AppServerDC://UFMERP:8301", Epicor.Mfg.Core.Session.LicenseType.Default)
' Create Business Objects
objPart = New Epicor.Mfg.BO.Part(objSess.ConnectionPool)
dsPart = New Epicor.Mfg.BO.PartDataSet
Catch ex As Exception
Call MsgBox(ex.Message, MsgBoxStyle.OKOnly, "Error:1")
Application.Exit()
End Try
Try
' For each Part
strPart = <part number>
' See if part exists
If objPart.PartExists(strPart) Then
' Update part
dsPart = objPart.GetByID(strPart)
dsPart.Part.Item(0).UnitPrice = <New Price>
Try
objPart.Update(dsPart)
Catch ex As Exception
Call MsgBox(ex.Message, MsgBoxStyle.OKOnly, "Error:2")
End Try
End If
Catch ex As Exception
Call MsgBox(ex.Message, MsgBoxStyle.OKOnly, "Error:3")
End Try
objSess.Close()