|
Entire document Available as PDF |
Table of Contents
The CARDLIST utility lets you print a card image file (80-byte records). The CARDLIST utility is available both under CLASS=U and standard batch classes (A, 2,
1, etc.). Under CLASS=U, you can use CARDLIST to generate printed listings of card image files. They may not contain any JCL or JES2 statements. Under standard batch classes, you can control the format of the
listing, merge statement and tape input, or include JCL in the statements to be listed.
Figure 2. JCL for the CARDLIST Utility in CLASS=U
//jobnameJOB ,'your name',CLASS=U,TIME=(mm,ss),LINES=lines<p> /*ROUTE PRINTnode.location// EXEC CARDLIST ...LISTcontrol statements and card images to be listed...
Under CLASS=U, the card images to be listed must not contain any JCL statements (lines that begin with // or /* in columns 1 and 2).
The LIST control statements can be continued on more than one line. The following restrictions apply:
The first statement of a control statement set must contain the phrase $PARMS starting in column 1. $PARMS must be followed by at least one <blank>.
Only columns 1-72 of the input control statement will be scanned. Characters in columns 73-80 are ignored but can be used for sequence numbering or other identification. The entire statement, however, will be reproduced in the output listing.
If the control information is to be continued on the next line, each statement to be continued must end in a comma.
Control information is presented through keyword parameters. The keyword parameter must be coded exactly as spelled in the following sections.
The keyword parameters must be separated from one another by a comma or at least one blank.
The operand (information associated with the keyword) must immediately follow the equal sign. If there are any intervening blanks or commas, a syntax error will occur.
Every time a LIST control statement set is encountered in the input stream, the listing currently being produced will be terminated and a new listing will be started if there are more card images in the input stream. Before the
next control statement set is processed, all the control information will be reinitialized to default settings. The default settings are indicated for each control statement in the section below.
A list control statement set with no keyword parameters will terminate the current listing and start a new listing using default control settings.
TYPE=specifies the type of listing that is to be produced. Possible operands are as follows:
80/80(Default) produces a card image 80/80 listing
IEBUPDTEstarts
a new page every time an ADD, REPL, or CHANGE IEBUPDTE control statement is encountered.
ASSEMBLERproduces
a pseudo-assembler listing (SPACE and EJECT statements will be simulated). This operand can be abbreviated as ASM.
PL1produces an 80/80 listing using ASA standard carriage control characters specified in column one of the statement
FORTRANproduces a listing with every
subroutine or function subprogram starting on a new page. This operand can be abbreviated as FORT.
SPACE=specifies the carriage control that is to be used for this listing. Possible operands are
SINGLE(Default) single spacing
DOUBLEdouble spacing
TRIPLEtriple spacing
CC=specifies the column on the statement that is to contain an ASA standard carriage control character. If a carriage control character is present in the specified column, it will override the spacing specified by the SPACE keyword parameter. The default is CC=0, or no carriage control.
TITLE=specifies a character string that is to be used as a title for this listing. If the string contains blanks and/or commas, it must be enclosed in apostrophes ('). If apostrophes enclose the string, they cannot be embedded in the string itself.
The string cannot contain more than 120 characters. Shorter titles are preferable because titles that need to be continued on another line will contain the continuation comma. The default heading under which the title will appear is "NERDC
-- CARDLIST UTILITY". There is no way to override or remove this default heading.
MARGIN=specifies the number of spaces contained in the left-hand margin of the listing. This operand must be numeric and the number must be greater than or equal to 0, but less than 50. The default is MARGIN=0, or no left margin.
PAGESIZE=specifies the number of lines to appear on each page of the listing. For single spacing, this operand must be numeric and the number must be greater than 0, but less than 89. If single-space printing is to be done at 6 lines per inch, the number
should be less than 59. The default is PAGESIZE=72.
The following control statement set would generate a pseudo-assembler listing, with 50 lines per page, a 10-column left-hand margin, and each page titled LISTING OF PROGRAM 10.
$PARMS TYPE=ASSEMBLER,PAGESIZE=50,MARGIN=10, TITLE='LISTING OF PROGRAM 10'
The following control statement set would generate a FORTRAN-type listing. All other control information uses default settings.
$PARMS TYPE=FORTRAN
A standard batch (not CLASS=U) version of CARDLIST is available for mixing input from statements and tape, and for listing statements that contain JCL and/or JES2 control statements. Use the JCL shown in Figure 3 to access the batch version of CARDLIST.
Figure 3. JCL to Use CARDLIST in CLASSes Other Than U
//jobname JOB ,'your name',CLASS=class,TIME=(mm,ss),LINES=lines /*SETUP TAPEC,n ( ... or TAPE9) /*ROUTE PRINT node.location // EXEC PGM=CARDLIST //SYSPRINT DD SYSOUT=A //SYSUT1 DD (...see "Tape Handling" below) //SYSIN DD * ...LIST control statements and card images to be listed...
Use //SYSIN DD * for instream data. If JCL is included in the input stream, use //SYSIN DD DATA,DLM='where 'xx' is two characters of your choice to be used
as the delimiter in columns 1 and 2 (e.g., $$).xx'
All keywords and options used in the CLASS=U version are available in the standard batch version. The following extensions support tape input and two different types of JCL listings.
TYPE=specifies when a new page should be started. Possible operands are as follows:
JCLA new page will be started for every JOB statement encountered in the input
stream.
JOBSTEPA new page will be started for every JOB statement encountered in the input stream. If the job has at least two
EXEC statements, a new page will be started for the second and successive job steps.
FILE=specifies
the number of the file on tape to be used as input for this listing. The operand must be numeric and it must be a valid file number. File=0 implies that the SYSUT1 DD statement completely specifies all the
parameters needed to process the data set.
DSN=is needed only when standard label (SL) tapes are being processed. This operand
is a character string that is the data set name of the file on the tape to be used as input.
For tape input, you must include a SYSUT1 DD statement; for non-labeled tapes, all pertinent DCB parameters must be specified. The type of tape label must be shown by either LABEL=(,SL)
or LABEL=(,NL).
Tape input will be used only if the FILE keyword parameter was specified in a LIST control statement set and a valid file sequence number was specified. For SL tapes, the
DSN keyword parameter must also be specified. If there is an error in a LIST control statement set that is requesting tape input, the tape input request is cancelled and input is assumed to come from the SYSIN
input stream.
If a LIST control statement set has been processed that specified tape input, the SYSIN input stream will not be read until an end-of-file is encountered for the specified tape file. When a tape end-of-file
is encountered, all control information is reset to default specifications before the next statement from the SYSIN input stream is read. If the first statement read from the SYSIN input stream is not a
LIST control statement, a new listing will be started using default control information. Otherwise, a new listing will be started using the information from the list control statement set.
Example 1. Sample of Listing Card Images from a Tape
//jobnameJOB ,'your name',CLASS=class,TIME=(mm,ss),LINES=lines/*ROUTE PRINTnode.location/*SETUP TAPEC,1 // EXEC PGM=CARDLIST //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSN=data.set.name,UNIT=(TAPEC,,DEFER), // VOL=SER=mytape,LABEL=(,SL),DISP=OLD //SYSIN DD * $PARMS DSN=data.set.name,FILE=filenumber