DUMPPDS - dump a PDS as IEBUPDTE cards
Function of the utility
This utility will dump a card image PDS (any PDS of LRECL=80) out to the SYSPUNCH DD as IEBUPDTE card images. It will also create the JCL wraparound to recreate the source file.
Very easy to use, it only has two DD cards, PDS and SYSPUNCH.
I use this to backup my PDS card image files as well as the tape backup jobs, as it's just easier to copy back something I've dumped out to a flat text file with vi (outside hercules, I dump to the punch flat file) than to restore from a tape backup. (which of course will change when I finish my automated tape restore scripts (TBA).
Important Limitations
As this program obviously needs to use ./ cards to create its EBUPDTE card deck,
any members being dumped from the PDS containing ./
in columns 1-2 will have them changed to +/ , also as this job wants to use DLM=ZZ
any cards found with ZZ in columns 1-2 will have the ZZ replaced by @@.
So after using the output of this job to recreate your PDS (shoukd you ever need
to do a restore) you will need to manually fix that up the contents of you members
once that have been reloaded back into a PDS.
No choice, I must have control of the ./ cards to create IEBUPDTE statements
and cannot allow ZZ cards in themembers or they would just break a PDS recreate.
Example useage
Dumping out to (in hercules) a text file on the host OS, my card punch device is class B and I find it doesn't have the stray ^L characters you get on lines when using a print device.
//STEP1 EXEC PGM=DUMPPDS //PDS DD DSN=SOME.PDS.FILE,DISP=SHR //SYSPUNCH DD SYSOUT=B
And you may just want a flat file within your MVS 3.8J environment, that works just as well.
//STEP1 EXEC PGM=DUMPPDS //PDS DD DSN=SOME.PDS.FILE,DISP=SHR //SYSPUNCH DD DSN=SOME.CARD.FILE,DISP=(NEW,CATLG,DELETE), // UNIT=3330,VOL=SER=TSO001,SPACE=(CYL,(1,1),RLSE), // DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=1600)
Program Source
If you think this would be useful to you this is the source code.
You are free to copy and customise for your own use.
It is not supported; it works fine for my own use, and no enhancements are intended or should be requested.