Go to LeighWeb Home Page            

Back To LeighWeb Mainframe Utilities Page

View the module associated with this documentation

 The PRINTIT utility is used to print sequential datasets or PDS members
 (PANVALET support is not implemented yet).  It has been designed to work as a
 CLIST or as an EDIT MACRO.

 There is also a CLIST named $PRINTIT (with an alias of $P) which calls PRINTIT.
 $PRINTIT is designed to work with ISPF DSLIST screens (e.g.  like ISPF option
 3.4) such that you can type $PRINTIT next to a dataset name on a DSLIST screen
 and $PRINTIT calls PRINTIT, passing the name of the dataset to be printed.

 As a CLIST, PRINTIT can be invoked by typing TSO PRINTIT.  You are presented
 with a screen where you can type the name of the dataset to be printed, and
 select what "print configuration" you wish to use.

 To print a dataset, simply place an "S" next to the desired print configuration
 and press .  If you wish to see the JCL which is created and submit it
 yourself (or not submit it), place a "Y" in the "Review JCL ?" field.  If you
 wish to use the JOBPARM ROOM parameter for delivery specification, you may do
 so on the main panel.  You may also override the number of copies associated
 with a given print configuration by specifying a non-zero number in the COPIES
 field on the main panel

 A "print configuration" is simply a name to call a given combination of OUTPUT
 CARD parameters.  They may specify that the printed output is to be printed
 with two pages on each side in landscape orientation for example.  In the
 Fidelity environment, they may also specify where the printed output is to be
 delivered by using different MSGCLASS parameters.

 Some print configurations exist in the table today, and any user may add,
 change, or delete from this list (though you would want to change and delete
 items very carefully as someone else may need them).

 Print configurations can be added by placing an "A" next to one of the existing
 rows in the table.  An existing configuration can be changed by placing a "C"
 next to the row to be changed.  In either case, the user is presented with a
 screen where the desired print configuration can be created.  A 1-8 character
 name and short description must be specified for each configuration.  You
 should make it meaningful for other users to understand.  Placing a "?" in any
 of the fields on the configuration screen will provide a pop-up help screen to
 explain it.

 As mentioned before, PRINTIT can be invoked as an EDIT MACRO as well.  To do
 this, simply type PRINTIT on the command line while editing a file, and the
 name of the dataset which you are editing will pre-populate the dataset name in
 the PRINTIT main panel.  Then select a print configuration as you would
 normally and press .

 It is important to note that if the dataset you are editing is a "physical
 sequential" dataset as opposed to a PDS member, the batch job which is trying
 to print the dataset will require you to exit the dataset before it can run.
 You will get system-generated "enqueue" messages to this effect.  It is also
 important to note, that when editing a PDS member, the version which is most
 recently saved on DASD is the version which PRINTIT will actually print.
 Consequently, you may want save the member you are editing before calling
 PRINTIT.
