Script to update a Date UDF

SOLVED

Hello,

I am a bit new to scripting on Sage and would like some assistance if anyone is willing. I am writing a script to update a UDF date field based on any change on the specifications Tab in Item Maintenance. I have attached my script below. I am getting no errors it just won't update. Assistance would be most appreciated.

'Initialize vars
'This script is to update the "UDF_Last_Update on Tab 8 of Item Maintenance based on a change on the tab.


sECCN = ""
nUNSPSC = 0
nEDP = 0
sNIGP = ""
nNSN = 0
sMILSPEC = ""
sMANUFAC = ""
sMODELNO = ""
sBRAND = ""
sPREFCRIT = ""
sPRODUCER = ""
sNETCOST = ""
sNAFTA = ""
sMEDICALDEVICENO = ""
sNDC = ""
sNDC2 = ""
sNDC3 = ""
sHTSUSA = ""
sHTSMEX = ""
sHTSCAN = ""
sCOO = ""
sCOO2 = ""
sCOO3 = ""
nEDEPTH = 0
nEWIDTH = 0
nHEIGHT = 0
nEWGT = 0
nPACKQTY = 0
nCDEPTH = 0
nCWIDTH = 0
nCHEIGHT = 0
nCWGT = 0
nCASEQTY = 0
nPDEPTH = 0
nPWIDTH = 0
nPHEIGHT = 0
nPWGT = 0
nPALLETQTY = 0
nPLTDEPTH = 0
nPLTWIDTH = 0
nPLTHEIGHT = 0
nPLTWGT = 0
sPACKTYPE = ""
sPACKSIZE = ""
nTI = 0
nHI = 0
sHZMTDAN = ""
sHZMTCLASS = ""
sHZMTPG = ""
sHZMTIG = ""
sHZMTUNNA = ""
sHZMTPSN = ""
sGGUPCA = ""
sUPCCASE = ""
sUPCPACK = ""
sUPCPLT = ""
sORMD = ""
sSDS = ""
sEXPDATE = ""
sGREEN = ""
sMADEUSA = ""
sFREIGHTCLA = ""
sNOOFSCREEN = ""
sLASTUPDATED = ""
sSSIG = ""
sGASKET = ""
sNewDate = ""
sDate = FormatDateTime(Now, vbGeneralDate)

