Processing control by suppressing processing

To suppress processing of a data set, assign it a dummy status by coding either of the following:
   //ddname  DD  DUMMY,...
   //ddname  DD  DSNAME=NULLFILE,...

If you code UNIT with DUMMY, the system will ignore the specified unit name if it is syntactically correct and defined to the system. Otherwise the system terminates the job. The DCB parameter must be coded if you would code it for normal I/O operations. For example, when an OPEN routine requires a BLKSIZE specification to obtain buffers and BLKSIZE is not specified in the DCB macro instruction, code this information in the DD DCB parameter.

Effect of dummy data set: For a dummy data set, the system bypasses all input/output operations, does not allocate devices or storage to the data set, and does not perform disposition processing.

Requests to read or write a dummy data set: When the program asks to read a dummy data set, an end-of-data-set exit is taken immediately. When the program writes to the dummy data set, the request is recognized but no data is transmitted. VSAM supports dummy data sets for both read and write processing. BSAM and QSAM support requests to write to a dummy data set. If any other access method is used, the job is terminated.

Use of dummy data sets: When testing a program, you can suppress writing of an output data set by defining it as a dummy data set. This would forestall printing a data set until you are sure it contains meaningful output.

To save processing time, you might not want a data set to be processed every time the job is executed. For example, you might want to skip reading a data set that is used only once a week.

Nullifying a dummy data set: When the data set is to be processed, replace the DD statement that specified the dummy data set with a DD statement containing the parameters required to define the data set. When a procedure DD statement specifies a dummy data set, nullify it by coding the DSNAME parameter on the overriding DD statement and assigning a data set name other than NULLFILE.

Examples:
//EXA  DD  DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
//      UNIT=3211
//EXB  DD  DSNAME=NULLFILE,UNIT=DISK,VOLUME=SER=165789,
//      DISP=OLD
//EXC  DD  DUMMY,DISP=OLD