Joined: 26 Apr 2004 Posts: 4648 Location: Raleigh, NC, USA
This is a hard question to answer. I think a lot of what you do depends on your internal standards for production support and batch processing.
I believe that jobs should NOT be designed to fail for any reason. For FTP, I think that you should preferably run the FTP outside of the JCL (under some program control) so you can perform checking and validation and take appropriate courses of action without needing to cause a job failure or abend. I believe that you must check for the availability of a file first before you make any attempts to "get" one. The FTP and business process should be able to handle the occasional missing file without much external effort. Of course, I believe in the "push-only" concept of "the creator of the file must push it to the recipient as soon as it's available", but that's not always possible.
If you have a really good Production Support team, then maybe it might be better to use the EXIT=nn parameter to fail the job with a non-zero return-code and let them examine the output and take the appropriate actions.