zosftplib submit_wait_job(jcl) 函数不接收 JES 输出

Posted

技术标签:

【中文标题】zosftplib submit_wait_job(jcl) 函数不接收 JES 输出【英文标题】:zosftplib submit_wait_job(jcl) function does not receive JES output 【发布时间】:2017-10-09 13:46:35 【问题描述】:

我有一个成功提交 MVS 作业的 python zosftplib 函数调用,但它不识别作业已完成并且它没有接收到作业的 JES 输出。我可以成功建立MVS FTP连接,并且可以上传和下载文件。

代码如下所示: 工作 = Myzftp.submit_wait_job(jcl)

调用最终会显示以下错误消息。

文件“C:\Python27\lib\site-packages\zosftplib.py”,第 410 行,在 submit_wait_job %(msg, resp)) ZftpError: 'submit_wait_job error: 550 JesPutGet aborted, job not found (last response:250 Transfer completed successfully.)'

任何建议都会对我如何解决这个问题有所帮助。

【问题讨论】:

如何知道作业提交成功?大型机操作日志(或提交作业的 LPAR 以及作业运行位置的系统日志)中是否有任何相关消息? 我可以查看 SDSF 保留队列并查看与作业相关的所有输出,例如 JES 日志消息、JCL 和其他 SYSOUT。作业中只有一个步骤,它以 0000 条件代码完成。 现在我们已经确定作业已提交并运行,谢谢。如果您查看系统日志,您是否会在作业运行期间看到任何消息?是否存在拒绝通过 FTP 访问您的作业输出的安全相关消息? 在我的作业运行时间附近,日志中似乎没有任何与安全相关的消息。我可以看到涉及作业执行的日志消息,但没有看到任何其他明显的错误或警告消息。 另一个有趣的项目是 'print Myzftp.list_jes_spool('MYMVSID*')' 不会从 SDSF 返回任何内容,'print Myzftp.get_job_infos('JES32133') 也不会返回作业 ID我的一次跑步。 【参考方案1】:

使用 MVS FTP 和 JES 可能非常具体。例如,我的 MVS ID 是 MVSIDD。我的工作卡的工作名称是 MVSIDDXY。因此 submit_wait_job() 函数将正确提交作业并成功运行。问题在于将 JES 输出返回到 FTP。它期待一个带有我的 id 和一个字符而不是两个字符的工作名称。通过将作业卡中的作业名称更改为 MVSIDDX,该函数按预期工作并等待作业结束,然后返回所有 JES 输出。

【讨论】:

以上是关于zosftplib submit_wait_job(jcl) 函数不接收 JES 输出的主要内容,如果未能解决你的问题,请参考以下文章