读取参数文件并将文件名复制到DSN

时间:2015-05-14 12:20:32

标签: mainframe jcl

我想知道如何从参数文件复制到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替换为GGGLJ010GGGLJ01IGGGLJ01H

1 个答案:

答案 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可能是最简单的。