PDSPRINT will print or punch, in alphabetical order, all or selected member(s) of a partitioned dataset. 

It is located in File #316 of the CBT tape and originated at the U.S. Treasury Financial Management Service.

A sample of the output can be seen in PDSPRINT output.  This example contains the output of two executions, the first uses the PRINT MEMBER command syntax to select a single member while the second uses the PRINT SCAN command syntax to select all members that have names matching the parameter argument.



I have extracted the JCL to assemble PDSPRINT and the Assembler source from the CBT tape.  I made two minor modifications to the source so that it would assemble under IFOX00 (noted by *JLM* in column 67)..  The resulting jobstream - pdsprint.jcl - is contained in the archive pdsprint.tgz [MD5: 01D080DCA1140EC0245454017BAEDB83].  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 PDSPRINT into SYS2.LINKLIB.  If you don't have SYS2.LINKLIB defined, you will need to modify the jobstream to specify a target load library.


Executing PDSPRINT

The JCL to execute PDSPRINT is simple:

//SYSUT2   DD  SYSOUT=A                  (OUTPUT DATASET)

The parameter supplied via PARM is optional, and governs the following:

when = PRINT or A:

produces a sequential dataset with formatted output to include page titles and member name subtitles

when = PUNCH or B:

produces a sequential dataset with IEBUPDTE ./ ADD card preceding each member

Omission of PARM defaults to PRINT mode.

Two forms of member selection are available.  In either case, the PARM info is ignored and a SYSIN dataset must be provided containing one or more control cards of the form:

operation selectmode=(member list)

Operation is either PRINT or PUNCH and is preceded and followed by at least one blank.  Print and punch requests may not be mixed in the same job step.  The member list is a list of one or more, one to eight alphanumeric character strings representing the names of members of the partitioned dataset specified in SYSUT1.  If more than one string is included, the strings must be separated by commas with no intervening blanks and the whole string must be enclosed in parentheses.  Lists extending beyond column 71 must be continued by breaking at a comma before column 72 and resuming with the next entry anywhere before column 72 of the next card.

The interpretation of the list of strings depends upon the selectmode.  If selectmode is MEMBER, the list is simply a list of members to be processed according to operation.  If selectmode is SCAN, then the entire PDS directory is scanned for members whose names begin with the same character string as one of ths strings in the list.  For an example of both of these options, see PDSPRINT output.

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:

Return to Site Home Page 

This page was last updated on January 17, 2015 .