Do you have FileMaker Advanced? If so enable debugger and data viewers and run the script while watching the value in $$Field to see if it receives the value that you expect. If not, insert a show custom value step or put $$Field on a layout as a merge variable: <<$$Field>> so you can check the value in the feild
Export Records [$$Field.csv:Macintosh]
Isn't the right syntax. Do you actually have this?
Export Records [ csv:Macintosh ; $$Field ]
I also would not epect that to export to the desktop unless your database file is also located on the desktop. Normally, one needs to specify the path to the desktop in the variable. Something like:
Set Variable [$FilePath; value: Get ( DesktopPath ) & Reserve::Field ]