通过大型机 (zOS) 的 FTP 获取输出队列

Posted

技术标签:

【中文标题】通过大型机 (zOS) 的 FTP 获取输出队列【英文标题】:Getting output queue via FTP of a Mainframe (zOS) 【发布时间】:2015-06-11 23:03:01 【问题描述】:

我正在通过 FTP 处理我的大型机运行作业,并通过同一条通道检索(保留队列的)结果。问题是,我有“输出队列”,其中相同的 JOBnnnnn 留下了其他信息,而那些报告我只能通过 ISPF(选项 G.O)看到。反正有没有通过 FTP 看到这个报告?我学会了用这个链接做到这一点: http://www.ibm.com/developerworks/systems/library/es-zosbatchjavav/

链接示例(ftp 的命令):

C:\>ftp 192.168.152.2
Connected to 192.168.152.2.
220-FTPD1 IBM FTP CS V1R5 at p390.qld.isi.com.au, 04:26:27 on 2006-09-06.
220 Connection will close if idle for more than 5 minutes.
User (192.168.152.2:(none)): isielw
331 Send password please.
Password:
230 ISIELW is logged on.  Working directory is "ISIELW.".
ftp> quote SITE FILETYPE=JES
200 SITE command was accepted
ftp>
ftp> dir
200 Port request OK.
125 List started OK for JESJOBNAME=ISIELW*, JESSTATUS=ALL and JESOWNER=ISIELW
JOBNAME  JOBID    OWNER    STATUS CLASS
ISIELW   TSU00629 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
ISIELW   TSU00609 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
ISIELW   TSU00294 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
ISIELW   TSU00250 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
ISIELW   TSU00218 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
ISIELW   TSU00199 ISIELW   OUTPUT TSU      ABEND=622 3 spool files
ISIELW   TSU00171 ISIELW   OUTPUT TSU      ABEND=522 3 spool files
250 List completed successfully.
ftp: 524 bytes received in 0.06Seconds 8.45Kbytes/sec.
ftp> dir TSU00629
200 Port request OK.
125 List started OK for JESJOBNAME=ISIELW*, JESSTATUS=ALL and JESOWNER=ISIELW
JOBNAME  JOBID    OWNER    STATUS CLASS
ISIELW   TSU00629 ISIELW   OUTPUT TSU      ABEND=522
--------
         ID  STEPNAME PROCSTEP C DDNAME   BYTE-COUNT
         001 JES2              K JESMSGLG       962
         002 JES2              K JESJCL       13983
         003 JES2              K JESYSMSG     17176
3 spool files
250 List completed successfully.
ftp: 340 bytes received in 0.03Seconds 10.63Kbytes/sec.
ftp>

如果我没有 JOBS,则会显示消息“No jobs found on Held queue”。

这是我目前的结果:

230 CERVHM is logged on.  Working directory is "CER.".
ftp> quote site filetype=jes
200 SITE command was accepted
ftp> dir
200 Port request OK.
125 List started OK
CERVHM2   JOB01948  OUTPUT    4 Spool Files
CERVHM1   JOB03024  OUTPUT    3 Spool Files
250 List completed successfully.
ftp: 148 bytes recibidos en 0,02segundos 7,40a KB/s.
ftp> dir JOB01948
200 Port request OK.
125 List started OK
CERVHM2   JOB01948  OUTPUT    4 Spool Files
CERVHM1   JOB03024  OUTPUT    3 Spool Files
250 List completed successfully.
ftp: 148 bytes recibidos en 0,02segundos 7,05a KB/s.
ftp>

问候!

P.D.我是大型机世界的新手,如果您不明白这个问题,请让我现在。我也做了一个 Java 程序来做同样的事情,但我有同样的问题。

【问题讨论】:

你展示的例子是给你保持输出。我不确定你的问题是什么。 你好@Bill Woodger,你熟悉ISPF吗?当我运行一项作业时,我会在“保留队列”(选项 G.H)中获得结果,并在“输出队列”(选项 G.O)中获得同一作业的其他报告。问题是,如何通过 FTP 检索输出队列? 该示例向您展示了 spool 上的输出作业,第二个目录向您展示了可用于特定作业号的各个数据集。 get jobid.n 为您获取作业 ID 的第 n 个文件。 get TSU00629.3 让您获得第三个。如果您将.x 用于.n,那么您将获得该jobid 的所有假脱机文件,并与一个特殊的分隔符连接。 您提供的链接都在文档中。我不知道你的实际问题是什么。 也许是我的问题所在。当我执行第二个“目录”时,FTP 会检索到与第一个目录相同的信息。 您能否编辑您的问题(问题下方的链接)以包含您从第一个目录获得的输出,直到第二个目录的输出结束,确保包含任何消息(包括正常完成消息) 【参考方案1】:

看起来您从问题中的示例链接中显示的输出使用了JESINTERFACELEVEL=2

您自己得到的输出来自使用JESINTERFACELEVEL=1

JESINTERFACELEVEL=1 尝试按作业 ID 列出特定详细信息(TSU-prefix 用于分时用户,TSO 会话也是如此(您将在其中运行 ISPF),JOB 前缀用于批处理 JOB,例如您通过 FTP 提交的作业)。

Comm Svr:IP 用户指南和命令中针对您的 z/OS 级别的JESINTERFACELEVEL 差异部分详细介绍了两个接口级别之间的差异。

阅读与 JES 交互部分将向您展示在哪个接口级别可以做什么。

阅读 * STATus 子命令--从远程主机检索状态信息的部分* 将向您展示如何识别您正在使用的状态级别。

如果您在您的 FTP 会话中发出 STAT 命令,您当前将收到他作为您的 211 条消息之一:

211-JESINTERFACELEVEL is 1

要更改 JESINTERFACELEVEL,您需要在 FTP.DATA 数据集中提供信息以覆盖默认值。

使用 FTP.DATA 更​​改本地站点默认值部分将解释如何执行此操作,有许多选项以使用 FTP 调用的 -f 参数开头。

您应该在此阶段咨询您的技术支持团队。如果你被允许使用 JESINTERFACELEVE=2,他们会告诉你如何使用它。如果你不被允许使用它,你不应该尝试自己这样做。

【讨论】:

你好@Bill Woodger,我无法尝试这个。系统支持不喜欢通过 FTP 执行作业。我的 JESINTERFACELEVEL 是 1 并且阅读这些级别的手册,一定是正确的答案。谢谢!

以上是关于通过大型机 (zOS) 的 FTP 获取输出队列的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过 Mule FTP 连接器发送 FTP SITE 命令?

大型机 ZOS 机器的 MAC 地址

zOS 有 C 调试器吗? [关闭]

DB2 v10 zos:识别空闲索引值

通过 ftp 连接 Z/OS 大型机 SDSF。如何获得RC?

尝试使用 python 脚本将 FTP 文件传输到大型机服务器,但在大型机数据集结束时获取特殊字符