SELECT *, IIF(1=1, myudf(1,RECNO()), myudf(2,RECNO())) FROM test FUNCTION myudf LPARAMETERS par1, par2 STRTOFILE(TRANSFORM(par1)+ " " + TRANSFORM(par2) + CHR(13) + CHR(10), "z.z",1) RETURN par1 * z.z file 1 1 1 1 2 1 1 1 1 2 1 3The test table has 3 records. As you can see myudf was executed 3 extra times. So I'm puzzled why it did work in VFP7.