The RECORD statement is used to define a group of records, called
a record group, that is printed or punched
to your specifications. A record group consists of any number of records
to be edited identically.
If no RECORD statements appear, the entire data set, or named member,
is printed or punched in the default format. The default format has
the following characteristics:
- Each printed line contains groups (8 characters each) of hexadecimal
information.
- Each input record begins a new line of printed output.
- The size of the input record and the carriage width determine
how many lines of printed output are required per input record.
If a RECORD statement is used, all data following the record
group it defines (within a partitioned member or within an entire
sequential data set) must be defined with other RECORD statements.
Any number of RECORD statements can be included in a job step.
A RECORD statement referring to a partitioned data set or PDSE
for which no members have been named need contain only FIELD parameters.
These are applied to the records in all members of the data set.
If a FIELD parameter is included in the RECORD statement, MAXFLDS
must be specified in the PRINT or PUNCH statement.
If an IDENT parameter is included in the RECORD statement, MAXGPS
and MAXLITS must be specified in the PRINT or PUNCH statement.
The syntax of the RECORD statement is:
Label |
Statement |
Parameters |
---|
[label]
|
RECORD
|
[IDENT=(length,'name', input-location)]
[,FIELD=(length,[input-location]
,[conversion],
[output-location])][,FIELD=...]
|
where:
- IDENT=(length,'name',input-location)
- identifies the last record of the record group to which the
FIELD parameters apply. The values that can be coded are:
- length
- specifies the length (in bytes) of the field that contains the
identifying name in the input records. The length cannot exceed 8
bytes.
- 'name'
- specifies the exact literal, enclosed in apostrophes, that identifies
the last record of a record group. If the literal contains apostrophes,
each must be written as two consecutive apostrophes.
You can specify
'name' in hexadecimal by coding name
. You can also specify a DBCS string for 'name',
either in DBCS characters or in the hexadecimal representation of
DBCS characters. If you use hexadecimal for a DBCS string, the hexadecimal
values of the shift-out/shift-in characters are X'0E' and X'0F', respectively.
- input-location
- specifies the starting location of the field that contains the
identifying name in the input records.
The sum of the length and the input location must be equal
to or less than the input logical record length plus one.
Default: If IDENT is omitted and STOPAFT is not
included with the PRINT or PUNCH statement, record processing stops
after the last record in the data set. If IDENT is omitted and STOPAFT
is included with the PRINT or PUNCH statement, record processing halts
when the STOPAFT count is satisfied or after the last record of the
data set is processed, whichever occurs first.
If an IDENT
parameter is included in the RECORD statement, MAXGPS and MAXLITS
must be specified in the PRINT or PUNCH statement.
- FIELD=(length,[input-location]
,[conversion],[output-location])
- specifies field-processing and editing information.
Note
that the variables on the FIELD parameter are positional; that is,
if any of the options are not coded, the associated comma preceding
that variable must be coded.
These values can be coded:
- length
- specifies the length (in bytes) of the input field to be processed.
The length must be equal to or less than the first input logical record
length.
- input-location
- specifies the starting position of the input field to be processed.
The sum of the length and the input location must be equal to or less
than the input logical record length plus one.
Default: The first position (byte) is assumed.
- conversion
- specifies the type of conversion to be performed on this field
before it is printed or punched. The values that can be coded are:
- CV
- specifies that double-byte character set characters are combined
with single-byte character set characters, and that the DBCS characters
should be checked to ensure that they are printable. No shift-out/shift-in
characters will be inserted to enclose DBCS strings.
DBCS=YES must
be specified on the PRINT or PUNCH statement.
- PZ
- specifies that packed decimal data is to be converted to unpacked
decimal data. The converted portion of the input record (length L)
occupies 2L - 1 output characters when punching, and 2L output characters
when printing.
- VC
- specifies that double-byte character set characters should be
checked to ensure that they are printable, and that shift-out/shift-in
characters (< and >) are to be inserted to enclose the DBCS strings.
DBCS=YES must be specified on the PRINT or PUNCH statement.
- XE
- specifies that alphanumeric data is to be converted to hexadecimal
data. The converted portion of the input record (length L) occupies
2L output characters.
Default: The field is moved to the
output area without change.
- output-location
- specifies the starting location of this field in the output
records. Unspecified fields in the output records appear as blanks
in the printed or punched output. Data that exceeds the SYSUT2 printer
or punch size is not printed or punched. When specifying one or more
FIELDs, the sum of all lengths and all extra characters needed for
conversions must be equal to or less than the output LRECL minus one.
Default: The first position (byte) is assumed.
If a FIELD parameter is included in the RECORD statement,
MAXFLDS must be specified in the PRINT or PUNCH statement.