Page 1 of 1

Can we override LRECL and RECFM

PostPosted: Wed Sep 29, 2010 11:49 am
by diptisaini
Hi,

//SYSUT1 DD DSN=WGS0227.BLJSMNOM.FINAL04,DISP=OLD (RECFM=VB)
//SYSUT2 DD DSN=WGS0227.BLJSMNOM.FINAL00,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
// DCB=(RECFM=FB,LRECL=*.SYSUT1,BLKSIZE=*.SYSUT1)
I just need to know can we override LRECL and RECFM in DCB statement ?

Re: Can we override LRECL and RECFM

PostPosted: Wed Sep 29, 2010 5:33 pm
by steve-myers
There are four problems here:
  • A DCB=*.SYSUT1 parameter as you use in your SYSUT2 DD statement can only access the DCB attributes actually mentioned in the SYSUT1 DD statement, that is RECFM=VB.
  • The syntax of the SYSUT2 DD statement is incorrect. You cannot do BLKSIZE=*.SYSUT1 and LRECL=*.SYSUT1. You can only do DCB=*.SYSUT1 to reference all of the DCB attributes specified in the SYSUT1 DD statement.
  • You neglected to tell us if these DD statements are in a cataloged procedure.
  • You forgot to tell us if the program is Assembler or a high level language.
If this JCL is not in a cataloged procedure, only an Assembler program can override the DCB attributes specified in the JCL by using what is called a DCB OPEN exit; a stub program called by OPEN about half way through OPEN processing.

If this JCL is in a cataloged procedure, you can override the DCB attributes.