We have an external program writing to Sales Order entry using BOI, The order gets written correctly but it doesn't update the next sales order number.
oPvx = CreateObject("Providex.Script")
oPvx.Init("\\MAS\Sage Software\2014\MAS90\Home")
oSS = oPvx.NewObject("SY_Session")
retVal = oSS.nLogon()
If retVal = 0 Then
retVal = oSS.nSetUser("tim", "timac140")
End If
retVal = oSS.nSetCompany("TTT")
If retVal = 0 Then
MsgBox(oSS.sLastErrorMsg & "at set Company")
Else
mMnth = Microsoft.VisualBasic.Right("00" & Month(Now), 2)
mDay = Microsoft.VisualBasic.Right("00" & Now.Day, 2)
retVal = oSS.nSetDate("S/O", Year(Now) & mMnth & mDay)
If retVal = 0 Then
MsgBox(oSS.sLastErrorMsg & "at set Date")
Else
retVal = oSS.nSetModule("S/O")
retVal = oSS.nSetProgram(oSS.nLookupTask("SO_SALESORDER_UI"))
oSO = oPvx.NewObject("SO_SalesOrder_bus", oSS, "SO_SalesOrderHeader")
sqlStr = "select NextSalesOrderNo from SO_Options"
Call Conctn()
Command = New OdbcCommand(sqlStr, sConnection)
rs = Command.ExecuteReader
If rs.HasRows Then
While rs.Read
nSONo = rs(0)
End While
End If
retVal = oSO.nSetKeyValue("SALESORDERNO$", nSONo)
' retVal = oSO.nGetNextSalesOrderNo(nSONo)
retVal = oSO.nsetKey(nSONo)
retVal = oSO.nSetValue("ORDERDATE$", ArrFileLine(6))
retVal = oSO.nSetValue("SHIPEXPIREDATE$", ArrFileLine(25))
retVal = oSO.nSetValue("ARDIVISIONNO$", "00")
retVal = oSO.nSetValue("CUSTOMERNO$", "S&SACTI")
retVal = oSO.nSetValue("CUSTOMERPONO$", ArrFileLine(5))
retVal = oSO.nSetValue("SHIPTOCODE$", "DPSH")
retVal = oSO.nSetValue("COMMENT$", ArrFileLine(13))
retVal = oSO.nSetValue("SHIPVIA$", "UPS-GRND")
retVal = oSO.nSetValue("UDF_SHIP_VIA_CODE", ArrFileLine(27) & ArrFileLine(26))
retVal = oSO.nSetValue("UDF_FREIGHT_TERMS", "COLLECT")
retVal = oSO.nSetValue("FOB$", "DESTINATION")
retVal = oSO.nSetValue("TERMSCODE$", "01")
retVal = oSO.nSetValue("SHIPTONAME$", ArrFileLine(29))
retVal = oSO.nSetValue("UDF_SHIPTO_ATTENTION_TO$", ArrFileLine(30))
retVal = oSO.nSetValue("SHIPTOADDRESS1$", ArrFileLine(37))
retVal = oSO.nSetValue("SHIPTOADDRESS2$", ArrFileLine(38))
retVal = oSO.nSetValue("SHIPTOZIPCODE$", ArrFileLine(41))
retVal = oSO.nSetValue("SHIPTOCITY$", ArrFileLine(39))
retVal = oSO.nSetValue("SHIPTOSTATE$", ArrFileLine(40))
retVal = oSO.nSetValue("SHIPTOCOUNTRYCODE$", ArrFileLine(42))
retVal = oSO.nSetValue("UDF_PICKINGSHEETCOMMENT$", ArrFileLine(44) & ArrFileLine(45) & ArrFileLine(46))
End If
End If
Else
If ArrFileLine(0) = "02" Then
MsgBox(ArrFileLine(0))
retVal = oSO.oLines.nAddLine()
MsgBox("Line added")
If retVal = 0 Then
sMsg = "Error ecountered on Sales order " & nSONo & " adding line " & ArrFileLine(1) &
" importing " & fName & "." & vbNewLine & oSO.sLastErrorMsg
sSub = "Error Importing Dropship Order"
retVal = oSO.nClear()
oSO = Nothing
oSS.nCleanup()
oSS.DropObject()
oSS = Nothing
oPvx = Nothing
Exit Sub
Else
retVal = oSO.oLines.nSetValue("ITEMCODE$", ArrFileLine(2))
retVal = oSO.oLines.nSetValue("QUANTITYORDERED$", CDbl(ArrFileLine(6)))
retVal = oSO.oLines.nSetValue("UNITPRICE$", ArrFileLine(8))
retVal = oSO.oLines.nSetValue("EXTENSIONAMT$", CDbl(ArrFileLine(9)))
retVal = oSO.oLines.nWrite()
If retVal = 0 Then
sMsg = "Error ecountered writing Sales order " & nSONo & " line " & ArrFileLine(1) &
" importing " & fName & "." & vbNewLine & oSO.sLastErrorMsg
sSub = "Error Importing Dropship Order"
retVal = oSO.nClear()
oSO = Nothing
oSS.nCleanup()
oSS.DropObject()
oSS = Nothing
oPvx = Nothing
Exit Sub
End If
End If
End If
End If
Next
retVal = oSO.nWrite()
If retVal = 0 Then
sMsg = "Error ecountered writing Sales order " & nSONo & " importing " &
fName & "." & vbNewLine & oSO.sLastErrorMsg
sSub = "Error Importing Dropship Order"
Else
sMsg = "A Dropship PO arrived from S&S ActiveWear imported into Sage with the sales order number " & nSONo & "."
End If
oSO = Nothing
oSS.nCleanup()
oSS.DropObject()
oSS = Nothing
oPvx = Nothing
End Sub
Thanks,
Shravani Balam