retVal = oBusObj.GetValue("UDF_ECCN$", sECCN)
retVal = oBusObj.GetValue("UDF_UNSPSC", nUNSPSC)
retVal = oBusObj.GetValue("UDF_EDP_NUMBER", nEDP)
retVal = oBusObj.GetValue("UDF_NIGP_CODE$", sNIGP)
retVal = oBusObj.GetValue("UDF_NSN", nNSN)
retVal = oBusObj.GetValue("UDF_MIL_SPEC_NUMBER$", sMILSPEC)
retVal = oBusObj.GetValue("UDF_MANUFACTURER_NAME$", sMANUFAC)
retVal = oBusObj.GetValue("UDF_MFR_MODEL_NO$", sMODELNO)
retVal = oBusObj.GetValue("UDF_BRAND$", sBRAND)
retVal = oBusObj.GetValue("UDF_PREF_CRITERIA$", sPREFCRIT)
retVal = oBusObj.GetValue("UDF_PRODUCER$", sPRODUCER)
retVal = oBusObj.GetValue("UDF_NET_COST$", sNETCOST)
retVal = oBusObj.GetValue("UDF_NAFTA_QUALIFY$", sNAFTA)
retVal = oBusObj.GetValue("UDF_MEDICAL_DEVICE_NO$", sMEDICALDEVICENO)
retVal = oBusObj.GetValue("UDF_NDC_NO$", sNDC)
retVal = oBusObj.GetValue("UDF_NDC_NO_2$", sNDC2)
retVal = oBusObj.GetValue("UDF_NDC_NO_3$", sNDC3)
retVal = oBusObj.GetValue("UDF_HTS_CODE_USA$", sHTSUSA)
retVal = oBusObj.GetValue("UDF_HTS_CODE_MEXICO$", sHTSMEX)
retVal = oBusObj.GetValue("UDF_HTS_CODE_CANADA$", sHTSCAN)
retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN$", sCOO)
retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN_2$", sCOO2)
retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN_3$", sCOO3)
retVal = oBusObj.GetValue("UDF_E_DEPTH", nEDEPTH)
retVal = oBusObj.GetValue("UDF_E_WIDTH", nEWIDTH)
retVal = oBusObj.GetValue("UDF_E_HEIGHT", nHEIGHT)
retVal = oBusObj.GetValue("UDF_E_WEIGHT", nEWGT)
retVal = oBusObj.GetValue("UDF_PACKAGE_QTY", nPACKQTY)
retVal = oBusObj.GetValue("UDF_C_DEPTH", nCDEPTH)
retVal = oBusObj.GetValue("UDF_C_WIDTH", nCWIDTH)
retVal = oBusObj.GetValue("UDF_C_HEIGHT", nCHEIGHT)
retVal = oBusObj.GetValue("UDF_C_WEIGHT", nCWGT)
retVal = oBusObj.GetValue("UDF_CASE_QUANTITY", nCASEQTY)
retVal = oBusObj.GetValue("UDF_P_DEPTH", nPDEPTH)
retVal = oBusObj.GetValue("UDF_P_WIDTH", nPWIDTH)
retVal = oBusObj.GetValue("UDF_P_HEIGHT", nPHEIGHT)
retVal = oBusObj.GetValue("UDF_P_WEIGHT", nPWGT)
retVal = oBusObj.GetValue("UDF_PALLET_QTY", nPALLETQTY)
retVal = oBusObj.GetValue("UDF_PLT_DEPTH", nPLTDEPTH)
retVal = oBusObj.GetValue("UDF_PLT_WIDTH", nPLTWIDTH)
retVal = oBusObj.GetValue("UDF_PLT_HEIGHT", nPLTHEIGHT)
retVal = oBusObj.GetValue("UDF_PLT_WEIGHT", nPLTWGT)
retVal = oBusObj.GetValue("UDF_PACKAGE_TYPE$", sPACKTYPE)
retVal = oBusObj.GetValue("UDF_PACKAGE_SIZE$", sPACKSIZE)
retVal = oBusObj.GetValue("UDF_TI", nTI)
retVal = oBusObj.GetValue("UDF_HI", nHI)
retVal = oBusObj.GetValue("UDF_HZMT_DAN$", sHZMTDAN)
retVal = oBusObj.GetValue("UDF_HZMT_CLASS$", sHZMTCLASS)
retVal = oBusObj.GetValue("UDF_HZMT_PG$", sHZMTPG)
retVal = oBusObj.GetValue("UDF_HZMT_IG$", sHZMTIG)
retVal = oBusObj.GetValue("UDF_HZMT_UN_NA_NO$", sHZMTUNNA)
retVal = oBusObj.GetValue("UDF_HZMT_PSN$", sHZMTPSN)
retVal = oBusObj.GetValue("UDF_GG_UPCA$", sGGUPCA)
retVal = oBusObj.GetValue("UDF_GG_UPC_CASE$", sUPCCASE)
retVal = oBusObj.GetValue("UDF_GG_UPC_PACKAGE$", sUPCPACK)
retVal = oBusObj.GetValue("UDF_GG_UPC_PALLET$", sUPCPLT)
retVal = oBusObj.GetValue("UDF_ORMD$", sORMD)
retVal = oBusObj.GetValue("UDF_SDS_SHEET$", sSDS)
retVal = oBusObj.GetValue("UDF_EXPIRATION_DATE$", sEXPDATE)
retVal = oBusObj.GetValue("UDF_GREEN$", sGREEN)
retVal = oBusObj.GetValue("UDF_MADE_IN_USA$", sMADEUSA)
retVal = oBusObj.GetValue("UDF_FREIGHT_CLASS$", sFREIGHTCLA)
retVal = oBusObj.GetValue("UDF_LAST_UPDATE$", sLASTUPDATED)
retVal = oBusObj.GetValue("UDF_SSIG$", sSSIG)
retVal = oBusObj.GetValue("UDF_GASKET$",sGASKET)
retVal = oBusObj.GetValue("UDF_LAST_UPDATE$", sNewDate)

