project QadFinancials > class BCInvoice > method CalcBarcodeCheckDigit

Description

Calculate Check Digit from barcode(optical) number - used in creation of manual bank reference code


Parameters


icCodeinputcharacter
ocCheckDigitoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCInvoice.GetDetailsFromBankRefCode


program code (program1/bcinvoice.p)

assign 
    vcTransCode = ""
    viCharLen   = LENGTH(icCode,"CHARACTER").
    
do viCounter = 1 to viCharLen - 1:
    vcTransCode = vcTransCode + string((int(SUBSTRING(icCode,
                              viCharLen - viCounter,1,"CHARACTER")) *   
                              int(SUBSTRING(vcMultLst,viCounter,1,"CHARACTER")))).
end.

assign
    viTransInt = 0
    viCharLen   = LENGTH(vcTransCode,"CHARACTER").
    
do viCounter = 1 to viCharLen:
    viTransInt = viTransInt + int(SUBSTRING(vcTransCode,viCounter,1,"CHARACTER")).
end.

viResto = viTransInt modulo 10.
    

viCheckDigit = 10 - viResto.
if viCheckDigit > 9 then
    viCheckDigit = 0.
ocCheckDigit = string(viCheckDigit).