Update Inventory Counts via SDK

Hi Guys,

I am having an issue while updating Inventory Counts in SAGE.

I have created the Macro but while processing the Inventory Worksheet, it returns following error:

Method Process of the 'lAccPacView' failed

Has someone sucessfully updated Inventory Counts in Sage through the SDK?

 

Below is the Macro. I have edited it as the Macro created by SAGE does not have the filters in the ICWKU2detail1.Browse "", 1 statement.

Sub MainSub() ' ' Sage 300 ERP Macro file: C:\Jose Macro\Stocktake7.AVB ' Recorded at: Mon Aug 17 14:36:44 2015 '

On Error GoTo ACCPACErrorHandler

' TODO: To increase efficiency, comment out any unused DB links. Dim mDBLinkCmpRW As AccpacCOMAPI.AccpacDBLink Set mDBLinkCmpRW = OpenDBLink(DBLINK_COMPANY, DBLINK_FLG_READWRITE)

Dim mDBLinkSysRW As AccpacCOMAPI.AccpacDBLink Set mDBLinkSysRW = OpenDBLink(DBLINK_SYSTEM, DBLINK_FLG_READWRITE)

Dim temp As Boolean Dim ICWKL1header As AccpacCOMAPI.AccpacView Dim ICWKL1headerFields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0770", ICWKL1header Set ICWKL1headerFields = ICWKL1header.Fields

Dim ICWKL1detail As AccpacCOMAPI.AccpacView Dim ICWKL1detailFields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0775", ICWKL1detail Set ICWKL1detailFields = ICWKL1detail.Fields

ICWKL1header.Compose Array(Nothing, ICWKL1detail)

ICWKL1detail.Compose Array(ICWKL1header)

Dim ICWKGEN3 As AccpacCOMAPI.AccpacView Dim ICWKGEN3Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0760", ICWKGEN3 Set ICWKGEN3Fields = ICWKGEN3.Fields

Dim ICWKU2header As AccpacCOMAPI.AccpacView Dim ICWKU2headerFields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0790", ICWKU2header Set ICWKU2headerFields = ICWKU2header.Fields

Dim ICWKU2detail1 As AccpacCOMAPI.AccpacView Dim ICWKU2detail1Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0780", ICWKU2detail1 Set ICWKU2detail1Fields = ICWKU2detail1.Fields

Dim ICWKU2detail2 As AccpacCOMAPI.AccpacView Dim ICWKU2detail2Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0795", ICWKU2detail2 Set ICWKU2detail2Fields = ICWKU2detail2.Fields

Dim ICWKU2detail3 As AccpacCOMAPI.AccpacView Dim ICWKU2detail3Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0793", ICWKU2detail3 Set ICWKU2detail3Fields = ICWKU2detail3.Fields

Dim ICWKU2detail4 As AccpacCOMAPI.AccpacView Dim ICWKU2detail4Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "IC0797", ICWKU2detail4 Set ICWKU2detail4Fields = ICWKU2detail4.Fields

ICWKU2header.Compose Array(ICWKU2detail1, Nothing, Nothing, Nothing, ICWKU2detail2, ICWKU2detail3, ICWKU2detail4)

ICWKU2detail1.Compose Array(ICWKU2header, Nothing)

ICWKU2detail2.Compose Array(ICWKU2header)

ICWKU2detail3.Compose Array(ICWKU2header)

ICWKU2detail4.Compose Array(ICWKU2header)

ICWKL1headerFields("PROCACTION").PutWithoutVerification ("2")        

' Process Action ICWKL1header.Process

temp = ICWKL1header.Exists

ICWKL1headerFields("LOCATION").Value = "PPPS"                         ' Location

ICWKL1header.Read ICWKU2detail1Fields("UNIT").PutWithoutVerification ("")               ' Unit of Measure

ICWKU2detail1.Browse "", 1

ICWKU2detail1.Fetch

temp = ICWKL1header.Exists

temp = ICWKL1header.Exists

ICWKU2detail1Fields("UNIT").PutWithoutVerification ("Each")           ' Unit of Measure ICWKU2detail1.Read

ICWKU2detail1Fields("QTYCOUNTED").PutWithoutVerification ("41.0000")   ' Quantity Counted

ICWKU2detail1.Update

ICWKU2detail1.Update

ICWKU2detail1.Browse "", 1

ICWKU2detail1Fields("UNIT").PutWithoutVerification ("Each")           ' Unit of Measure

ICWKU2detail1.Read

ICWKU2detail1Fields("QTYCOUNTED").PutWithoutVerification ("166.0000")   ' Quantity Counted

ICWKU2detail1.Update

ICWKU2detail1.Update

ICWKU2detail1Fields("UNIT").PutWithoutVerification ("")               ' Unit of Measure

ICWKU2detail1.Browse "", 1

ICWKU2detail1.Fetch

temp = ICWKL1header.Exists

ICWKL1headerFields("PROCACTION").PutWithoutVerification ("3")         ' Process Action

ICWKL1header.Process

 

Exit Sub

ACCPACErrorHandler:  

Dim lCount As Long  

Dim lIndex As Long

  If Errors Is Nothing Then       

MsgBox Err.Description  

Else      

lCount = Errors.Count

      If lCount = 0 Then          

MsgBox Err.Description      

Else          

For lIndex = 0 To lCount - 1              

MsgBox Errors.Item(lIndex)          

Next          

Errors.Clear      

End If      

Resume Next

  End If

End Sub

 

Thanks...