I moved a VFP7 application to Citrix and it has been running great except for one program. The program basically does a SCAN - ENDSCAN on a table, and within that loop, it does some accumulating and applies rates to the accumulations and then writes a record to a second table at the control break. The logic hasn't changed since 1992 and the actual program hasn't changed since 2001. Placing the application on Citrix causes unpredictable results. The accumulations are correct and it writes the record to the second table, only the rates applied are wrong. There are no rates in the rate table that would cause the numbers I am seeing. I have no idea what is going on. It is also not consistent. 7 out of 20 control breaks at one site and 2 out of 20 control breaks at another site.
pseudo code:
SCAN employee table
IF the employee changed
writerecord()
ENDIF
accumulate employee totals
ENDSCAN
PROCEDURE writerecord
lookup employee rates
multiply rates times employee totals
write record to second table
ENDPROC
I also noticed on an ad-hoc program that a SCAN - ENDSCAN placed at the end of a procedure did not replace the data, but when placed in a loop earlier in the program it worked.
Any ideas?