In data control block (DCB)

The system obtains data control block information from the following sources, in override order:

Therefore, the system ignores a value in a DCB subparameter on the DD statement if the data control block already contains the value. The system ignores a value in the data set label if the data control block already contains the value from the program or a DD DCB subparameter.

Note: When concatenated data sets are involved, the DCB is completed based on the type of data set and how the processing program uses the data set. See z/OS DFSMS Using Data Sets for more information.

DCB values from cataloged data sets

The DD statement DCB parameter can ask the system to copy certain values from the data set label of a cataloged data set, by coding:
   //ddname  DD  DCB=dsname,...
   //ddname  DD  DCB=(dsname,subparameter,...)...  

The system copies the DSORG, RECFM, OPTCD, BLKSIZE, LRECL, KEYLEN, and RKP values from the label. If any of these values are coded in subparameters following the dsname, the system uses the coded values.

DCB values from earlier DD statements

The DD statement DCB parameter can ask the system to copy all subparameters from the DCB parameter in an earlier DD statement, by coding a backward reference to the earlier statement:
   //ddname  DD  DCB=*.ddname
   //ddname  DD  DCB=*.stepname.ddname
   //ddname  DD  DCB=*.stepname.procstepname.ddname  

Examples

//S1   EXEC  PGM=ANYA
//DD1  DD    DSNAME=ABC,DCB=(RECFM=FB,LRECL=80,BLKSIZE=960),
//     DISP=(NEW,CATLG,DELETE),UNIT=3380,VOLUME=223344,
//     SPACE=(CYL,(30,10))
//S2   EXEC  PGM=ANYB
//DD2  DD    DSNAME=COPIER1,DCB=ABC
//S3   EXEC  PGM=ANYC
//DD3  DD    DSNAME=COPIER2,DCB=*.S1.DD1