JCL Procedures cannot contain instream data. How to pass variable data to SYSIN then? This program takes the PARM statement (which can contain procedure variables), and plaes it into an output file
This output file can then be fed later as input to another program
DDNAME | Description |
---|---|
SYSUT1 | card image output file |
DDNAME | Description | Default |
---|---|---|
SYSPRINT | output queue for messages | X |
Assembly and Link JCL can be found in SYS1.SETUP.CNTL(PA2SI$)
.
Execution JCL can be found in SYS1.SETUP.CNTL(PA2SI#)
and looks like this:
//PA2SI JOB .... //MYPROC PROC MYFILE= //CMD1 EXEC PGM=BSPPA2SI,PARM=' DELETE &MYFILE NONVSAM' //SYSUT1 DD DISP=(,PASS),UNIT=VIO,SPACE=CYL,(1,1) //DEL EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD DISP=(OLD,DELETE),DSN=*.CMD1.SYSUT1 // PEND //S1 EXEC MYPROC,MYFILE='THIS.IS.NOT.NEEDED' //S2 EXEC MYPROC,MYFILE='DELETE.THIS.ONE.TOO' //CMD2 EXEC PGM=BSPOSCMD
Although this program has been tested on the Turnkey MVS system Version 3 it is not guaranteed to be bug-free (which program is?)
Use at your own risk