Some of the things to watch out for are...
If you use any clause of the REPORT FORM command, (FOR, WHILE, etc) the report form will parse through the data file and when done, the record pointer will sit on EOF(). So when returning back to your program, you will need to reset the record pointer to where it was before you ran the report if you had a screen showing that had data diaplaying.
If you use the SELECT-SQL to create a cursor before you run the report, be careful that the SELECT does not pick up records marked for deletion.
HTH
Ron Seidl
Independent Developer
VFP
"I'm playing in life's theater in anticipation of a great cast party!"