IF sECCN = "" or nUNSPSC = 0 or nEDP = 0 or sNIGP = "" or nNSN = 0 or sMILSPEC = "" or sMANUFAC = "" or sMODELNO = "" or sBRAND = "" or sPREFCRIT = "" or sPRODUCER = "" or sNETCOST = "" or sNAFTA = "" or sMEDICALDEVICENO = "" or sNDC = "" or sNDC2 = "" or sNDC3 = "" or sHTSUSA = "" or sHTSMEX = "" or sHTSCAN="" or sCOO = "" or sCOO2 = "" or sCOO3 = "" or nEDEPTH = 0 or nEWIDTH = 0 or nHEIGHT = 0 or nEWGT = 0 or nPACKQTY= 0 or nCDEPTH = 0 or nCWIDTH = 0 or nCHEIGHT = 0 or nCWGT = 0 or nCASEQTY = 0 or nPDEPTH = 0 or nPWIDTH = 0 or nPHEIGHT = 0 or nPWGT = 0 or nPALLETQTY = 0 or nPLTDEPTH = 0 or nPLTWIDTH = 0 or nPLTHEIGHT = 0 or nPLTWGT = 0 or sPACKTYPE = "" or sPACKSIZE = "" or nTI = 0 or nHI = 0 or sHZMTDAN = "" or sHZMTCLASS = "" or sHZMTPG = "" or sHZMTIG = "" or sHZMTUNNA = "" or sHZMTPSN = "" or sGGUPCA = "" or sUPCCASE = "" or sUPCPACK ="" or sUPCPLT = "" or sORMD = "" or sSDS = "" or sEXPDATE = "" or sGREEN = "" or sMADEUSA = "" or sFREIGHTCLA= "" or sNOOFSCREEN = "" or sLASTUPDATED = "" or sSSIG = "" or sGASKET = "" or sNewDate = "" Then retValue = oBusObj.SetValue("UDF_LAST_UPDATE$", sDate)

