JCL compare control cards
This section describes each JCL Compare criteria keyword.
JCL COMPARE TYPE
The JCL_COMPARE_TYPE keyword specifies whether the compare will be a line compare or a compare by keyword. Default is KEYWORD.
LINE
JCL COMPARE EXCLUDE
The JCL_COMPARE_EXCLUDE keyword specifies whether to exclude comments or instream data from the compare. One or both or none may be excluded.
NONE
JCL DETAIL REPORT STYLE
The JCL_DETAIL_REPORT_STYLE keyword specifies either a report in standard format or a report in across (side-by-side) format style. Default is STANDARD.
ACROSS
JCL MEMBER SUMMARY REPORT
The JCL_MEMBER_SUMMARY_REPORT keyword specifies whether you want Compare to print the JCL Member Summary Report. Valid entries are YES or NO. This report prints a one-line summary of statistics for each member compared. Default is YES.
NO
JCL DETAIL REPORT
The JCL_DETAIL_REPORT keyword specifies whether you want Compare to print the JCL Detail Report. Valid entries are YES or NO. Default is YES.
NO
JCL DETAIL REPORT LINES PRINTED
The JCL_DETAIL_REPORT_LINES_PRINTED keyword specifies whether all lines should be printed on the detail report or only changed lines, which includes changed, inserted, and deleted lines, should be printed on the report. Default is ALL.
CHANGED
JCL DETAIL REPORT PRINT MATCHED INSTREAM DATA
The JCL_DETAIL_REPORT_PRINT_MATCHED_INSTREAM_DATA keyword specifies whether Compare should print the matched instream data on the detail report. Default is NO.
YES
JCL DETAIL REPORT PRINT NEW FILE EXCLUDED LINES
The JCL_DETAIL_REPORT_PRINT_NEW_FILE_EXCLUDED_LINES keyword specifies whether Compare should print lines excluded from the New file being compared. Valid entries are YES or NO. Default is NO.
YES
JCL DETAIL REPORT PRINT JOB/STEP HEADERS
The JCL_DETAIL_REPORT_PRINT_JOB/STEP_HEADERS keyword specifies whether Job header lines or step header lines should be print on the detail report. Valid entries are YES or NO. Default is NO.
YES
JCL DETAIL REPORT STATUS FOR MATCHED LINES
The JCL_DETAIL_REPORT_STATUS_FOR_MATCHED_LINES keyword specifies how the matched lines should be flagged on the detail report. Default is BLANK.
MATCH
JCL DETAIL REPORT PRINT LINE NUMBERS
The JCL_DETAIL_REPORT_PRINT_LINE_NUMBERS keyword specifies if the line number should be printed on the detail report. Valid entries are YES or NO. Default is YES.
NO
JCL DETAIL REPORT PRINT OLD FILE MATCHED LINES
The JCL_DETAIL_REPORT_PRINT_OLD_FILE_MATCHED_LINES keyword specifies if the matched lines from the OLD file should be printed on the detail report. Valid entries are YES or NO. Default is YES.
NO
JCL DETAIL REPORT PRINT OLD FILE EXCLUDED LINES
The JCL_DETAIL_REPORT_PRINT_OLD_FILE_EXCLUDED_LINES keyword specifies if the excluded lines from the OLD file should be printed on the detail report. Valid entries are YES or NO. Default is NO.
NO
JCL DETAIL REPORT DATA WIDTH
This keyword is valid only for Across report style format (see JCL DETAIL REPORT STYLE).
The JCL_DETAIL_REPORT_DATA_WIDTH keyword specifies the width of the detail report. WIDE will allow 80 Characters of the data of both old and new file to print (LRECL=183). Default is NORMAL (LRECL=133) which prints 61 characters of data for old and new each. If “JCL_DETAIL_REPORT_PRINT_LINE_NUMBERS” is set to Yes, then 55 characters of data are printed. Data past position 61 or 55 will be truncated equally on the right for both old and new file. Therefore, changed data past position 61 or 55 is not visible, but the line is still marked as changed.
WIDE
JCL DETAIL REPORT UNDERLINE CHANGES
The JCL_DETAIL_REPORT_UNDERLINE_CHANGES keyword specifies what to underline for changed data fields in the OLD and NEW file. Default is NEW.
OLD
BOTH
NEITHER
NEW
Underline changes in the NEW record.
OLD
Underline changes in the OLD record.
BOTH
Underline changes in the OLD and NEW record.
NEITHER
Do not underline changes in the OLD or NEW record.
JCL DETAIL CHANGED DATA UNDERLINE CHARACTER
The JCL_DETAIL_CHANGED_DATA_UNDERLINE_CHARACTER keyword specifies a character to underline the changed data. The default is the pound sign (#). To suppress the underline character, enter a blank.
JCL DETAIL KEYWORD DATA UNDERLINE CHARACTER
The JCL_DETAIL_KEYWORD_DATA_UNDERLINE_CHARACTER keyword specifies a character to underline the keyword data. The default is the minus sign(-). To suppress the underline character, enter a blank.
PRINT FORMAT
The PRINT_FORMAT keyword enables you to select the format of the compare report.
CHAR
HEX
MIXED
FORMATTED
Uses record layouts to show differences field by field. Old fields are printed next to new fields in two side-by-side columns.
CHAR
Prints each differing record showing only printable characters (default).Differences are underlined.
HEX
Prints each differing record showing character and vertical hexadecimal values for each byte of data. Differences are underlined.
MIXED
Prints valid character data as characters and unprintable data is printed in hexadecimal. Differences are underlined.
If COMPARE_MODE=FORMATTED, then the default is PRINT_FORMAT=FORMATTED. If COMPARE MODE=UNFORMATTED, then PRINT_FORMAT=CHAR is the default and PRINT_FORMAT=FORMATTED is invalid.
MAX DIFFERENCES TO REPORT
The MAX_DIFFERENCES_TO REPORT keyword specifies a number to limit the maximum number of differences to report. A numeric value in this field guards against excessive output. The default is ALL. A value of zero reports all differences (the same as ALL).
number
Valid entries are 0-9999. The default is ALL or 0.
ECORD TYPES TO PRINT
The RECORD_TYPES_TO_PRINT keyword specifies the compare record types that you want included in the compare report. The default is CHANGED, INSERTED, and DELETED.
ALL
NONE
CHANGED
Prints the changed records.
INSERTED
Prints the inserted records.
DELETED
Prints the deleted records.
MATCHED
Prints the matched records.
ALL
Prints all records.
NONE
Generates a Summary Report only (default).
FORMATTED REPORT STYLE
THE FORMATTED_REPORT_STYLE keyword is valid only for a FORMATTED report and specifies report style.
ASSOCIATED
COMPARED
ENTIRE
Prints the entire report (default).
ASSOCIATED
Prints all associated fields (including COMPARED) and SYNC/KEYS, if any.
COMPARED
Prints only the compared fields and SYNC/KEYS, if any.
COMPARED FIELDS PRINT OPTION
THE COMPARED_FIELDS_PRINT_OPTION keyword is valid only for a Formatted report and specifies whether to print all the fields selected for the comparison or just the fields that have changed.
CHANGED
ALL
Prints all fields that are selected for comparison.
CHANGED
Prints only the fields that are selected for comparison that have changed.
FIELD STATISTICS REPORT
THE FIELD_STATISTICS_REPORT keyword is valid only for a FORMATTED report and specifies whether to print the field statistics report.
NO
UNFORMATTED REPORT STYLE
The UNFORMATTED_REPORT_STYLE keyword is valid only for a UNFORMATTED report (CHARACTER, HEX, or MIXED) and specifies report style.
CONDENSED
ULTRA-CONDENSED
STANDARD
(Default) Standard report style is the full Compare report.
CONDENSED
Condensed report style has reduced heading lines and enables you to specify the following additional report options:
- CONDENSED_REPORT_SUPPRESS_PRINT_WITHOUT_CHANGES
- CONDENSED_REPORT_PRINT_RULER
- CONDENSED_REPORT_CHANGED_DATA_UNDERLINE_CHARACTER
- CONDENSED_REPORT_SYNC/KEY_UNDERLINE_CHARACTER
ULTRA-CONDENSED
Ultra-condensed report style produces the minimum number of report print lines. It enables you to specify the following additional report options:
- CONDENSED_REPORT_SUPPRESS_PRINT_WITHOUT_CHANGES
- CONDENSED_REPORT_PRINT_RULER
- CONDENSED_REPORT_CHANGED_DATA_UNDERLINE_CHARACTER
- CONDENSED_REPORT_SYNC/KEY_UNDERLINE_CHARACTER
UNFORMATTED PRINT SEQUENCE
The UNFORMATTED_PRINT_SEQUENCE keyword is valid only for a UNFORMATTED report (CHARACTER, HEX, or MIXED) and specifies report print sequence.
ALTERNATE
REDUCED
GROUP
Groups OLD record print lines together and NEW record print lines together (default).
ALTERNATE
Alternates OLD and NEW record print lines for each 100 record positions.
REDUCED
Reduces print lines in Alternate sequence for Standard report style. Valid only for Standard report style.
CHANGED RECORD PRINT CONTENT
The CHANGED_RECORD_PRINT_CONTENT keyword specifies the record information to print for a changed record. It is valid for an unformatted report (CHARACTER, HEX, or MIXED).
RECORD
BOTH
SYNC/KEY
Print sync/key data for changed record.
RECORD
Print entire changed record.
BOTH
Print both sync/key data and entire changed record.
INSERTED RECORD PRINT CONTENT
The INSERTED_RECORD_PRINT_CONTENT keyword the record information to print for an inserted record. It is valid for an unformatted report (CHARACTER, HEX, or MIXED).
RECORD
BOTH
SYNC/KEY
Print sync/key data for inserted record.
RECORD
Print entire inserted record.
BOTH
Print both sync/key data and entire inserted record.
DELETED RECORD PRINT CONTENT
The DELETED_RECORD_PRINT_CONTENT keyword the record information to print for a deleted record. It is valid for an unformatted report (CHARACTER, HEX, or MIXED).
RECORD
BOTH
SYNC/KEY
Print sync/key data for deleted record.
RECORD
Print entire deleted record.
BOTH
Print both sync/key data and entire deleted record.
MATCHED RECORD PRINT CONTENT
The MATCHED_RECORD_PRINT_CONTENT keyword the record information to print for a matched record. It is valid for an unformatted report (CHARACTER, HEX, or MIXED).
RECORD
BOTH
SYNC/KEY
Print sync/key data for matched record.
RECORD
Print entire matched record.
BOTH
Print both sync/key data and entire matched record.
CONDENSED REPORT PRINT ONLY CHANGED DATA
The CONDENSED_REPORT_PRINT_ONLY_CHANGED_DATA keyword specifies whether to print just the changed data in the new record or the entire record.
NO
YES
Prints only the changed data for the new record. Unchanged data is displayed as spaces.
NO
Prints the entire record content.
CONDENSED REPORT UNDERLINE CHANGES
The CONDENSED_REPORT_UNDERLINE_CHANGES keyword specifies what to underline for changed data fields in the OLD and NEW file.
NEW
BOTH
NEITHER
OLD
Underline changes in the OLD record.
NEW
Underline changes in the NEW record.
BOTH
Underline changes in the OLD and NEW record.
NEITHER
Do not underline changes in either the OLD or NEW file.
CONDENSED REPORT UNDERLINE SYNC/KEY
The CONDENSED_REPORT_UNDERLINE_SYNC/KEY keyword specifies what to underline for the sync/key fields in the OLD and NEW file.
NEW
BOTH
NEITHER
OLD
Underline sync/key field in the OLD record.
NEW
Underline sync/key field in the NEW record.
BOTH
Underline sync/key field in the OLD and NEW record.
NEITHER
Do not underline sync/key field in either the OLD or NEW file.
CONDENSED REPORT SUPPRESS PRINT WITHOUT CHANGES
The CONDENSED_REPORT_SUPPRESS_PRINT_WITHOUT_CHANGES keyword specifies whether to print the records that do not have changes. This keyword is valid only when the report is unformatted and the style is condensed or ultra-condensed.
NO
Specifying YES (default) prints only the lines that contain changes and/or key or sync fields. Specify No to print all records.
CONDENSED REPORT PRINT RULER
The CONDENSED_REPORT_PRINT_RULER keyword specifies how you want your ruler line to print in your Compare report. This keyword is valid only when the report is unformatted and the style is condensed or ultra-condensed.
ALWAYS
NEVER
TOP
Only prints at the top of the page (default).
ALWAYS
Always prints the ruler for every inserted, deleted, and matched record, and every pair of changed records.
NEVER
Does not print a ruler.
CONDENSED REPORT CHANGED DATA UNDERLINE CHARACTER
The CONDENSED_REPORT_CHANGED_DATA_UNDERLINE_CHARACTER keyword specifies a character to underline the changed data. The default for this keyword is the underscore (_). This keyword is valid only when the report is unformatted and the style is condensed or ultra-condensed.
CONDENSED REPORT SYNC/KEY UNDERLINE CHARACTER
The CONDENSED_REPORT_SYNC/KEY_UNDERLINE_CHARACTER keyword specifies a character to underline the key or sync field(s). The default is the pound sign (#). To suppress the underline character, enter a blank. This keyword is valid only when the report is unformatted and the style is condensed or ultra-condensed.
WRITE TO FILE
The WRITE_TO_FILE keyword specifies the output file number, which file to take the record or member to write, and the type of record to write. In batch, a DD01COn DD card must be present for each unique file number specified.
0000 WRITE_TO_FILE_n=file/type
n
n is the output file number. Valid entries are 1-6. In batch, this corresponds to the DD01COn JCL DD card. Multiple record/member types may be written to the same output file. If records/members from both the OLD file and the NEW file are written to the same output file, then the OLD file format is used as the output format. Padding or truncation may occur.
file
File is the input file from which to take the record or member to write. Valid entries are OLD or NEW.
type
Type is the record type to write. Valid entries are CHANGED, MATCHED, DELETED or INSERTED. DELETED is only valid for the OLD file. INSERTED is only valid for the NEW file.
Examples:
0000 WRITE_TO_FILE_6=OLD/CHANGED,OLD/MATCHED
OLD or NEW SYNC/KEY MEMBER
The OLD_SYNC/KEY_MEMBER keyword is required when you use SYNC fields or KEY specification with an XREF. You must choose one member and layout for SYNC/KEY specification which File-AID applies globally. If the NEW_SYNC/KEY_MEMBER keyword is omitted, File-AID assumes it is identical to the OLD.
0000 NEW_SYNC/KEY_MEMBER=ALTEMPLY,LAYOUT_NAME=ALTERNATE-MASTER-FILE
- SYNC/KEY MEMBER and LAYOUT cards are optional for single layouts.
- LAYOUT_NAME may be left blank if there is only one layout in the specified SYNC/KEY_MEMBER=.
- The SYNC/KEY MEMBER and LAYOUT cards are valid only for a formatted compare.
SYNC/KEYnnn
The SYNC/KEY keyword associates OLD and NEW data as SYNC/KEY pairs.
Each SYNC/KEY is ordered based on the three-digit (1-256) sequence number which is part of the keyword (e.g., SYNC/KEY003 defines the third SYNC/KEY field).
SORTED=YES,SEQUENCE=ASCENDING
NO DESCENDING
or
OLD_DATA_TYPE=data-type
0000 SYNC/KEY004:NEW_POSITION=12345, NEW_LENGTH=12345,
NEW_DATA_TYPE=data-type
OLD_NAME/NEW_NAME
Name of field selected for SYNC/KEY specification.
OLD_POSITION/NEW_POSITION
Starting position of the field within the record (relative to 1).
OLD_LENGTH/NEW_LENGTH
Number of bytes in the corresponding field.
OLD_DATA_TYPE/NEW_DATA_TYPE
B | Binary unsigned. |
BS | Binary signed. |
BT | Bit. |
C | Character alphanumeric. |
D | Double-Byte Character Support. |
F | Floating point. |
P | Packed decimal unsigned. |
PS | Packed decimal signed. |
Z | Zoned decimal. |
ZS | Zoned decimal signed |
SEQUENCE
Specify the field sequence direction for this key field (ASCENDING or DESCENDING).
SORTED
Specify whether this SYNC/KEY field is in a sort sequence (YES or NO).
Guidelines
Use the following guidelines when coding SYNC/KEY associations:
- When specifying SYNC/KEY associations and descriptions, the SYNC/KEY number (POS. 14-16) groups associated sub-keywords. The SYNC/KEY number also provides SYNC/KEY order for SORTED=YES. SYNC/KEY cards must be in sequence by SYNC/KEYnnn.
- Sub-keywords may be continued on subsequent cards. Sub-keyword values cannot be split across multiple cards. A sub-keyword must end on the card on which it begins.
- Minimum information for specifying SYNC/KEY fields is OLD_NAME or OLD_POSITION. If NEW information is omitted, OLD information is assumed for both. A compare must be formatted if OLD_NAME or NEW_NAME is used.
- OLD_NAME is mutually exclusive of OLD_LENGTH and OLD_DATA_TYPE.
- NEW_NAME is mutually exclusive of NEW_LENGTH and NEW_DATA_TYPE.
- POSITION, LENGTH, and DATA_TYPE format may be used in place of NAME for a Formatted Compare.
- If SEQUENCE is specified, SORTED=YES is assumed and SORTED=NO is prohibited. If SEQUENCE and SORTED are not specified, SORTED defaults based on COMPARE_TYPE (see COMPARE TYPE).
- If SORTED=YES is specified, SEQUENCE=ASCENDING is assumed. In this case, the default for LENGTH is 1 and the default for DATA_TYPE is Character (C).
- To specify OLD_NAME or NEW_NAME for fields that OCCUR multiple times, see FIELD Name with Occurs.
- In order to compare the data from the new and old files, you must have a Compare Field specified. Only specifying the SYNC Key field, will only compare the SYNC key field and will not compare the rest of data in the file. However, by coding $$DD01 COMPARE with the absence of both the SYNC Key and the Compare fields, this will successfully compare the two files.