我想知道如何从参数文件复制到DSN名称;
//S001 EXEC PGM=GL026D00,
// PARM='GGGL150505'
//IPARM DD DSN=FCGL.BPYP667.CNTL(GGGLJ),
// DISP=SHR
//GGGLJ010 DD DSN=FCGL.BPYP667.CNTL(%%Filename),
// DISP=SHR
//SYSPRINT DD SYSOUT=T
//SYSDBOUT DD SYSOUT=T
//SYSABOUT DD SYSOUT=T
IPARM将使用仅包含一条记录的数据集,该数据集将是以下名称之一:
GGGLJ010
GGGLJ01I
GGGLJ01H
我想将%%filename
替换为GGGLJ010
或GGGLJ01I
或GGGLJ01H
答案 0 :(得分:3)
一旦提交了JOB并准备好执行(它已经完成了CONVERTER / INTERPRETER阶段,如果您感兴趣,请参见此处:http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.iata600/iat2n2_Converter_Interpreter_Service.htm)然后JCL一成不变,无法更改。
实现目标的一种方法是使用程序中的动态分配。
另一种更简单的方法是拆分JOB并添加一些额外的作为第一个JOB并将第二个提交为保持(TYPRUN=HOLD
或者您的调度程序/生产控制人员希望它完成)然后释放,然后它将通过转换器/解释器。
在第一个新的,单独的JOB,创建文件(可以是RECFM F和LRECL 80的顺序文件)或PDS / PDSE的成员,具有80字节的固定长度记录。
在第二个JOB中,使用// INCLUDE
JCL语句将具有所需格式化DSN的文件放入该JCL流中。
我知道我更喜欢做什么,但请与您的日程安排人/生产控制人员联系,了解他们希望如何完成。否则他们总是有机会反弹你的解决方案,然后你就会回到原点 - 无论如何都要按照自己的意愿行事。所以切断了中间人(你可能浪费了它的尝试),你也会对那些人看起来很专业,这将有助于: - )
您可以使用几种工具在新文件中创建DD语句,SORT可能是最简单的。