CA IDMS Tuesday Tip by Edward Gorga, Principal Support Engineer for February 12, 2015
Running the following JCL to unpack a pax file may result in error IEF642I EXCESSIVE PARAMETER LENGTH IN THE PARM FIELD
//UNPAX EXEC PGM=BPXBATCH,
// PARM='sh cd /a/userid/H/SMPNTS/SMPPTFIN; pax X
// -rvf S0002.USERID.TMPPTF.D15040.T162837.pax.Z'
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
The reason is the JCL PARM length is limited to 100 characters. The solution is to use JCL SET variables like this:
// SET TGT=’/a/myuseird/H/SMPNTS/SMPPTFIN’
// SET PAX=’S0002.MYUSERID.TMPPTF.D15040.T162837.pax.Z’
//UNPAX EXEC PGM=BPXBATCH,
// PARM='sh cd &TGT; pax -rvf &PAX'
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//
Another option is to move the commands from the PARM statement to an input file called STDPARM. You need to separate each command with a semi-colon (;) but you can extend a command over multiple lines if needed. Here is an example:
//UNPAX EXEC PGM=BPXBATCH
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//STDPARM DD *
sh cd /a/myuseird/H/SMPNTS/SMPPTFIN;
pax -rvf S0002.MYUSERID.TMPPTF.D15040.T162837.pax.Z;
ls -l
/*
//