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.