我试图从文件中设置JCL中IEBGENER步骤中的PATH参数。但我似乎无法让它工作。在文件中设置IEBGENER中的PATH
这里是原来的步骤中,工作得很好,看起来像:
//COPY EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD *
Some text
//SYSUT2 DD PATH='/local/Folder1/File1',
// PATHDISP=(KEEP,KEEP),
// PATHOPTS=(OWRONLY,OCREAT,OEXCL),
// PATHMODE=(SIRUSR,SIWUSR)
我想要做的是设置在SYSUT2 path参数从上所写的一些前面的步骤的文件。事情是这样的:
BROWSE TEST.FILE1 Line 0000000000 Col 001 080
Command ===> Scroll ===> CSR
********************************* Top of Data **********************************
TPATH='/local/Folder1/File1'
******************************** Bottom of Data ********************************
//SETPATH SET DSN=TEST.FILE1,DISP=SHR
//*
//COPY EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD *
Some text
//SYSUT2 DD PATH='&TPATH',
// PATHDISP=(KEEP,KEEP),
// PATHOPTS=(OWRONLY,OCREAT,OEXCL),
// PATHMODE=(SIRUSR,SIWUSR)
这当然会抱怨没有变量TPATH在JCL,这在逻辑上是有道理的,因为它无法找到在JCL变量名。 也尝试将整个SYSUT2放在单独的文件中,但没有成功。
一个“足够好”的妥协方案是将文件前缀与日期和时间参数连接起来,但只有在通过调度程序(使用OPCSCAN或类似方法)运行作业时才能在生产中使用。不是在我自己提交工作的测试中,还是可以在没有计划任务的情况下完成工作?
'/local/Folder1/File' & iDate & iTime -- You get the point.
任何想法非常感谢!要做到这一点
如果日期/时间足够,JCL中有日期/时间符号,例如'&YYMMDD'。他们是动态的,但他们的价值是在工作入境处理的特定时间设定的。如果涉及的不止这些,最好的方法是通过动态分配的脚本(REXX,shell等)。 Co:Z也是一个很好的解决方案。 – zarchasmpgmr