//KMBFDSCB JOB (1,BASS),'SAM_BASS',NOTIFY=&SYSUID, // MSGCLASS=X,CLASS=A /*JOBPARM T=999,L=9 //*------- ----------------------------------------------------------- //********************************************************************* //* * //* FIXDSCB PROGRAM INFORMATION: * //* * //* * //* FUNCTION: TO MODIFY A DATASETS DSCB ACCORDING TO SUPPLIED * //* COMMANDS. SUPPORTED FUNCTIONS ARE: * //* * //* RENAME .......... RENAME A DATASET TO A NEWNAME * //* PROTECT ......... TURN ON A DSCB'S PASSWORD BITS * //* SETNOPWR ........ TURN ON A DSCB'S NOPASSWORD READ ENABLE * //* UNLOCK .......... TURN OFF A DSCB'S PASSWORD BITS * //* RENEW ........... RESET CREATION DATE TO CURRENT DATE * //* EXPIRE .......... SWAP CREATION AND EXPIRATION DATES * //* EXTEND .......... SET EXPIRATION DATE TO 99:365 * //* ZEROEXPD ........ SET EXPIRATION DATE TO 00:000 * //* SCRATCH ......... DELETE SPECIFIED DATASET * //* * //* IN ADDITION TO THESE FUNCTIONS A NAME DEFINITION CARD * //* FOLLOWED BY SUBCOMMAND CARDS PERTAINING TO THAT * //* DATASET MAY BE ENTERED. VALID SUBCOMMANDS ARE: * //* * //* RECFM ........... RESET RECORD FORMAT TO THAT SPECIFIED * //* LRECL ........... RESET LRECL TO SPECIFIED VALUE * //* BLKSIZE ......... RESET BLKSIZE TO SPECIFIED VALUE * //* DSORG ........... RESET DSORG TO THAT SPECIFIED * //* KEYL ............ RESET KEY LENGTH TO THAT SPECIFIED * //* RKP ............. RESET RELATIVE KEY POSITION * //* OPTCODE ......... RESET OPTCODE VALUE (SEE JCL MANUAL) * //* * //********************************************************************* //********************************************************************* //* * //* COMMAND FORMATS ARE AS FOLLOWS: * //* * //* INPUT IS FREE FORM RESTRICTED ONLY THAT COMMANDS MAY BEGIN IN * //* COLUMN 1 OR AFTER AND SUBCOMMANDS OF THE NAME COMMAND MUST BEGIN * //* IN COLUMN 2 OR AFTER. * //* THE KEYWORDS VOLUME, DSNAME, AND NEWNAME MAY APPEAR IN ANY ORDER. * //* * //* AT LEAST ON KEYWORD MUST APPEAR ON THE COMMAND CARD. COMMAND * //* CARDS MAY BE CONTINUED ONTO A NEW CARD. CONTINUE CARDS ARE * //* FREE FORMAT (COL 1-71 MAY BE USED). EMBEDDED BLANKS MAY NOT * //* APPEAR IN THE KEYWORD STRINGS. COMMENTS MAY BE ENTERED ON * //* COMMAND CARDS BY SEPERATING THEM FROM ANY VALUES BY AT LEAST * //* ONE BLANK. COMMENT CARDS MAY BE CODED BY PLACING AN ASTERISK * //* IN COLUMN 1. COMMENT CARDS MAY APPEAR ANYWHERE IN THE INPUT * //* STREAM. * //* NOTE: COLUMN 72 MUST CONTAIN A BLANK AT ALL TIMES * //* * //* CARD FORMATS: * //* RENEW VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* PROTECT VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* UNLOCK VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* EXPIRE VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* EXTEND VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* RENAME VOLUME=XXXXXX,DSNAME=DATASET-NAME,NEWNAME=NEW-DATASET-NAME * //* SCRATCH VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* NAME VOLUME=XXXXXX,DSNAME=DATASET-NAME * //* WHERE: * //* XXXXXX IS THE DASD VOLUME SERIAL THAT CONTAINS THE * //* DATASET (DSCB) TO BE MODIFIED. * //* DATASET-NAME IS THE NAME OF THE DATA SET (DSCB) TO * //* BE MODIFIED. * //* NEW-DATASET-NAME IS THE NEW NAME TO BE ASSIGNED TO THE * //* DATASET SPECIFIED BY THE DSNAME KEYWORD (RENAME COMMAND ONLY). * //* * //* KEYWORDS MAY BE ABBREVIATED AS FOLLOWS: * //* * //* DSNAME - DSN OR D * //* VOLUME - VOL OR V * //* NEWNAME- NEWN OR N * //* * //********************************************************************* //********************************************************************* //* * //* NAME COMMAND: SUBCOMMAND SPECIFICATIONS * //* * //* NAME VOLUME=XXXXXX,DSNAME=DATASET-NAME (SEE ABOVE) * //* NOTE: THE NAME CARD DEFINES A DATASET DSCB TO BE WORKED ON. * //* ALL MODIFICATION CARDS THAT FOLLOW IT PERTAIN TO THAT * //* DATASET UNTIL ANOTHER PRIMARY COMMAND IS ENCOUNTERED * //* (RENEW, SCRATCH, EXPIRE, ETC...) OR AN END-OF-FILE * //* OCCURS. * //* * //* LRECL=XXXXX (WHERE XXXXX IS THE DESIRED LRECL) * //* BLKSIZE=XXXXX (WHERE XXXXX IS THE DESIRED BLOCK SIZE) * //* RECFM=XXXXX (WHERE XXXXX IS THE DESIRED RECORD FORMAT) * //* (SEE RECFMTAB FOR SUPPORTED RECFM VALUES) * //* DSORG=XXX (WHERE XXX IS THE DESIRED DATASET ORGANIZATION) * //* (CAUTION: NO CHECKING IS DONE!) * //* (SEE DSORGTAB FOR SUPPORTED DSORG VALUES) * //* KEYL=XXX (WHERE XXX IS THE DESIRED KEY LENGTH) * //* RKP=XXX (WHERE XXX IS THE DESIRED RELATIVE KEY POSITION) * //* OPTCODE=X (WHERE X IS THE DESIRED OPTCODE LETTER) * //* * //* ONLY ONE DSNAME SUBCOMMAND IS ALLOWED PER CARD. * //* IF A PARTICULAR SUBCOMMAND IN ENTERED MORE THAN * //* ONCE THE LAST OCCURENCE OF THE SUBCOMMAND WILL * //* BE THE ONE USED. IF AN ERROR OCCURS DURING PROCESSING * //* OF ANY SUBCOMMAND THE ENTIRE SUBCOMMAND SET * //* FOR THE CURRENT NAME COMMAND WILL BE DISCARDED. * //* * //* * //********************************************************************* //S010 EXEC PGM=FIXDSCB //STEPLIB DD DISP=SHR,DSN=KBASS.PERM.LOAD //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD * SCRATCH V=SYSRES,D=SYS1.COB2LIB // RENAME V=PRD045,D=KBASS.PERM.ASM,N=KBASS.PERM.ASM.OLD RENAME V=PRD045,D=KBASS.PERM.ASM.NEW,N=KBASS.PERM.ASM RENAME V=PRD045,D=DS.PERM.LINK,N=DS.PERM.LINK.OLD RENAME V=PRD045,D=DS.PERM.LINK.NEW,N=DS.PERM.LINK