Hi,
Below is my script to Prompt user a warning that when user entering invoice data entry, it will check a udt for blanket PO is out of fund.
I've create User Define Table to keep track of a listed PO and Billed Amount. The script is reading invoice PO# and then Prompt if user enter more than enough.
i assigned Event- Table -Pre Totals
The issue is sometime is work and sometime i got the error message.
Can someone help me look into my script and see where is the issue.
retVal = ""
user = ""
custOrderType =""
retVal = oBusObj.GetValue("InvoiceType$", custOrderType)
if (custOrderType = "IN") Then
'Read in PO Number and Total Sales Order Amount
custPONumber = ""
custNonTaxableAmt =0
custTaxableAmt =0
custTotal = 0
custNumber=""
retVal = oBusObj.GetValue("CustomerPONo$", custPONumber)
retVal = oBusObj.GetValue("CustomerNo$", custNumber)
retVal = oBusObj.GetValue("NonTaxableAmt", custNonTaxableAmt)
retVal = oBusObj.GetValue("TaxableAmt", custTaxableAmt)
custTotal = custNonTaxableAmt + custTaxableAmt
oItemChange = 0
count = 0
oItemChange = oSession.GetObject("CM_UDTMaint_bus", "SO_UDT_BLANKETPO")
if oItemChange <> 0 then
SET oItemChange = oSession.AsObject(oItemChange)
oItemChange.MoveFirst
count = 0
DO WHILE NOT CBool (oItemChange.EOF)
TableCustPO = ""
TablePOAmt = 0
TablePOCust = ""
TablePORemain =0
TablePOBilled=0
TablePOSO = 0
reviseAmt = 0
retVal = oItemChange.GetValue("UDF_BLANKETPONO$", TableCustPO)
retVal = oItemChange.GetValue("UDF_BLANKETPOAMT", TablePOAmt)
retVal = oItemChange.GetValue("UDF_BLANKETPOCUST$", TablePOCust)
retVal = oItemChange.GetValue("UDF_BLANKETPOREMAIN", TablePORemain)
retVal = oItemChange.GetValue("UDF_BLANKETPOBILLED", TablePOBilled)
retVal = oItemChange.GetValue("UDF_BLANKETPOSOAMT", TablePOSO)
if custPONumber = TableCustPO then
if custTotal > TablePORemain then
retVal = oSession.AsObject(oSession.UI).MessageBox("Blanket PO is out of fund. Please get new PO or add more fund")
end if
TablePOSO = custTotal
BlanketType = ""
retVal = oItemChange.GetValue("UDF_BLKOTYPE$", BlanketType)
If BlanketType = "Service Contract" then
TablePORemain = TablePOAmt - TablePOBilled - custTotalg
else
TablePORemain = TablePOAmt - TablePOBilled - TablePOSO
end if
retVal = oItemChange.SetValue("UDF_BLANKETPOREMAIN", TablePORemain)
retVal = oItemChange.SetValue("UDF_BLANKETPOSOAMT", TablePOSO)
retVal = oItemChange.Write ()
oItemChange.MoveLast
end if
oItemChange.MoveNext
LOOP
end if
end if