Hi Guys,
I am having an issue while updating Inventory Counts in SAGE300.
I have created the Macro but it actually does not update the Quantity Counted in I/C Physical Inventory Quantities.
Has someone successfully updated /C Physical Inventory In SAGE300 via the SDK? Am I missing something while updating the Inventory Worksheet?
Please note that while running the Macro in SAGE it does not return any error but also It does not update the Quantity Counted.
I know I have to get the acro right before attempting to do it via SDK.
Can someone please help me with the I/C Physical Inventory Counted Quantities macro?
Stocktake Macro As per Below:
.....
Sub MainSub() ' ' Sage 300 ERP Macro file: C:\Jose Macro\Stocktake11.AVB ' Recorded at: Tue Oct 13 17:45:31 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 ICWKU2detail1.Browse "(LOCATION = PPPS) AND (SORTCODE = CATFOA0001) AND (ITEMNO = CATFOA0001) AND (UNIT = Each)", 1 ICWKU2detail1.Fetch temp = ICWKL1header.Exists ICWKU2detail1Fields("UNIT").PutWithoutVerification ("Each") ' Unit of Measure ICWKU2detail1.Read ICWKU2detail1Fields("QTYCOUNTED").PutWithoutVerification ("100.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...