This doesn't really do the job - you've just shifted the problem from one machine to another. How do you know the file is ready to get?
This is unrelated, but where possible I would recommend getting files rather than putting them. I have found it much easier to set up UATs, parallel runs and so on with this arrangement.
I've used variations on most of the methods mentioned above:
- polling the checksum, mod time or size;
- trigger files;
- trailer records;
- renaming or moving to another directory.
I favour trigger files. I have to admit that I've spent far more time worrying about the possible problems than actually encountering them.