ZAPDSCB

ZAPDSCB is a batch program that can be used to change the attributes of any existing DASD dataset.  Elements that may be changed with the program are:

  • DCB characteristics

  • protection status

  • expiration date

  • use count

  • secondary space allocation amount

It is located in File #163 of the CBT tape and is part of a collection of batch programs and TSO commands contributed by Dave Phillips of Ouiedo, FL.  He includes this caution in the comments of the program's source:

"... care must be taken using this program - it is about as dangerous as SUPERZAP."  

 

Installation

I have extracted the installation jobstream which is a single job to assemble and link-edit ZAPDSCB to an authorized load library.  My only changes were those noted as required by the author - specified missing JOB card parameters, changed SOUT PROC parameter from '$' to '*', substituted SYS1.SMPMTS for SYS1.MODGEN library, changed assembler from IEV90 to IEUASM, and changed the target load library to SYS2.LINKLIB.  In order to resolve assembly (really JCL errors) I reordered the MACLIB concatenation order and increased the space allocations for the assembler work datasets.  The resulting jobstream - zapdscb$.jcl - is contained in the archive zapdscb.tgz [MD5: E087B86622E8AFE76F861CEE88A9FF25].  Download the archive and extract the jobstream (WinZip on Windows/?? or tar on Linux).  Submit the jobstream to assemble and link the single load module for ZAPDSCB into SYS2.LINKLIB.  If you don't have SYS2.LINKLIB defined, you will need to modify the jobstream to specify a different target load library.

 

Executing ZAPDSCB

ZAPDSCB can be executed using this jobstream:

//ZAPDSCB  JOB (001),'ZAPDSCB',CLASS=A,MSGCLASS=A
//ZAPDSCB EXEC PGM=ZAPDSCB
//SNAP     DD  SYSOUT=A     SNAP DUMP WHEN I/O ERROR
//SYSUDUMP DD  SYSOUT=A     ABEND DUMP OTHER ERRORS
//ZAP0001  DD  DSN=...
//ZAP0002  DD  DSN=...
//

ZAPDSCB updates the DSCB's for any datasets allocated with a DD Name beginning with ZAP.  The parameters that can be changed by coding them as DD parameters are:

  • expiration date - may be set to desired expiration date value via RETPD=##; expiration date may be removed by using RETPD=0
  • ASM2 use count - may be set to zero via FCB=ZUSE
  • secondary space allocation amount - set via SPACE=(TRK,(0,##))
  • DSORG, RECFM, BLKSIZE, LRECL, KEYLEN, RKP, OPTCD, and PASSWORD protection (protection may be removed via FCB=NOPW or set via LABEL=(,,PASSWORD) and LABEL=(,,NOPWREAD)

ZAPDSCB uses no files for control or messages; all diagnostics produced are routed to the MVS system console.


I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:



This page was last updated on April 23, 2008 .