>This is the calling program
>
>local amtdue,annualrate
>loandate = {04/10/2000}
>loanamt = 100
>strcode = 0
>firearmcode = "E"
>govermentcode = .T.
>loanduration = date() - loandate
>set database to pawn
>amtdue = feecalc(loanduration,loanamt,strcode,firearmcode,govermentcode,@amtdue,@annualrate)
Here's the likely candidate - you pass amtdue by ref -
and- assign the result of the function to it. If it's already being changed by the function, why do you reassign it.
>? amtdue
>*? annualrate
>
>
>
>here is the top part of the function
>function feecalc(loanduration,loanamt,strcode,firearmcode,govermentcode)
>local storage,prorateamt,amtdue,sixday,thrtday
>local annualrate
>
>use fees &&load fees table
>scatter memvar && load all fields to varibals
>use && clear table
>use intrest && load intrest table
>scatter memvar && load all fields to variables
>use && clear table
>
>sixtyday = sixtyday / 100 && normilze values
>thirtyday = thirtyday / 100 && normilze values
>
>
>Thanks Kelly