1
 PRINTIT may be invoked as an edit macro in another fashion.  If you type
 PRINTIT on the command line while editing a dataset and then place your cursor
 on the beginning of a dataset name IN THE BODY OF THE TEXT, PRINTIT will
 attempt to parse the dataset name out of the text and pre-populate the dataset
 name field on the PRINTIT main panel.  By setting a PF key to PRINTIT, printing
 both the dataset being edited and datasets referred to in the text can be
 accomplished quite easily.

 PRINTIT has another facility which allows you to specify a print configuration
 as your personal "default".  Placing the "L" line command next to a print
 configuration establishes that print configuration as your default "landscape"
 orientation configuration.  Placing the "P" line command next to a print
 configuration establishes that print configuration as your default "portrait"
 orientation configuration.  The "P" and "L" may be placed on the same
 configuration if you wish.

 When you invoke PRINTIT as an EDIT MACRO or using $PRINTIT with a dataset name,
 the dataset which pre-populates the dataset name field is interrogated to
 determine its LRECL.  If the LRECL is greater than 80, the landscape default is
 set, otherwise, the portrait default is set.  You will notice that an "S" has
 been placed next to the appropriate default print setting when the PRINTIT main
 panel appears.  You then need only press  to submit the print job.  If
 you do not wish to use the default, you can "blank" it out.  If you call
 PRINTIT as a CLIST, and no dataset name is passed, then no default will be set.

 Support for custom JCL ISPF file tailoring skeletons has just been added to the
 PRINTIT utility (1/30/91).  The PRINTIT JCL has been broken down into four
 different individual skeletons: PRINTIT1 (contains the JOB card), PRINTIT2
 (contains the JOBPARM card), PRINTIT3 (contains the OUTPUT JCL statement),
 PRINTPDS (contains the PDS multi-member print support step), and PRINTIT4
 (contains the job step to do the actual printing).  By default, these skeletons
 are specified to be "file tailored" in that order.

 Using the new "Extended JCL Skeleton" screen, you may now specify up to 13
 different ISPF skeletons to file tailor for a given print configuration.  You
 may or may not chose to use PRINTIT1-4 or any part of them, or in that
 contiguous order.

 For instance several configurations have already been added which use skeletons
 in the order PRINTIT1, PRINTIT2, PRINTIT3, xxxxxxxx, PRINTPDS, PRINTIT4,
 zzzzzzzz.  In these configurations "xxxxxxxx" is a "printer setup" step for
 some small XEROX laser printers which accept in-stream font specification.
 "zzzzzzzz" is the default font "reset" step for that printer.  The use of these
 13 skeletons is limited only by your imagination (and the MVS operating
 system).

 As of 2/1/91 PRINTIT supports multiple member PDS printing.  This is
 accomplished via calling the PDS utility to create a list of members to print
 based on a "member group" specification, and the PRINTDS utility to "print" the
 selected members.  "Member groups", in "PDS utility" terminology, are a way of
 specifying a subset of members within a PDS (or all members), using some
 special "wild card"-type characters.  ISPF "help" panels will be added soon
 which specify the syntax needed.  Until that time, the following lists
 information regarging valid "member group" syntax:

 Member names may be entered in either character or hexadecimal mode for any
 subcommand which processes member names.
1
 Character member names may be from one to eight bytes long with no imbedded
 blanks, commas, parentheses, colons or slashes.

 Hexadecimal member names may contain from one to sixteen hexadecimal digits
 delimited by x' and '.  X'd7c4e2f9' and PDS9 are entirely equivalent; also,
 x'333' and x'0333' are equivalent.

 A member name range, member name pattern or member name combination forms what
 is termed a member group.  Note that a member list (that is, a parenthesized
 list containing member and member group specifications separated by commas) may
 also be used.

 Following are examples using the MEMBERS subcommand to define and display a
 member group:

 Member Group             Members in the Group
 ------------             --------------------
 aa                       AA
 (aa,bb)                  AA and BB
 (aa,bb/)                 AA and any member names containing BB
 :                        all members -- X'00' through X'FF'
 aa:                      members from AA... through X'FF'
 :bb                      members from X'00' through BB...
 aa:bb                    members between AA... and BB... inclusive
 (abc,d:)                 member ABC and those from D... through X'FF'
 aa/                      member names containing AA anywhere
 /bb                      member names containing BB anywhere
 aa/bb                    member names containing AA and BB
 (aa/,bb/)                member names containing AA or BB
 aa*                      members with names AA...
 *bb                      member names containing BB anywhere
 aa*bb                    member with names AA... and BB elsewhere
 (aa*,bb/)                members with names AA... or with BB anywhere

 Any of the valid specifications listed above outside of parentheses may be
 combined inside of parentheses with each specification separated by a comma
 (",").  You may have as many specifications separated by commas between the
 parentheses as you can fit.  Each comma acts as an "OR" in processing the
 logic.

 By default, each page of a member being printed using multi-member capabilities
 will have a "title" at the top of it.  If the dataset is printed with ANSI or
 "machine" control characters (either by your specifying it, or by the RECFM of
 the PDS) the titles will be suppressed.  If you wish to suppress the titles
 yourself on a non-control character dataset, you must "review" the JCL and add
 the PRINTDS keyword NOTITLE.  To do so, find the string "PRINTDS" and add a
 line after it containing simply "NOTITLE +".  The "+" is important as it acts
 as a continuation character for the PRINTDS command.