我有一个代码将gdg的属性写入PS文件。
//STEP10 EXEC PGM=IDCAMS
//DD1 DD DSN='GDGBASE(0)',DISP=SHR
//SYSPRINT DD DSN=GDG.VERSION.PS,
// DISP=(NEW,CATLG,DELETE),
// UNIT=WORK,AVGREC=K,
// SPACE=(108,(5,5),RLSE),
// DCB=(BUFNO=10,RECFM=FB,LRECL=108)
//SYSIN DD *
PRINT INFILE(DD1) COUNT(0) CHAR
/*
但我只需要将GDG的最新版本名称写入PS文件。
答案 0 :(得分:1)
我不认为你可以使用纯JCL来做到这一点。作为一个建议,让你开始这里是一个简短的REXX和一些JCL - 它并不完美,但你可以调整它以满足你的特定需求。
第1部分:显示已分配文件的DSN的简短REXX脚本:
/* REXX find DSN for DD */
arg mydd
x= LISTDSI(mydd file)
say sysdsname
第2部分:JCL使用batch-TSO调用它:
//FINDDSN EXEC PGM=IKJEFT01,PARM='DSNFIND MYFILE'
//MYFILE DD DSN=MY.GDG.FILE(+0),DISP=SHR
//SYSEXEC DD DSN=PDS.CONTAINING.REXX,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
其中DSNFIND
是给定REXX过程的成员名。
SYSTSPRT中的输出是:
MY.GDG.FILE.G0338V00
READY
END
我还没有找到一种快速方法来取消READY
和END
- 但您可以使用SAY
而不是EXECIO
。使用READY
写入其他文件 - END
和SYSTSPRT
仍会转到{{1}}。