TSO-ISPF JCL COBOL VSAM DB2 CICS IMS-DB Tools Articles Forum Quiz Interview Q&A

JCL - Defining Dataset Name


A dataset name specifies the name of a file and it is denoted by DSN in JCL. The DSN parameter refers to the physical dataset name of a newly created or existing dataset. The DSN value can be made up of sub-names each of 1 to 8 characters length, separated by periods and of total length of 44 characters (alphanumeric).

Syntax:

DSN=&name | *.stepname.ddname

Temporary datasets need storage only for the job duration and are deleted at job completion. Such datasets are represented as DSN=&name or simply without a DSN specified.

If a temporary dataset created by a job step is to be used in the next job step, then it is referenced as DSN=*.stepname.ddname. This is called Backward Referencing.


Concatenating Datasets:

If there is more than one dataset of the same format, they can be concatenated and passed as an input to the program in a single DD name.

//SYSIN    DD *
      SORT FIELDS=(1,3,CH,A)
      SUM FIELDS=NONE
/* 

  //CONCATEX JOB CLASS=6,NOTIFY=&SYSUID
  //*
  //STEP10    EXEC PGM=SORT
  //SORTIN    DD DSN=SAMPLE.INPUT1,DISP=SHR
  //          DD DSN=SAMPLE.INPUT2,DISP=SHR
  //          DD DSN=SAMPLE.INPUT3,DISP=SHR
  //SORTOUT   DD DSN=SAMPLE.OUTPUT,DISP=(,CATLG,DELETE),
  //          LRECL=50,RECFM=FB

In the above example, three datasets are concatenated and passed as input to the SORT program in the SORTIN DD name. The files are merged, sorted on the specified key fields and then written to a single output file SAMPLE.OUTPUT in the SORTOUT DD name.


Overriding Datasets:

Check our reference modification chapter


If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on ibmmainframer Community!

Are you looking for Job Change? Job Portal