通过FTP提交JCL

通过FTP提交JCL,ftp,mainframe,jcl,Ftp,Mainframe,Jcl,我需要通过FTP提交JCL。 写了下面的代码: open server.com uname password quote site LRECL=80 BLKSIZE=27920 RECFM=FB literal SITE FILETYPE=JES GET 'PDS.NAME(JCLNAME)' 'LOCAL\PATH\file.txt' disconnect bye 问题是,即使在spool中完成作业后,该脚本也需要大约10分钟才能完成。 当作业完成时,它似乎卡在125,将检索其输出。 也

我需要通过FTP提交JCL。 写了下面的代码:

open server.com 
uname
password
quote site LRECL=80 BLKSIZE=27920 RECFM=FB
literal SITE FILETYPE=JES 
GET 'PDS.NAME(JCLNAME)' 'LOCAL\PATH\file.txt'
disconnect
bye
问题是,即使在spool中完成作业后,该脚本也需要大约10分钟才能完成。
当作业完成时,它似乎卡在125,将检索其输出。
也许我错过了一些预初始化。请告知。

看来JES系统并不真正知道如何处理请求。如果您阅读了这篇文章,它解释说为了自动获得作业的输出,JCL作业名必须是USERIDx。因此,如果我的用户ID是ABC123,那么我的作业名应该是ABC123A。他们还建议使用与您稍有不同的设置。试试这个:

open server.com 
USERID
password
SITE FILEtype=JES NOJESGETBYDSN 
GET 'PDS.NAME(USERIDx)' 'LOCAL\PATH\file.txt'
disconnect
bye

当我尝试您的FTP命令时,我得到了相同的结果(等待10分钟)。我认为这与JES接口级别以及不同文件的保存时间有关。使用上述命令(并使用正确的命名),系统输出将在作业完成后返回,只要它们处于保持状态。如果有一些输出未处于保持状态,它将跳过它们。

不明白为什么要使用“GET”。 我一直使用“PUT”通过FTP提交JCL

下面是我用来通过FTP提交JCL的批处理作业的一个片段:

::: -- FTP Compress DOC --
:ftp_COMPRESS
echo.
echo  " ----------------------------------- "
echo  " COMPRESSING dataset                 " 
echo  " --------------------------------------- "
IF EXIST ftptemp.txt del ftptemp.txt
echo user %FTPUserID%>> ftptemp.txt
echo %FTPPwd%>> ftptemp.txt
echo cd ..>> ftptemp.txt
echo cd DATASET>> ftptemp.txt
echo del %filename%>> ftptemp.txt
echo quote site file=jes>> ftptemp.txt
echo put compit.jcl>> ftptemp.txt
echo quote site file=seq
echo quit>> ftptemp.txt
ftp -n -s:ftptemp.txt %host%

pause
以下是本地机器上保存为compit.JCL的JCL作业,与.bat目录相同:

 //COMPIT    JOB CARD                                          
 //*-------------------------------------------------------------
 //COMPRESS EXEC PGM=IEBCOPY
 //SYSPRINT DD SYSOUT=*
 //LIB DD DSN=DATASET,DISP=OLD
 //SYSIN DD *
  COPY INDD=LIB,OUTDD=LIB
 /*

作业本身是一种快速的方式,在上传更多成员之前,我会先压缩数据集。

“125作业完成后,将检索其输出”我在您发布的代码中没有看到这一点,您在说什么?JCL需要10分钟才能到达大型机,或者需要10分钟才能到达大型机并执行,或者其他什么?@NicC 125是FTP的回复,表示作业完成后将获得输出。OP表示,作业完成后,检索作业信息大约需要10分钟。