0
votes

I have a python zosftplib function call that submits a MVS job successfully, but it does not recognize that the job completed and it does not receive the JES output from the job. I can successfully make the MVS FTP connection and can upload and download files.

The code looks like this: job = Myzftp.submit_wait_job(jcl)

The call eventually displays the following error message.

File "C:\Python27\lib\site-packages\zosftplib.py", line 410, in submit_wait_job %(msg, resp)) ZftpError: 'submit_wait_job error: 550 JesPutGet aborted, job not found (last response:250 Transfer completed successfully.)'

Any suggestions would be helpful on how I can resolve this.

1
How do you know the job was submitted successfully? Are there any relevant messages in the mainframe operlog (or syslogs for the LPAR on which the job was submitted and where the job ran) ? - cschneid
I can look in the SDSF hold queue and see all the output associated with the job, such as the JES log messages, JCL, and other SYSOUT. There is only one step in the job and it completes with a 0000 condition code. - Mike C.
Now we've established the job was submitted and ran, thanks. If you look in the syslog do you see any messages around the time your job ran? Are there security related messages denying access to your job's output via FTP? - cschneid
There does not appear to be any security related messages in the log near the time my job ran. I can see the log messages involving the jobs execution, but I don't see any other obvious error or warning messages. - Mike C.
Another interesting item is that 'print Myzftp.list_jes_spool('MYMVSID*')' doesn't return anything from SDSF and neither does 'print Myzftp.get_job_infos('JES32133') which is the job id of one of my runs. - Mike C.

1 Answers

0
votes

Working with MVS FTP and JES can be very specific. For example my MVS ID was MVSIDD. My jobcard had a jobname of MVSIDDXY. So the submit_wait_job() function would submit the job correctly and it would run successfully. The problem came with returning the JES output back to FTP. It was expecting a jobname with my id and a single character not two. By changing the jobname in the jobcard to MVSIDDX the function worked as expected and waited until the job was over and then returned all the JES output with it.