我需要通过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问题是,即使在工作用假脱机完成之后,完成这个脚本也需要大约10分钟的时间。当作业完成后,它似乎被困在125上,将检索它的输出。也许我错过了一些预初始化。请给我建议。
发布于 2018-05-22 13:48:50
看起来JES系统并不真正知道如何处理请求。如果阅读提交作业和自动接收输出的步骤文章,它解释说,为了自动获得作业的输出,JOBNAME必须是USERIDx。因此,如果我的用户if是ABC123,那么我的JOBNAME应该是ABC123A。他们还推荐了一种与你稍微不同的设置。试试这个:
open server.com
USERID
password
SITE FILEtype=JES NOJESGETBYDSN
GET 'PDS.NAME(USERIDx)' 'LOCAL\PATH\file.txt'
disconnect
bye当我尝试您的FTP命令时,我得到了相同的结果(等待10分钟)。我认为这与JES的接口级别以及不同文件的保存时间有关。使用上面的命令(并使用正确的命名),只要作业处于保持状态,SYSOUTS就会在作业完成时返回。如果有一些输出没有处于保持状态,它将跳过它们。
发布于 2018-05-25 16:59:00
搞不懂你为什么要用'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
/*工作本身就是一种快速的方式,我会在上传更多的成员之前压缩数据集。
https://stackoverflow.com/questions/50447010
复制相似问题