Parents Reply Children
  • 0 in reply to Kevin M

    Great! So after I made your changes Kevin it didn't work again but, I changed the script from Post-write to Pre-Write and it worked like a charm! Thank you guys so much for your time and efforts. The bottom is the final code.

    'Initialize vars
    'This script is to update the "UDF_Last_Update on Tab 8 of Item Maintenance based on a change on the tab.


    sECCN = ""
    nUNSPSC = 0
    nEDP = 0
    sNIGP = ""
    nNSN = 0
    sMILSPEC = ""
    sMANUFAC = ""
    sMODELNO = ""
    sBRAND = ""
    sPREFCRIT = ""
    sPRODUCER = ""
    sNETCOST = ""
    sNAFTA = ""
    sMEDICALDEVICENO = ""
    sNDC = ""
    sNDC2 = ""
    sNDC3 = ""
    sHTSUSA = ""
    sHTSMEX = ""
    sHTSCAN = ""
    sCOO = ""
    sCOO2 = ""
    sCOO3 = ""
    nEDEPTH = 0
    nEWIDTH = 0
    nHEIGHT = 0
    nEWGT = 0
    nPACKQTY = 0
    nCDEPTH = 0
    nCWIDTH = 0
    nCHEIGHT = 0
    nCWGT = 0
    nCASEQTY = 0
    nPDEPTH = 0
    nPWIDTH = 0
    nPHEIGHT = 0
    nPWGT = 0
    nPALLETQTY = 0
    nPLTDEPTH = 0
    nPLTWIDTH = 0
    nPLTHEIGHT = 0
    nPLTWGT = 0
    sPACKTYPE = ""
    sPACKSIZE = ""
    nTI = 0
    nHI = 0
    sHZMTDAN = ""
    sHZMTCLASS = ""
    sHZMTPG = ""
    sHZMTIG = ""
    sHZMTUNNA = ""
    sHZMTPSN = ""
    sGGUPCA = ""
    sUPCCASE = ""
    sUPCPACK = ""
    sUPCPLT = ""
    sORMD = ""
    sSDS = ""
    sEXPDATE = ""
    sGREEN = ""
    sMADEUSA = ""
    sFREIGHTCLA = ""
    sNOOFSCREEN = ""
    sLASTUPDATED = ""
    sSSIG = ""
    sGASKET = ""
    sNewDate = ""
    sDate = Year(date) & Right("0" & Month(date),2) & Right("0" & Day(date),2)


    retVal = oBusObj.GetValue("UDF_ECCN$", sECCN)
    retVal = oBusObj.GetValue("UDF_UNSPSC", nUNSPSC)
    retVal = oBusObj.GetValue("UDF_EDP_NUMBER", nEDP)
    retVal = oBusObj.GetValue("UDF_NIGP_CODE$", sNIGP)
    retVal = oBusObj.GetValue("UDF_NSN", nNSN)
    retVal = oBusObj.GetValue("UDF_MIL_SPEC_NUMBER$", sMILSPEC)
    retVal = oBusObj.GetValue("UDF_MANUFACTURER_NAME$", sMANUFAC)
    retVal = oBusObj.GetValue("UDF_MFR_MODEL_NO$", sMODELNO)
    retVal = oBusObj.GetValue("UDF_BRAND$", sBRAND)
    retVal = oBusObj.GetValue("UDF_PREF_CRITERIA$", sPREFCRIT)
    retVal = oBusObj.GetValue("UDF_PRODUCER$", sPRODUCER)
    retVal = oBusObj.GetValue("UDF_NET_COST$", sNETCOST)
    retVal = oBusObj.GetValue("UDF_NAFTA_QUALIFY$", sNAFTA)
    retVal = oBusObj.GetValue("UDF_MEDICAL_DEVICE_NO$", sMEDICALDEVICENO)
    retVal = oBusObj.GetValue("UDF_NDC_NO$", sNDC)
    retVal = oBusObj.GetValue("UDF_NDC_NO_2$", sNDC2)
    retVal = oBusObj.GetValue("UDF_NDC_NO_3$", sNDC3)
    retVal = oBusObj.GetValue("UDF_HTS_CODE_USA$", sHTSUSA)
    retVal = oBusObj.GetValue("UDF_HTS_CODE_MEXICO$", sHTSMEX)
    retVal = oBusObj.GetValue("UDF_HTS_CODE_CANADA$", sHTSCAN)
    retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN$", sCOO)
    retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN_2$", sCOO2)
    retVal = oBusObj.GetValue("UDF_COUNTRY_OF_ORIGIN_3$", sCOO3)
    retVal = oBusObj.GetValue("UDF_E_DEPTH", nEDEPTH)
    retVal = oBusObj.GetValue("UDF_E_WIDTH", nEWIDTH)
    retVal = oBusObj.GetValue("UDF_E_HEIGHT", nHEIGHT)
    retVal = oBusObj.GetValue("UDF_E_WEIGHT", nEWGT)
    retVal = oBusObj.GetValue("UDF_PACKAGE_QTY", nPACKQTY)
    retVal = oBusObj.GetValue("UDF_C_DEPTH", nCDEPTH)
    retVal = oBusObj.GetValue("UDF_C_WIDTH", nCWIDTH)
    retVal = oBusObj.GetValue("UDF_C_HEIGHT", nCHEIGHT)
    retVal = oBusObj.GetValue("UDF_C_WEIGHT", nCWGT)
    retVal = oBusObj.GetValue("UDF_CASE_QUANTITY", nCASEQTY)
    retVal = oBusObj.GetValue("UDF_P_DEPTH", nPDEPTH)
    retVal = oBusObj.GetValue("UDF_P_WIDTH", nPWIDTH)
    retVal = oBusObj.GetValue("UDF_P_HEIGHT", nPHEIGHT)
    retVal = oBusObj.GetValue("UDF_P_WEIGHT", nPWGT)
    retVal = oBusObj.GetValue("UDF_PALLET_QTY", nPALLETQTY)
    retVal = oBusObj.GetValue("UDF_PLT_DEPTH", nPLTDEPTH)
    retVal = oBusObj.GetValue("UDF_PLT_WIDTH", nPLTWIDTH)
    retVal = oBusObj.GetValue("UDF_PLT_HEIGHT", nPLTHEIGHT)
    retVal = oBusObj.GetValue("UDF_PLT_WEIGHT", nPLTWGT)
    retVal = oBusObj.GetValue("UDF_PACKAGE_TYPE$", sPACKTYPE)
    retVal = oBusObj.GetValue("UDF_PACKAGE_SIZE$", sPACKSIZE)
    retVal = oBusObj.GetValue("UDF_TI", nTI)
    retVal = oBusObj.GetValue("UDF_HI", nHI)
    retVal = oBusObj.GetValue("UDF_HZMT_DAN$", sHZMTDAN)
    retVal = oBusObj.GetValue("UDF_HZMT_CLASS$", sHZMTCLASS)
    retVal = oBusObj.GetValue("UDF_HZMT_PG$", sHZMTPG)
    retVal = oBusObj.GetValue("UDF_HZMT_IG$", sHZMTIG)
    retVal = oBusObj.GetValue("UDF_HZMT_UN_NA_NO$", sHZMTUNNA)
    retVal = oBusObj.GetValue("UDF_HZMT_PSN$", sHZMTPSN)
    retVal = oBusObj.GetValue("UDF_GG_UPCA$", sGGUPCA)
    retVal = oBusObj.GetValue("UDF_GG_UPC_CASE$", sUPCCASE)
    retVal = oBusObj.GetValue("UDF_GG_UPC_PACKAGE$", sUPCPACK)
    retVal = oBusObj.GetValue("UDF_GG_UPC_PALLET$", sUPCPLT)
    retVal = oBusObj.GetValue("UDF_ORMD$", sORMD)
    retVal = oBusObj.GetValue("UDF_SDS_SHEET$", sSDS)
    retVal = oBusObj.GetValue("UDF_EXPIRATION_DATE$", sEXPDATE)
    retVal = oBusObj.GetValue("UDF_GREEN$", sGREEN)
    retVal = oBusObj.GetValue("UDF_MADE_IN_USA$", sMADEUSA)
    retVal = oBusObj.GetValue("UDF_FREIGHT_CLASS$", sFREIGHTCLA)
    retVal = oBusObj.GetValue("UDF_LAST_UPDATE$", sLASTUPDATED)
    retVal = oBusObj.GetValue("UDF_SSIG$", sSSIG)
    retVal = oBusObj.GetValue("UDF_GASKET$",sGASKET)
    retVal = oBusObj.GetValue("UDF_LAST_UPDATE$", sNewDate)
    retVal = oBusObj.SetValue("UDF_LAST_UPDATE$", sDate)


    IF sECCN = "" or nUNSPSC = 0 or nEDP = 0 or sNIGP = "" or nNSN = 0 or sMILSPEC = "" or sMANUFAC = "" or sMODELNO = "" or sBRAND = "" or sPREFCRIT = "" or sPRODUCER = "" or sNETCOST = "" or sNAFTA = "" or sMEDICALDEVICENO = "" or sNDC = "" or sNDC2 = "" or sNDC3 = "" or sHTSUSA = "" or sHTSMEX = "" or sHTSCAN="" or sCOO = "" or sCOO2 = "" or sCOO3 = "" or nEDEPTH = 0 or nEWIDTH = 0 or nHEIGHT = 0 or nEWGT = 0 or nPACKQTY= 0 or nCDEPTH = 0 or nCWIDTH = 0 or nCHEIGHT = 0 or nCWGT = 0 or nCASEQTY = 0 or nPDEPTH = 0 or nPWIDTH = 0 or nPHEIGHT = 0 or nPWGT = 0 or nPALLETQTY = 0 or nPLTDEPTH = 0 or nPLTWIDTH = 0 or nPLTHEIGHT = 0 or nPLTWGT = 0 or sPACKTYPE = "" or sPACKSIZE = "" or nTI = 0 or nHI = 0 or sHZMTDAN = "" or sHZMTCLASS = "" or sHZMTPG = "" or sHZMTIG = "" or sHZMTUNNA = "" or sHZMTPSN = "" or sGGUPCA = "" or sUPCCASE = "" or sUPCPACK ="" or sUPCPLT = "" or sORMD = "" or sSDS = "" or sEXPDATE = "" or sGREEN = "" or sMADEUSA = "" or sFREIGHTCLA= "" or sNOOFSCREEN = "" or sLASTUPDATED = "" or sSSIG = "" or sGASKET = "" or sNewDate = "" Then retValue = oBusObj.SetValue("UDF_LAST_UPDATE$", sDate) End IF

  • 0 in reply to Bareus16

    In addition to the other answers, if your goal is to use the current date, you can just use oSession.SystemDate. It is already in the YYYYMMDD format that sage 100 expects date values to be in.

    You can also use oSession.GetFormattedDate([Date Input In mm/dd/yyyy format]) to return a date value formatted as YYYYMMDD.

    When you want to display a date that is in the YYYYMMDD format in another format that is more display friendly, use the oSession.FormatDate([Date Input in YYYYMMDD format], [Date Output in format passed in the Mask parameter], [Mask]) function.

    Refer to this table to assist with creating the mask string. I typically use "%Mz/%Dz/%Y" so today's date would be displayed like this, "05/10/2019".