I used IDCAMS to PRINT records in a VSAM KSDS to PS file(created in the JCL).
//OUTDD DD DSN=&SYSUID...PUTOUT,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,0)),
// DCB=(RECFM=FB,DSORG=PS,LRECL=120),BLKSIZE=9600
Although I specifed RECFM=FB in Jcl, it shows FBA when I look at attributes of Z00838.PUTOUT. I need help?
As detailed here IDCAMS has some requirements for the output-dataset of the
PRINT
statement that it enforces in a not too obvious way.The default
SYSPRINT
isRECFM=VBA,LRECL=125
, but as per above linkNote the part after the semicolon: IDCAMS will automatically change all DCB-Parameters it does not like.
After playing around with the parameters it seems to be even more strict than stated above: Even
RECFM=VB
will be changed toVBA
and allLRECL
s less than 125 will be changed to 125.P.S.: Do you really want to
PRINT
the dataset like this?or do you want to
REPRO
it like this?P.P.S.: This behaviour will also affect preexisting datasets that have been allocated with
DISP=SHR
. The most interesting effect was when using a preexisting FB80-dataset that already has some contents and allocating it withDISP=MOD
in the IDCAMSPRINT
step. The step completed with returncode 0 but trying to read the dataset afterwards resulted in an I/O-error.