Some much needed examples have been added.
TSO Command SUPERC/SUPERCE TSO Command SUPERC/SUPERCE
Author: ISPF PDF Option 3.13
formatted on 1995/04/01 06:54
--------------------------------------------------------------------------------
-------- SUPERCE - FUNCTIONS - -- & TUTORIAL
The following topics are presented in sequence, or may be selected by
number:
1 Input Data Sets - Specifying input data set names and organization
2 PDS Member List - Selecting members using the member list service
3 Compare Type - Specifying the compare operation type
4 Listing Type - Specifying the listing type
5 Listing Data Set - Specifying listing data set name and organization
6 Process Options - Specifying optional process option keywords
7 Process Statements Using process statements and the process statement - s ds
7a Process Statements Dataset
7b Process Statements
8 Browse Output - Displaying comparison results
9 Update Data Set - Specifying update data set name and organization
10 Interpret Listing- Interpreting SuperC listings prefix codes
11 Return Codes - Interpreting SuperC return codes
12 Using Profiles - Creating and activating profile data sets
13 Batch Jobs - Submitting comparison jobs for batch execution
14 Search-For Strings Using the Extended Search-for Utility
15 Additional Notes - Additional SuperC program discussion
111 Sample Output - LISTING-TYPE = DELTA
1 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
----------------------------- SUPERC UTILITY --------------------------- -------
COMMAND ===>
SPECIFY "NEW"
DATA SET TO BE COMPARED, THEN PRESS THE "ENTER"
KEY.
PROJECT ===> is00
GROUP ===> LIBR ===> ===> ===>
TYPE ===> CLIST
MEMBER ===> @* (Blank or pattern for member selection
list,
'*' for all members)
"NEW" OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===> (If not cataloged)
DATA SET PASSWORD ===> (If password protected)
PROFILE DSN ===>
MODE ===> F (F - foreground, B - batch)
COMPARE -- is00.LIBR.CLIST(@*) -----------------------------------------
-------
COMMAND ===>
SPECIFY "OLD"
DATA SET TO BE COMPARED, THEN PRESS THE "ENTER"
KEY.
PROJECT ===>
GROUP ===> ===> ===> ===>
TYPE ===> CLIST
"OLD" OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===> 'SYS1.TSOCLIST'
VOLUME SERIAL ===> (If not cataloged)
DATA SET PASSWORD ===> (If password protected)
LISTING TYPE ===> LONG (DELTA/CHNG/LONG/OVSUM/NOL
IST)
LISTING DS NAME ===> SUPERC.LIST
SEQUENCE NUMBERS ===> (blank/SEQ/NOSEQ/COBOL)
For more information on this panel refer to COMPARE TYPE on page STATUS-1
,
LISTING TYPE on page STATUS-1 and LISTING DATA SET on page STATUS-1.
-------- SUPERC - OVERVIEW -- TUTORIAL
SuperC is a fast and versatile compare program that processes two sequen-
tial data sets, two complete partitioned data sets (PDS), members from two
PDSs, or concatenated data sets. You can also compare data sets of unlim-
ited size and record lengths at the file, line, word, or byte level.
SuperC requires only the names of the input data sets. However, you can
enter additional processing options to personalize the results. ISPF/PDF
utilities provide a convenient panel interface for specifying program in-
put parameters. Standard ISPF help panels are available as well as the
option to directly browse the compare results at your terminal.
SuperC creates a variety of output listings that make it easy to locate
data differences. Delta listings, long listings, summary listings, and
side-by-side line listings are examples.
You can use SuperC for many applications other than the traditional "com-
pare of two source data sets." It can be used as a component of a library
system, for determining change statistics for management reports, or as a
central utility in an automated "regression testing" system (eliminating
matching output data and reducing the volume of visually-inspected data).
Additionally, SuperC's output results (especially the UPDATE data set) can
be used as an application's input data set. The user-written
postprocessing program could interpret the data to produce more personal-
ized reports.
The ISPF/PDF release of SuperC is a combination of two components - two
ISPF/PDF dialogs and an independent SuperC program. The program is a ma-
jor rewrite of the original IBM released IUP (Source Compare/Audit Utility
- Pgm # 5796-PLZ) and was developed in parallel with (and a re-port of) an
IBM PC program of the same name. It is upward compatible with the older
MVS IUP version and can serve as its direct replacement.
You can invoke SuperC in three different ways to compare data sets:
1. Use the standard SuperC dialog (option 3.12) to run comparisons using
either the default values of the SuperC options or a SuperC profile.
(A SuperC profile is a predefined set of SuperC process options and
process statements). The standard SuperC panels are similar in format
to other ISPF/PDF utilities (for example, sequential panels for "NEW"
and "OLD" data set information and standard ISPF/PDF data set concat-
enation conventions).
2. Use the SuperCE dialog (option 3.13) if you are an advanced user and
want a more flexible comparison facility. From the primary panel, you
have direct access to all process options, and there are supplemental
panels to enter other options. The entry line format for input data
set names also is different from the OPTION 3.12 standard panel. This
allows you to compare combinations of concatenated data sets, includ-
ing data sets which are not ISPF libraries.
You can also use the SuperCE dialog to create user profiles for use
with either the standard or SuperCE dialog. Profiles can simplify
SuperC for the inexperienced user who is unfamiliar with all the proc-
essing options.
The SuperC dialogs support both interactive and batch comparisons us-
ing the same primary panels. This makes it convenient to submit long
term jobs for hard copy and/or run interactive short jobs browsing
these results immediately at the terminal.
3. The SuperC program may also be invoked directly from a user CLIST in
either an ISPF or non-ISPF environment. A sample clist has been pro-
vided to illustrate "line" command invocation. A sample PROCLIB JCL
cataloged procedure has also been provided for batch submittal.
------------------------------ SUPERCE UTILITY
OPTION ===> _
blank - Compare Data Sets P - Select Process Options
B - Submit Batch Data Set Compare E - Edit Statements Data Set
S - Extended Search-For Compare Utility A - Activate/Create Pro- files
New DS Name ===> 'is00.VSPC.CNTL(SASJSIP)'
Old DS Name ===> 'is00.VSPC.CNTL(ZSAS)'
PDS Member List ===> (blank/pattern - member list, * - compare all)
(Leave New/Old Dsn "blank" for concatenated-uncataloged-password panel)
Optional Section
Compare Type ===> LINE (FILE/ LINE /WORD/BYTE)
Listing Type ===> DELTA (OVSUM/ DELTA /CHNG/LONG/NOLIST)
Listing Dsn ===> SUPERC.LIST
Process Options ===>
===>
Statements Dsn ===>
Update Dsn ===>
BROWSE Output ===> YES BROWSE( YES /NO/COND/UPD)
-------- SUPERCE UTILITY - -- TUTORIAL
-----------------------------------------
| SUPERCE (SUPERC EXTENDED) UTILITY |
-----------------------------------------
To use the SUPERCE option, select either:
- Option (PDF) 3.13 from the Primary Option Menu or
- Option 13 from the Utility Selection Menu.
Direct entry to two SUPERCE sub-selection panels may be achieved by en-
tering:
- 3.13.A for direct entry to the Activate/Create panel.
- 3.13.S for direct entry to the Extended Search-For Utility.
The following topics are presented in sequence, or may be selected by
number:
1 - Overview of SuperC
2 - SUPERCE utility functions (see page &SC#U2.)
3 - Discussion for executing the SuperC program using an installation
(or user) clist or PROCLIB
3 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - COMPARE TYPE -- TUTORIAL (#3)
Compare Type: ===> (FILE/ LINE /WORD/BYTE) CTYPE() TYPE=
FILE Checks source data sets and determines if they are different.
This is the simplest and fastest method with the least amount of
processing overhead. It produces a 32 bit hashsum for each
DS/member processed.
LINE Compares source data sets at the line level for differences. Re-
formatted lines (that is, lines with blanks inserted or deleted)
are automatically detected for lines <= 256 characters. Line < < <
compare is the most frequently used level of compare and is the
compare type default.
WORD Compares source data sets for word differences. Word is a group
of characters separated by a blank or line delimiter. The XWDCMP
process option extends the delimiters to all non-alphameric char-
acters.
BYTE Compares source data sets for differences at the byte level. The
output listing data set consists of a hex printout with character
equivalents listed on the right (as in a dump listing).
4 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - LISTING TYPE -- TUTORIAL (#4)
Listing Type ===> (OVSUM/ DELTA /CHNG/LONG/NOLIST) LISTING() LISTING=
OVSUM Lists only the overall summary of the data set or PDS comparison.
If partitioned data sets are compared, the listing includes a
summary line for each member selected from the PDS.
DELTA Lists the differences between the source data sets, followed by
the overall summary results. Differences are flagged to the left
of each output line.
CHNG Lists the differences between the source data sets, plus up to 10
matching output lines before and after the differences. This
listing
is like the delta listing, but includes surrounding
matched lines as an aid in recognizing changed areas of the
source data sets.
LONG Lists the complete new data set with the old data set deleted
data interspersed in the output listing. Both inserted and de-
leted output data is flagged. The format is the same as the
DELTA with all matching data shown.
NOLIST No listing output is produced. A PDF message displayed after the
SuperC program execution is the sole method to determine the re-
sults
of the compare operation. You may wish to use the NOLIST
option when you use one of the UPDATE comparison options to gen-
erate an update data set and the listing is unimportant.
NOTE: The listing type default for Line, Word, and Byte compare is
DELTA. The listing type is ignored for File compare as other
File compare process options are used to determine the listing
requirements.
5 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - LISTING DATA SET -- TUTORIAL (#5)
Specify the data set for the output compare results. This field is not
used when SuperC is invoked via batch. The SuperC Submit panel is used
instead to specify the destination of the compare results.
Listing Dsn ===>
The listing data set can be an existing data set. If it does not exist,
it will be allocated for you. Sequential and partitioned data sets are
allowed. If the data set is partitioned, you must supply the member name.
SuperC places the results in the specified data set. If you leave this
field blank, the output will be put into a default data set called
'prefix.SUPERC.LIST'. If NOLIST is specified as the Listing Option,
SuperC will not generate an output listing and this field will be ignored.
dsn Specify a data set name.
blank Defaults to prefix.SUPERC.LIST
-------- SUPERCE - EDITING PROCESS STATEMENTS -- TUTORIAL
Process Options ===> in a clist use PROCESS(...), in batch
use PROCESS='...'
To edit a statements data set, select option E (edit) from the SuperCE
main panel. If you leave the data set name field blank, the default data
set 'prefix.SUPERC.STMTS' is used. If you enter the name of a data set
that does not exist, it is allocated for you.
Examples of some common process statements are listed on the edit data
panel. You can enter the HELP command from the edit panel for details
about process statements.
CMPCOLM 2:72 Limit compare to columns 2:72
SELECT NMEM1:OMEM1 Compare members NMEM1 and OMEM1 to each other
--------------------------------------------------------------------------
The complete list of the process statements appears in the following pan- els.
--------------------------------------------------------------------------
--------------------------------------------------------------------------------
-------- EXAMPLE of SUPERCE PANEL and EDIT of STATEMENTS DATASET
Enter an "E" on the option (command) line at the top to edit statements dataset.
--------------------------------------------------------------------------------
PANEL NAME = ISRSEPRI
------------------------------ SUPERCE UTILITY
OPTION ===> E
blank - Compare Data Sets P - Select Process Options
B - Submit Batch Data Set Compare E - Edit Statements Data Set
S - Extended Search-For Compare Utility A - Activate/Create Pro- files
New DS Name ===> 'is00.LIBR.CNTL(ZZ1133)'
Old DS Name ===> 'IS0D.LIBR.PROGRAMS(OH00004)'
PDS Member List ===> (blank/pattern - member list, * - compare
all)
(Leave New/Old Dsn "blank" for concatenated-uncataloged-password
panel)
Optional Section
Compare Type ===> WORD (FILE/ LINE /WORD/BYTE)
Listing
Type ===> LONG (OVSUM/ DELTA /CHNG/LONG/NOLIST)
Listing Dsn ===> SUPERC.LIST
Process Options ===>
===>
Statements Dsn ===> 'is00.LIBR.CNTL(DPLINE01)'
Update Dsn ===>
BROWSE Output ===> YES ( YES /NO/COND/UPD)
PF 1=HELP 2=SPLIT 3=END 4=PRINT 6=REFORMAT 7=UP 8=DOWN 9=SWAP
--------------------------------------------------------------------------------
PANEL NAME = ISRSEPRS
EDIT ----- is00.LIBR.CNTL(DPLINE01) --------------------------------- CO
COMMAND ===> _ SC
Enter or change Process Statements in the EDIT window below:
****** ********************************* TOP OF DATA *******************
000001 DPLINE ' SPACE 2 '
000002 DPLINE ' SPACE 1 '
000003 DPLINE ' SPACE '
000004 CMPCOLM 2:72
****** ******************************** BOTTOM OF DATA *****************
Examples Explanation
CMPCOLM 5:60 75:90 Compare using two column compare ranges
LSTCOLM 25:90 List columns 25:90 from input
DPLINE 'PAGE ' Exclude line if "PAGE " found anywhere on
DPLINE 'PAGE ',87:95 Exclude if "PAGE " found within columns 87
SELECT MEM1,NMEM2:OMEM2 Compare MEM1 with MEM1 and NMEM2 with OME
CMPLINE NTOP 'MACRO' Start comparing after string found in new
LNCT 66 Set lines per page to 66
Others: DPLINEC CMPBOFS CMPCOLMN CMPCOLMO NTITLE OTITLE SLIST
NCHGT OCHGT comment-lines ("*" and ".*")
PF 1=HELP 2=SPLIT 3=END 4=PRINT 6=REFORMAT 7=UP 8=DOWN
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Process OPTIONS
--------------------------------------------------------------------------------
6 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - PROCESS OPTIONS -- TUTORIAL (#6)
Process options are keywords that let you customize compares. You can en-
ter options directly on the Process Options line of the SuperCE main
panel, or you can select options from any Process Options panel by typing
a character next to the option you wish to use. Options currently speci-
fied or selected show an "S" on the displayed Process Option panel.
Selections may be deleted by removing the process keyword from the main
panel Process Options line or by deleting the "S" in the selection column.
You can also enter the "CANCEL" command to stop the selection process, re-
store previous selections and return to the main panel.
EXAMPLE: Process Options ===> DPBLKCL
or (on a Process Options selection panel)
S DPBLKCL - Don't process blank compare lines.
in a clist use PROCESS(...)
in batch use PROCESS'...'
-------- SUPERCE - LINE COMPARE PROCESS OPTIONS -- TUTORIAL
Input Process Control Options
SEQ Ignore FB 80/VB 255 standard sequence number columns. Sequence
numbers are assumed in columns 73-80 in FB 80 and columns 1-8 in
VB 255. This is the default for FB 80/VB 255 data sets.
NOSEQ Process FB 80/VB 255 standard sequence number columns as data.
This option is not required for any other record length size.
Use this to include col 73-80 of 80 byte records and col 1-8 of
VB records. Failure to use this option when sequences numbers
are NOT present will result in unmatched lines even though the
lines are matched. The invalid comparison will be very blatant
when comparing an FB dataset with a VB dataset both without se-
quence numbers. The reason being that the sequence number
columns are omitted from the compare you will be comparing
columns 1-72 of FB 80, and columns 9-251 of VB 255 so lines with
data in columns 1-8 will compare unequal.
COBOL Ignore columns 1-6 in FB 80 data sets. Data in columns 1-6 is
assumed to be sequence numbers.
ANYC Any case. Upper and lower case text strings matches. Converts
input data and string-mask to upper case prior to comparison.
Don't Process Control Options
DPPLCMT Don't process PL/I type comments. PLI/C/REXX comments (that is,
/* ... */ and blank compare lines) are excluded from the compare
set. Note: Conflicts between quoted strings and comment delim-
iters occasionally cause incorrect comment recognition.
DPPSCMT Don't process PASCAL type comments. PASCAL type comments (that
is, (* ... *) and blank compare lines) are excluded from the com-
pare set. DPPSCMT and DPPLCMT may be required for some PASCAL
compilers.
DPADCMT Don't process ADA type comments. ADA type comments (that is, "--
comment ..." and blank compare lines) are excluded from the com-
pare set.
DPACMT Don't process asterisk (*) comment lines. Assembler comment
lines with an "*" in column 1 are excluded from the compare set.
DPFTCMT Don't process FORTRAN type comment lines. FORTRAN source lines
with a "C" comment character in column 1 are excluded from the
compare set.
DPCBCMT Don't process COBOL type comment lines. COBOL source lines with
an "*" comment character in column 7 are excluded from the com-
pare set.
DPBLKCL Don't process blank compare lines. Source lines in which all of
the compare columns are blank are excluded from the compare set.
Output Process Control Options
REFMOVR Reformat override. Reformatted lines are NOT flagged on the out-
put listing. They are, however, counted for the overall summary
statistics.
DLREFM Don't list reformatted lines. Old data set source lines which
are the same except for the number of blanks and location of
blanks are omitted. Only new data set reformatted lines are in-
cluded in the listing.
DLMDUP Don't list matching duplicate lines. Old data set source lines
that match new data set source lines are omitted from the side-
by-side output listing.
FMVLNS Flag moved lines. "Moved" lines are flagged as Insert-Moved (IM)
in the new data set and Delete-Moved (DM) in the old data set.
Reformatted moved lines are specifically identified in the
"TYPE" listing column.
LOCS List only changed entries in the MEMBER SUMMARY LISTING section.
Unchanged paired entries and non-paired new and old data sets en-
tries are omitted.
CNPML Count non-paired PDS member lines for group summary. Use this
option to inventory the total number of processed and "don't
process" lines. Otherwise, only paired entries are listed with
line counts.
WIDE Creates a 202/203 listing data set with 80 columns from each
source data set line. Inserts and deletes are flagged and appear
side-by-side in the listing output.
NARROW Same as WIDE except only 55 columns from the source data sets are
listed side-by-side. The output is 132/133 columns wide.
LONGLN Long lines. Lists up to 176 columns from the input data sets so
extra columns from long input lines may be displayed.
NOPRTCC No printer control column. The listing data set is generated
omitting the normal listing control column and page separators.
Section separators and title lines are still generated. This
data set may be better for browsing at your terminal.
APNDLST Append the compare listing output to a previously created list-
ing. The attributes for both data sets must be identical.
APNDUPD Append the update output to a previously created data set. The
attributes for both data sets must be identical.
UPDSUMO Update Summary only. Produces an Update data set of four lines
(New-dataset-id, Old-dataset-id, totals header, single summary
line). The summary (totals) line has a "T" in column 1 and the
summary statistics are located at fixed offsets in the output
line. The data set has a line length of 132.
UPDCMS8 Update CMS sequenced 8. Produces a data set that contains both
control records and new data set source lines using sequence num-
bers from old data set columns 73-80. The format of the gener-
ated data may be suitable as CMS UPDATE input. The record
attributes for both input data sets must be fixed 80.
UPDMVS8 Update MVS Sequenced 8. Produces a data set that contains both
control and new data set source lines using sequence numbers from
old data set columns 73-80. The format of the generated data may
be suitable as MVS IEBUPDTE input. The record attributes for
both input data sets must be fixed 80.
UPDSEQ0 Update Sequenced 0. Produces a control data set that relates in-
serts and deletes to the relative line numbers of the old data
set. Both control records and new data set source lines are in-
cluded. This option is similar to UPDCMS8 but uses relative line
numbers instead of sequence column numbers and the control field
after the "$" designates the number of new source lines that fol-
low.
UPDCNTL Update Control. Produces a control data set which relates
matches, inserts, deletes and reformats to the relative line num-
bers of the old and new data sets (LINE compare), to the relative
word position of the old data set (WORD compare) or to the rela-
tive byte offset (BYTE compare). No source or data from either
input data set is included.
UPDPDEL Update prefixed delta lines. Produces a control data set con-
sisting of header records and complete (up to a 32k line length
limit) delta lines from the input source files. Each output re-
cord is prefixed with identification and information. The update
data set is a variable length data set reflecting the input
source data set characteristics.
NOTE: If either UPDSUMO, UPDCMS8, UPDMVS8, UPDSEQ0, UPDCNTL, or UPDPDEL
is specified, the update data set name defaults to SUPERC.UPDATE
if no update data set name has been specified.
-------- SUPERCE - WORD COMPARE PROCESS OPTIONS -- TUTORIAL
Input Process Control Options
SEQ Ignore FB 80/VB 255 standard sequence number columns. Sequence
numbers are assumed in columns 73-80 in FB 80 and columns 1-8 in
VB 255. This is the default for FB 80/VB 255 data sets.
NOSEQ Process FB 80/VB 255 standard sequence number columns as data.
This option is not required for any other record length size.
See material added to NOSEQ option on page STATUS-1.
COBOL Ignore columns 1-6 in FB 80 data sets. Data in columns 1-6 is
assumed to be sequence numbers.
ANYC Any case. Upper and lower case text strings matches. Converts
input data and string-mask to upper case prior to comparison.
GWCBL Generates WORD compare change listings. Lists the new data set
lines highlighting the changed lines (words may be inserted or
deleted from the line) with change bar flagging.
XWDCMP Extended word compare. The word delimiter set is extended to in-
clude all non-alphameric characters (including blanks). For ex-
ample, " ABCD(EFGH) JKL " would be 2 words using normal word
compare but 5 words (3 words and 2 word-tokens) with the XWDCMP
process option.
LOCS List only changed entries in the MEMBER SUMMARY LISTING section.
Unchanged paired entries and non-paired new and old data sets en-
tries are omitted.
NOPRTCC No printer control column. The listing data set is generated
omitting the normal listing control column and page separators.
Section separators and title lines are still generated. This
data set may be better for browsing at your terminal.
APNDLST Append the compare listing output to a previously created list-
ing. The attributes for both data sets must be identical.
APNDUPD Append the update output to a previously created data set. The
attributes for both data sets must be identical.
UPDSUMO Update Summary only. Produces an Update data set of four lines
(New-dataset-id, Old-dataset-id, totals header, single summary
line). The summary (totals) line has a "T" in column 1 and the
summary statistics are located at fixed offsets in the output
line. The data set has a line length of 132.
UPDCNTL Update Control. Produces a control data set that relates word
inserts and deletes to new data set lines. This same information
is indirectly available in a GWCBL listing. A post-processing
program can use this control data set to generate an updated new
data set source data set with imbedded change bar directives
(that is, a script data set with change bar control commands).
No source or data from either input data set is included.
NOTE: If either UPDSUMO or UPDCNTL is specified, the update dsn de-
faults to SUPERC.UPDATE if no update data set name has been spec-
ified.
The following WORD compare process options can be selected only by enter-
ing the option on the Process Options entry field on the SuperCE main
panel.
o DPPLCMT - Don't process PL/I source type comments.
o DPPSCMT - Don't process PASCAL source type comments.
o DPADCMT - Don't process ADA source type comments.
o DPACMT - Don't process Assembler asterisk (*) comment lines.
o DPFTCMT - Don't process FORTRAN source type comment lines.
o DPCBCMT - Don't process COBOL source type comment lines.
o DPBLKCL - Don't process blank comment lines.
-------- SUPERCE - BYTE COMPARE PROCESS OPTIONS -- TUTORIAL
LOCS List only changed entries in the MEMBER SUMMARY LISTING section.
Unchanged paired entries and non-paired new and old data sets en-
tries are omitted.
NOPRTCC No printer control column. The listing data set is generated
omitting the normal listing control column and page separators.
Section separators and title lines are still generated. This
data set may be better for browsing at your terminal.
APNDLST Append the compare listing output to a previously created list-
ing. The attributes for both data sets must be identical.
APNDUPD Append the update output to a previously created data set. The
attributes for both data sets must be identical.
UPDSUMO Update Summary only. Produces an Update data set of four lines
(New-dataset-id, Old-dataset-id, totals header, single summary
line). The summary line has a "T" in column 1 and the summary
statistics are located at fixed offsets in the output line. The
data set has a line length of 132.
UPDCNTL Update Control. Produces a control data set which relates
matches, inserts, deletes and reformats to the relative line num-
bers of the old and new data sets (LINE compare), to the relative
word position of the old data set (WORD compare) or to the rela-
tive byte offset (BYTE compare). No source or data from either
input data set is included.
NOTE: If either UPDSUMO or UPDCNTL is specified, the update dsn de-
faults to SUPERC.UPDATE if no update data set name has been spec-
ified.
-------- SUPERCE - FILE COMPARE PROCESS OPTIONS -- TUTORIAL
LOCS List only changed entries in the MEMBER SUMMARY LISTING section.
Unchanged paired entries and non-paired new and old data sets en-
tries are omitted.
NOPRTCC No printer control column. The listing data set is generated
omitting the normal listing control column and page separators.
Section separators and title lines are still generated. This
data set may be better for browsing at your terminal.
APNDLST Append the compare listing output to a previously created list-
ing. The attributes for both data sets must be identical.
ooo end of PROCESS options ooo
7
STATEMENTS data set
7a [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - PROCESS STATEMENTS DATA SET -- TUTORIAL (#7a)
A process statements data set contains process statements that specify di-
rectives to the SuperC program. They are similar to the process options
but are composed of a keyword and one or more operands. There are many
different types of process statements. Only one statement may appear on
each line. The data set must have a Fixed 80 LRECL.
+------------------------------------------------------------------------------+
| Process statements |
| |
| Process Statements differ from Process Options described earlier. |
| Process statements can be entered in the following manner. |
| |
| 1. Panels -- Statements Dsn ===> |
| |
| 2. Clists (%SUPERC and/or %@COMPARE) by using SYSIN(ddname) or |
| SYSIN(PROMPT). |
| |
| 3. JCL -- use of SYSIN DD. |
| |
+------------------------------------------------------------------------------+
| |
| If you are using the %SUPERC clist or the %@COMPARE clist and need to |
| introduce process statements you may use option SYSIN(PROMPT). |
| |
| Example: |
| @COMPARE CLIST SEQ /*data has sequence numbers |
| ignore*/ |
| |
| @COMPARE CLIST SYSIN(PROMPT) NOSEQ /*treat sequence numbers as |
| data*/ |
| when prompted enter: |
| CMPCOLM 1:72 /*hit enter and again at next prompt to indicate |
| end of input*/ |
+------------------------------------------------------------------------------+
The following entry line appears on the SuperCE primary panel:
Statements Dsn ===>
Specify optional process statement input:
dsn Specify the name of an input data set that contains user pre-
pared
process statements.
blank No optional process statements required.
To edit a statements data set, select option E (edit) from the SuperCE
main panel. If you leave the data set name field blank, the default data
set 'prefix.SUPERC.STMTS' is used. If you enter the name of a data set
that does not exist, it is allocated for you.
Examples of some common process statements are listed on the edit data
panel. You can enter the HELP command from the edit panel for details
about process statements.
CMPCOLM 2:72 Limit compare to columns 2:72
SELECT NMEM1:OMEM1 Compare members NMEM1 and OMEM1 to each other
--------------------------------------------------------------------------
The complete list of the process statements appears in the following pan- els.
--------------------------------------------------------------------------
7 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - PROCESS STATEMENTS -- TUTORIAL (#7b)
CMPCOLM Compare Columns. Compares only the columns that you specify in
each source line. You can specify up to 6 ranges of columns
and/or individual columns to be compared. Use a comma or blank
to separate column specifications. This statement is valid for
LINE and WORD compare.
Format: CMPCOLM start-colm:stop-colm ...
Explanation
EXAMPLES: CMPCOLM 1:70 72 74 Column ranges and single columns
CMPCOLM 1:70,72,74 Commas instead of space delimiters
CMPCOLMN Compare Column New. Same as CMPCOLM in format but referring
only to the new data set source input line. Format: CMPCOLMN
start-colm:stop-colm ...
CMPCOLMO Compare Column Old. Same as CMPCOLM in format but referring
only to the old data set source input line. Format: CMPCOLMO
start-colm:stop-colm ...
LSTCOLM List Columns. Selects a range of input columns to be listed in
the output. Only a single start-stop range is allowed. The
LSTCOLM width is limited by the listing columns allowed on the
output line. - normal default(106) or LONGLN(176). Excess
columns will be ignored. Valid for LINE compare only.
Format: LSTCOLM start-colm:stop-colm EXAMPLE: LSTCOLM 275:355
List high numbered columns
SELECT Selects members from a partitioned data set. Any number of mem-
bers may be specified. The new data set members will normally be
compared with like named members from the old data set. Use a
colon character to compare old and new data set members that do
not have the same name. Multiple Select statements are allowed.
See Process Statements boxes on page STATUS-1 for how to enter
Process Statements to a SYSIN dataset.;
Format: SELECT member,...new-member:old-member,... EXAMPLES: SE-
LECT MEM1 Single name per line
SELECT MEM2,MEM3:BKMEM3,MEM4 Multiple names per line
CMPLINE Compare Lines between limits. A partial member/data set compare
using a start and/or stop reference value. The reference may be
a line number or a data pattern.
NTOP (new top) and NBTM (new bottom), OTOP (old-top) and OBTM
(old-bottom) are valid statement keywords for compare processing
which can all be specified on the same or separate CMPLINE state-
ment.
Format Examples and
Explanation
CMPLINE KYWD line-number ... CMPLINE NTOP 55
NBTM 99
or Compares between
lines 55:99
CMPLINE KYWD 'string' ... CMPLINE OTOP 'ABCD'
or Checks for "ABCD"
in all columns
CMPLINE KYWD 'string',start-range ... CMPLINE OTOP
'ABCD',5:66
Checks for "ABCD"
in 5:69
CMPBOFS Compare Byte Offsets. Same function as CMPLINE but allows you to
specify data set position using hexadecimal offsets. Valid for
BYTE compare only. Format: CMPBOFS KYWD hex-offset
DPLINE Don't process line. Excludes from the compare set any line which
DPLINEC can be described by a positionally dependent character string.
DPLINEC is a continuation of the immediately preceding DPLINE.
Valid for LINE and WORD compare.
See Process Statements boxes on page STATUS-1 for how to enter
Process Statements to a SYSIN dataset.
Format Explanation
DPLINE 'string' Scan all columns
'string',start-colm Start column
restricted
'string',start-range Start column
range provided
DPLINE and DPLINEC continued
Excludes a line if a specified string is detected.
Examples Explanation
DPLINE 'ABCDE' Scans all columns for
ABCDE
DPLINE 'AbCde',2 Scans column 2 for start
of AbCde
DPLINEC 'BDEF ' "BDEF" must also be on
the same line
DPLINE 'ABCDE',2:50 Scans columns 2 thru
50 for start
of "ABCDE" string
DPLINE 'AB''CD',2:50 Scans columns 2 thru
50 for start
of "AB'CD" string
DPLINE X'C1C27BF1',2:50 Scans columns 2 thru
50 for start
of "AB,1" string
NTITLE New/Old title. You can specify an alternate data set title for
the
OTITLE output listing. The title text will appear instead of the data
set name. Format: NTITLE 'new-title-text' or OTITLE 'old-title-
text'
See Process Statements boxes on page STATUS-1 for how to enter
Process Statements to a SYSIN dataset.
NCHGT Change text. Change the input source text prior to performing
the
OCHGT comparison operation. Multiple change text statements are al-
lowed. One or more "?" characters may be used in either mask to
indicate "any- character" in the find-mask or "no change" in the "
change-to-mask. The find and change masks need not be the same
length. The change-to-mask may be a null string. Unequal mask
lengths result with either blank insertions on short masks (at
the end of the found word) or down stream blank deletions to ac-
commodate long masks (deleted blanks are selected from downstream
blank pairs). The changed text appears in the output listing.
See Process Statements boxes on page STATUS-1 for how to enter
Process Statements to a SYSIN dataset.
Format: xCHGT 'find-mask','change-to-mask'
or
xCHGT 'find-mask','change-to-mask',start-range
where xCHGT may be
NCHGT or OCHGT
Example: NCHGT 'ABCD','XX',5:40 Changes "ABCD" to "XX" "
in cols 5:43
NCHGT and OCHGT (continued)
Example Explanation
NCHGT 'ABC2','ABC1' - Change all ABC2 prefix strings
to ABC1 to
temporarily mask out a compare
difference
OCHGT 'ABCD','XXXX',1:50 - Change the text only is it oc-
curs within
columns 1:53
OCHGT 'ABCD','',1:50 - Change all ABCD to nulls if it
is detected
in columns 1:53
NCHGT 'ABCD','AB' - Change strings of different
lengths
NCHGT X'7B01',':1',6 - Change hexadecimal characters
'7B01' to
':1'. Must start in column 6
NCHGT 'PREF???','NPREF' - Change strings with prefix
'PREF' followed
by any three characters to
'NPREF'.
NCHGT 'PREF???','NPREF??' - Change strings with prefix
'PREF' followed
by any three characters to
'NPREF'. The
last two characters are un-
changed.
SLIST Statements list. Turns on or off the printing of process state-
ments in output listing.
Format: SLIST ON | OFF Example: SLIST
OFF
LNCT nnn Line count. Total number of lines per page of a listing data
set.
See Process Statements boxes on page STATUS-1 for how to enter
Process Statements to a SYSIN dataset.
Format: LNCT nnnnnn Example: LNCT 66
* Comment line. An asterisk as the first character on a process
statement line begins a comment.
.* Special comment line. A dot-asterisk in columns 1 and 2 indi- cates
that the comment line should not appear in the listing.
8 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - BROWSE LISTING -- TUTORIAL (#8)
BROWSE Output ===> YES ( YES /NO/COND/UPD )
Specify ISPF BROWSE to inspect the output listings:
YES Browse the listing data set after completing the SuperC compare.
NO Do not browse the SuperC listing data set.
COND Browse the listing if it contains differences or error messages.
9 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
UPD Browse the Update data set if any UPDATE options are selected and
update results are generated.
NOTE: The default is YES. This field is ignored when Superc is invoked via batch.
10 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERC - OUTPUT LISTINGS -- TUTORIAL (#10).
SuperC output lines are classified with flagging character(s) that appear
under the column labeled ID. The flagging characters are as follows:
"blank" - Matched. These lines are matching lines/data between both data
sets. The new data set line is listed without flagging.
I - Insert. Added to the new data set. Does not appear in old data set.
D - Delete. Appears in the old data set but is absent (deleted) from the
new data set.
DR - Delete Replace. A composed line of bytes denoting the byte(s) that
were replaced by byte(s) listed directly above in the preceding
insert (I) line. Byte compare listings only.
RN - Reformat New. A reformatted line appears in the new data set. This
line contains the same information as the old data set line with
different spacing between the words. Line compare listings only.
RO - Reformat Old. Flags the same line in the old data set that was re-
formatted in the new data set. This line can be eliminated from
the output listing by specifying the DLREFM Process Option.
MC - Match Compose. A WORD compare line composed of matching words.
Spaces may be left between the words to display the matched words
relative to any inserted and/or deleted words.
IC - Insert Compose. A WORD compare line composed of words from the new
data set that are not in the old data set. This line normally
follows a Match Compose line.
DC - Delete Compose. A WORD compare line composed of words from the old
data set that are not in the new data set. This line normally
follows a Match Compose or Insert Compose line.
IM - Insert-Matching. Only flagged if FMVLNS is specified as a process
option. Flags the occurrence of a line in the new data set which
also appears in the old data set, but has been "moved." The line
may or may not have been reformatted. Reformatted moved lines are
indicated by a flag at the right of the listing.
DM - Delete-Matching. Same as IM except flags old data set lines.
| - Change-bar - Indicates that a line has been changed by the insertion
or deletion of words. Change-bars only appear in WORD compare
listings that are generated with the GWCBL Process Option.
11 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERC - RETURN CODES -- TUTORIAL (#11)
Execution results from the SuperC program are returned in register 15.
The SuperC Dialog Utilities generate a short and long message with an in-
terpretation of the results. The actual returned codes are contained in
the long message and are summarized as follows:
0 - Normal completion. No differences were found in the input data sets.
1 - Normal completion. Differences were found in the input data sets.
4 - Warning. Erroneous/conflicting input options were detected by the
SuperC program. Data sets were compared but should be checked for
results consistent with those expected. Check listing for more
details.
6 - Warning. The old data set did not contain proper sequence numbers,
or the sequence number intervals were not large enough to contain
insert activity - UPDCMS8/UPDMVS8/UPDSEQ0 process options only.
8 - Error. Error on old input data set. The data sets were NOT com-
pared. Check output for more information.
12 - Error. Inconsistent data set organizations. The new and old data
sets are not both PDSs or sequential data sets. The compare was
not run.
16 - Error. Error on new input data set. The data sets were NOT com-
pared. Check output for more information.
20 - Warning. Error on Update data set - Missing DELDD, I/O error, APPEND
to PDS or incorrect ATTRIB's on an APPEND or PDS output operation.
Processing was completed with the update options reset and ig-
nored. The error can also be returned due to an Update data set
simultaneously being used as the listing data set.
24 - Error. Error occurred during open or while writing to the listing
data set. The error can also be returned due to an "NEW/OLD" in-
put data set simultaneously being used as the listing data set.
No additional information is generated to better define the error
condition.
25 - Error. The listing data set was not allocated due to a conflict with
the LRECL, RECFM, or DS organization. A listing may only be saved
in a PDS with identical DS attributes (that is, LRECL or RECFM),
an APNDLST may never be done to a PDS, and an APNDLST may only be
made to a sequential DS with identical attributes. No output was
generated.
26 - Error. The listing data set could not be extended and is full (E37
condition). The results are truncated and incomplete.
28 - Error. No data was compared because the old and new data sets did
not have members with the same name or because both input data
sets were empty. See the listing for more information.
32 - Error. Insufficient storage was available for the SuperC program to
execute. The user region size was either too small, or storage
was too fragmented.
12 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - MANAGING PROFILES -- TUTORIAL (#12)
Profiles may be created or activated using a separate panel accessed via
the SuperCE main panel. The panel may also be entered directly by speci-
fying option "3.13.A".
A profile is "CREATED" using data contained on the SuperCE primary panel.
The compare type, listing type, process options, statements from the
Statements Data Set, and the BROWSE selection option are collected and
written into a user named profile data set (replacing any old data con-
tained in an existing data set). A new data set will be created if the
data set does not exist.
The "ACTIVATE" option of the Profile Management panel inspects the speci-
fied profile data set and modifies the main panel to agree with the acti-
vated profile. If process statements are contained in the profile, the
Profile Data Set name replaces the Statements data set name on the SuperCE
main panel.
Profiles may be either sequential or PDS membered data sets. They may
also be used in the standard SuperC dialog with identical results.
--------EXTENDED SEARCH-FOR - OVERVIEW -- TUTORIAL
The Extended Search-for option is similar to SuperCE except only one input
data set is used. Search-for searches a PDS, a concatenated PDS or a se-
quential data set for matches to specified strings. Panel input lines are
provided to allow direct entry of up to 5 unique strings. Each string may
be used independently or as a continuation of the previous string(s).
Word, Prefix, or Suffix operands may be used to restrict the strings to be
matched. Optional quote delimiters or hexadecimal notation may be used to
search for special characters. Quotes must delimit strings containing
blanks.
Example Explanation
CAPS ===> SUP PREFIX List all lines containing prefix
"SUP"
ASIS ===> ' error ' and all lines containing " error
".
------------------------------------------------------.
More examples are shown following the OVERVIEW section.
------------------------------------------------------.
The search string entry lines are labeled as "CAPS" or "ASIS" input. The .
CAPS lines will be converted to uppercase before being passed to the
SuperC back end program. ASIS lines are not converted and this allows the
user to search for both upper and lower case strings. Additionally, the
user may select the ANYC process option so the specified strings will
match regardless of the "case" of the input data set or the case of the
specified string.
The keywords "WORD". "PREFIX" and "SUFFIX" may appear on the same line as
the input string and have the standard ISPF/PDF meaning. The "C" (that
is, continued string specification) is an additional keyword indicating
"continuation" of the previous line or lines. Continuation lines are used
to generate additional strings which all must be found on the same input
data set line.
You can use the Extended Search-for utility with a previously prepared
statements data set containing SRCHFOR process statements specifying
search-for strings, words, or patterns.
Any number of SRCHFOR statements can be included in the Statements data
set along with other applicable Search-For process statements. Before in-
voking the SuperC program the Extended Search-For utility checks the
Statements data set and ignores all specified strings on the primary panel
when SRCHFOR statements are detected.
Note: The string entry format of the SRCHFOR and SRCHFORC statements dif-
fers slightly from the format required on the Extended Search-for Utility
entry panel. See the Search-For Process Statements section.
15 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERCE - ADDITIONAL NOTES -- TUTORIAL (#15)
SuperC operates independently of any synchronization data such as column
or sequence numbers. It does not use the common "start at the top" then
look ahead or look back method to determine large sections of matching
data. Instead, SuperC recognizes matching and missing lines, words, or
bytes based only on data content. It finds all matches, locates the larg-
est set of matching compare units, and recursively allows this compare set
to divide the data set into three additional smaller sub-sections. All
sections are processed for matches. The process ends when no more matches
can be found within the partitioned sub-sections. Inserted and deleted
data are non-matched sub-units between matching sets.
Processing speed is due, mainly, to the compacting of the original line or
word unit into a short 24 bit hash compare value. All comparison process-
ing uses this compacted value. A second pass (for Line and Word compare)
re-reads the original data verifying the comparison results. Line, Word,
and Byte compare use a common mechanism and a common module for change de-
termination.
Occasionally, SuperC may report that it has detected a "false match".
This data is, subsequently, reclassified as an insert/delete pair. The
redesignation is correct but may have caused the process to overlook other
matches. The condition should occur infrequently with normal program
source data and should have a low probability of affecting the overall end
results.
The objective of the SuperC compare process is to select the best set of
data matches. Yet, it is possible that a person could manually partition
the input data sets and develop a better combination of match sets than
SuperC. The comparison process is complex and SuperC may occasionally
miss a "match" due to some inherent program limitation. It will, however,
never incorrectly call an item a match when it should be a mismatch.
The user should be aware that SuperC is a compare program that detects
"sequence differences" based on their sequential occurrence in the input.
Do not confuse this criteria with "missing differences" which only re-
quires the data to be missing from the data sets. The user may accomplish
both objectives if the data sets are first sorted. Thereafter, "missing
differences" become identical to SuperC's "sequence differences".
-------- SUPERC - NON-ISPF MODES -- TUTORIAL
Direct execution of the SuperC program
You can run the SuperC program directly without using the ISPF/PDF pro-
vided utilities (Options 3.12, 3.13, 3.13.S or 3.14). This requires an
installation (or systems programmer) to customize a clist (for interactive
usage) or a PROCLIB procedure (for batch execution of a catalog proce-
dure). A sample clist and a sample proclib procedure are distributed in
the SAMPLIB data set as members ISRSCLST and ISRSPROC. They are available
on our system in "SYS1.USERLIB(SUPERC)" and "SYS1.TSOCLIST(SUPERC)" re- "
spectively. The panel can be addressed in TSO using "TSO Q SUPERC" or PDF
option 3.12.
The following topics are presented in sequence, or may be selected by num-
ber:
1 - CLIST mode from TSO or from ISPF/PDF option 6.
2 - Catalog procedure batch processing.
-------- SUPERC - CLIST MODE - -- TUTORIAL
Also see page STATUS-2
The sample clist allows a TSO user to enter a line command to communicate
the operational parameters directly to the SuperC program without display-
ing the ISPF panels. A sample SuperC call as entered on the terminal
might look like:
superc newfile(.newdata.file) oldfile(ludlow.olddata.file)
or
exec clist(superc) 'new(.newdata.file) old(ludlow.olddata.file)'
where "superc" is the command and
"newfile" and "oldfile" are the keywords for the input
files.
The SuperC load module may be supported using a private library or a con-
catenated system library. The installation is responsible for making the
corresponding changes to the sample clist.
The sample clist supports the following keywords and parameters (it is
available on our system as shown):
Format: SUPERC NEW(dsn) OLD(dsn) {keyword(selection) .... }
Option: Keyword: Selection:
Compare Type CTYPE FILE | LINE | WORD | BYTE
Listing Type LISTING OVSUM | DELTA | CHNG | LONG | NOLIST
Listing Data Set OUTDD dsn
Auto Display Pgm BROWSE
Process Stmts. SYSIN PROMPT | dsn
Update Data Set DELDD dsn
NOTE: Use a fully qualified dsn, or use a "." to precede the dsn with
SYSPREF. The use of the "." is a compromise because fully qualified
names enclosed in quotes are difficult to pass in CLISTs.
Option: Keyword: Selection:
Process Options PROCESS SEQ | NOSEQ | COBOL
DPPLCMT DPPSCMT DPADCMT DPACMT DPFTCMT
DPCBCMT DPBLKCL
REFMOVR DLREFM DLMDUP FMVLNS LOCS CNPML
WIDE | NARROW | LONGLN
ANYC NOPRTCC
UPDSUMO | UPDCMS8 | UPDMVS8 | UPDSEQ0 |
UPDCNTL | UPDPDEL
GWCBL XWDCMP
See material added to NOSEQ option on page STATUS-1.
NOTE: Not all options are allowed with each compare type (for example,
GWCBL is only valid with WORD Compare). Consult the appropriate
ISPF tutorial panels for a complete description of the allowable
combinations.
-------- SUPERC - CATALOG PROCEDURE -- TUTORIAL
The catalog procedure is a set of "canned" JCL statements that you can in-
voke as an extension of your own JCL. A representative JCL sequence ap-
pears below:
//SUPERC JOB
// EXEC SUPERC, SYSOUT='*' has been made the default
// NEWFILE='userid.GROUP.DATA1',
// OLDFILE='userid.GROUP.DATA2',
// TYPE=LINE, (see page STATUS-1) FILE|LINE|WORD|BYTE
// LISTING=DELTA (see page STATUS-1) OVSUM|DELTA|CHNG|LONG|NOLIST
As supplied in the SAMPLIB listing defaults to OVSUM (for TYPE=FILE), un-
less you are (and even if you are) comparing an entire PDS, you would
probably wish to use LISTING=DELTA (see page STATUS-1).
The keywords NEWFILE, OLDFILE, and LISTING are keywords that cause sym-
bolic substitution when the job is submitted.
A sample catalog procedure is contained in the SAMPLIB member ISRSPROC.
This procedure is available on our system in "SYS1.USERLIB(SUPERC)".
13 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- SUPERC UTILITY - SUBMIT BATCH JOBS -- TUTORIAL (#13)
To submit a SuperC batch job certain destination options for the listing
data set and JOB statement information must be provided.
The listing may be sent to a sysout class (option blank),
SYSOUT CLASS ===> A
or a data set (option 1),
DATA SET NAME ===> SUPERC.LISTB
or you may, alternatively, provide the necessary DD override statement to
define the output destination (option 2).
//OUTDD DD ===> SYSOUT=H,FCB=12,CHARS=xxxx
// ===>
JOB STATEMENT INFORMATION
Space for up to four card images is provided on the panel to submit a job.
All the rules of JCL must be followed in specifying the job statement.
PDF will not validate the job statement information. Any of the four job
statement fields left entirely blank will not be submitted.
It is assumed that the first "//" card image is to contain the jobname.
Job statement information is remembered by ISPF from session to session,
to reduce the amount of keying required.
The jobname suffix will, normally, be updated after each submission.
+-------------------------------------------------------------------------+
| +---------------------------------------------------------------------+ |
| | Although not stated in the HELP information, SUPERC will do | |
| | searches on a load library. SUPERC can be run in batch as shown | |
| | later. PDS datasets with a RECFM of FBS or VBS are not supported | |
| | by SUPERC (3.12), SUPERCE (3.13), or SEARCHFOR (3.14). | |
| +---------------------------------------------------------------------+ |
+-------------------------------------------------------------------------+
-------- PROCEDURE in SYS1.USERPROC(SUPERC) ---------
//SUPERC PROC SYSOUT='*',
//*********************************************************************
//* THIS IS A BATCH JOB PROCEDURE FROM SYS1.SAMPLIB(ISRSPROC) **
//* AS DESCRIBED IN TSO ISPF PDF 3.12 AND 3.13 SUPERCE **
//* QUICK PATH ENTRY TO THE PANELS IS POSSIBLE===> TSO Q SUPERC **
//* FOR YOUR CONVENIENCE THE SUPERC TUTORIALS HAVE BEEN COPIED INTO **
//* "is00.SHARE.TEXT(SUPERC)" AND CAN BE PRINTED USING SCRIPT **
//* DESCRIBES OPTIONS AND USE OF SUPERC/SUPERCE PANELS, CLIST, PROC.**
//* ALSO SEE PROC=RESQ WHICH PROVIDES A SIMILAR FUNCTION **
//*********************************************************************
//* //* ============ EXAMPLE ================
//* //$NAME$ EXEC SUPERC,PROCESS=SEQ,TYPE=WORD,LISTING=DELTA,SYSOUT=V
//* // OLDFILE='SYS6.SAS516.CNTL($NAME$)',
//* // NEWFILE='SYS6.SAS518.CNTL($NAME$)
//* //* ============ EXAMPLE ================
//*********************************************************************
// NEWFILE=, (NEWFILE REQUIRED)
// NEWSER=,
//* A SEQUENTIAL DATA SET, A MEMBER OF A PARTITIONED
//* DATA SET OR AN ENTIRE PARTITIONED DATA SET.
// OLDFILE=, (OLDFILE REQUIRED)
// OLDSER=,
//* SAME REQUIREMENTS AS NEWFILE.
// TYPE=, (NOT REQUIRED-PROGRAM DEFAULT IS LINE)
//* OPTIONS:LINE,WORD,BYTE,FILE
// LISTING=, (NOT REQUIRED-PROGRAM DEFAULT IS OVSUM)
//* OPTIONS:OVSUM,CHNG,DELTA,LONG,NOLIST
// PROCESS=, (NOT REQUIRED - OPTIONS RESTRICTED PER COMPARE TYPE)
//* OPTIONS: SEQ,NOSEQ,COBOL
//* DPACMT,DPPLCMT,DPPSCMT,DPADCMT,DPFTCMT,
//* DPCBCMT,DPBLKCL
//* CNPML,ANYC,WIDE,NARROW,LONGLN,NOPRTCC
//* APNDLST,APNDUPD,UPDSUMO,UPDCMS8,UPDMVS8
//* UPDSEQ0,UPDCNTL,UPDPDEL,GWCBL,XWDCMP
//* SYSOUT=A, (NORMAL ROUTING FOR PRINT SERVICES)
//* (DATA SET OVERRIDE EXAMPLE)
//* SUPERC.OUTDD DD DSN=USERA.SUPERC.LIST,DISP=OLD
// UPDFILE='NULLFILE', (OPTIONAL UPDATE OUTPUT FILE)
//* (DATA SET OVERRIDE EXAMPLE)
//* SUPERC.DELDD DD DSN=USERA.SUPERC.UPDATE,DISP=OLD
// SYSIN='NULLFILE' (OPTIONAL PROCESS STATEMENTS)
//* SUBSTITUTE DSN OR USE DD * OVERRIDE
//* OPTIONAL STATEMENTS:
//* CMPCOLM,LSTCOLM,DPLINE,SELECT,CMPLINE,CMPLNUM,
//* CMPBOFS,LNCT,NTITLE,OTITLE,CMPCOLMN,CMPCOLMO,
//* DPLINEC,NCHGT,OCHGT,SLIST
//* NOTE: SEE TSO INTERACTIVE HELP SCREENS FOR FULL SUPERC OPTIONS.
//SUPERC EXEC PGM=ISRSUPC,
// PARM='&LISTING.L,&TYPE.CMP,&PROCESS.'
//*STEPLIB DD DSN=USERID.SUPERC.LOAD,DISP=SHR
//NEWDD DD DSN=&NEWFILE,DISP=SHR,UNIT=SYSALLDA,VOL=SER=&NEWSER
//OLDDD DD DSN=&OLDFILE,DISP=SHR,UNIT=SYSALLDA,VOL=SER=&OLDSER
//OUTDD DD SYSOUT=&SYSOUT
//DELDD DD DSN=&UPDFILE,DISP=OLD
//SYSIN DD DSN=&SYSIN,DISP=SHR
Example of a WORD compare
//is00SRCX JOB (xxxx,yyyy),'myname SUPERCX',CLASS=X,NOTIFY=is00
//**** SUPERCX is00 DAVID MCRITCHIE 1989/07/10 12:57:15
//**** JCL is00.SHARE.CNTL(SUPERCX) 1989/07/10 12:57:15
// EXEC SUPERC, SYSOUT='*' HAS BEEN MADE THE DEFAULT
// NEWFILE='DMS78.PROCLIB',
// OLDFILE='SYS1.USERPROC',
// TYPE=WORD, (SEE PAGE STATUS-1) FILE|LINE|WORD|BYTE
// LISTING=DELTA (SEE PAGE STATUS-1) OVSUM|DELTA|CHNG|LONG|NOLIS
//* //OUTDD DD DCB=LRECL=170 <<DOESN'T WORK>>
//SYSIN DD * STATEMENT OPTIONS -- USE "DD *" TO OVERRIDE NULLFILE
CMPCOLM 3:72
NCHGT 'DMS.RNN','DMS##'
OCHGT 'DMS76','DMS##'
OCHGT 'DMS78','DMS##'
OCHGT 'DMS.PARMLIB','&Q..PARMLIB'
OCHGT 'DMS.FILES','&Q..FILES'
OCHGT 'DMS.ARESPARM','&Q..ARESPARM'
OCHGT '*R*STEPLIB','STEPLIB'
OCHGT '*R*',''
ICHGT ',DEN=4',''
Example of a SUPERC JCL without use of a PROCEDURE
//SUPERC EXEC PGM=ISRSUPC,
// PARM=(DELTAL,LINECMP,
// 'SEQ',
// '')
//NEWDD DD DSN=is00.NEW.CNTL,DISP=SHR
//OLDDD DD DSN=is00.OLD.CNTL,DISP=SHR
//OUTDD DD DSN=is00.SUPERC.LIST,DISP=OLD
//SYSIN DD *
Example of SEARCHFOR batch job
-----------------------------------------------------------------------
PDF 3.14 SEARCHFOR running in batch
for more information refer to SC34-4118-00, though you probably will not
find sufficient documentation there. The following information was ob-
tained as a result of searching IBMIN. This text has been added to doc-
umentation in is00.SHARE.TEXT(SUPERC).
//**** JCL is00.SHARE.CNTL(SEARCH4) 1991/02/26 15:56:52
//* SAME AS SEARCHFOR -- PDF OPTION 3.14
//STEP1 EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'')
//NEWDD DD DISP=SHR,DSN=IMSVS.CHM1.DBDLIB OLD/NEW MUST BE SAME
//OLDDD DD DISP=SHR,DSN=IMSVS.CHM1.DBDLIB OLD/NEW MUST BE SAME
//OUTDD DD SYSOUT=*
//SYSIN DD *
SRCHFOR 'RANDRENT'
SRCHFOR '.aa GT15',W
The following JCL was generated using the a mode of B on the Search-For U
MODE ===> B (F - foreground, B - batch)
//is00D JOB (xxxx,yyyy),'myname 3.14 SEARCHFOR',
// NOTIFY=is00,CLASS=X
/*JOBPARM LINECT=0
//*---- end of job statement information supplied by user
//SEARCH EXEC PGM=ISRSUPC,
// PARM=(SRCHCMP,
// 'ANYC')
//NEWDD DD DSN=SYS5.PLR.CLIST,
// DISP=SHR
//OUTDD DD SYSOUT=A
//SYSIN DD *
SRCHFOR 'TELON'
SRCHFOR 'TELONB'
+-------------------------------------------------------------------------+
| EDIT ----- is00.CUTDSN.LIST ----------------------------------------- |
| COMMAND ===> |
| |
| Enter or change Process Statements in the EDIT window below: |
| ****** ********************************* TOP OF DATA ***************** |
| 000001 SRCHFOR '.aa hp4',W |
| 000002 SRCHFOR '.aa hp5',W |
| 000003 SRCHFOR '.df hi5',W |
| - - - - - - - - - - - - - - - - - - - - - 10 LINE( |
| 000014 SRCHFOR '.aa hp15',W |
| 000015 SRCHFOR '.aa hp16',W |
| 000019 SRCHFOR '.aa gt',W |
| 000020 SRCHFOR '.aa hdref',W |
| 000021 SRCHFOR '.aa q',W |
+-------------------------------------------------------------------------+
| Examples Explanation |
| SRCHFOR 'ABCD',W Search for the word "ABCD" |
| SRCHFORC 'DEFG' "DEFG" must be on same line as word "ABC |
| CMPCOLM 1:60 75:90 Search columns 1:60 and 75:90 for string |
| DPLINE 'PAGE ',87:95 Exclude line if "PAGE " found in columns |
| DPLINE 'PAGE ' Exclude if "PAGE " found anywhere on lin |
| SELECT MEM1,MEM2 Search only members MEM1 and MEM2 of PDS |
| Others: CMPLINE DPLINEC LNCT LPSFV LSTCOLM NCHGT NTITLE SLIST |
| comment-lines ("*" and ".*") |
+-------------------------------------------------------------------------+
+-------------------------------------------------------------------------+
| |
| In a BATCH job ... |
| |
| PROCESS options can be found in the PARM options. |
| |
| STATEMENT options are found in the //SYSIN dataset. |
+-------------------------------------------------------------------------+
| |
| In the SUPERC panels ... |
| |
| PROCESS options are placed after Process Options ====> |
| |
| STATEMENT options are in dataset indicated Statements Dsn ===> |
| |
| The statements dataset can be edited by placing an |
| "E" on the |
| command OPTION at the top of the panel. |
+-------------------------------------------------------------------------+
Use of SuperC in a CLIST
Also see page STATUS-2, and @COMPARE on page EDCHEK-1.
+-----------------------------------------------------------------------+
| Use of the @COMPARE edit macro to invoke %SUPERC |
| (see @COMPARE on page EDCHEK-1) |
| |
| Frequently you will be in edit on the member that you want to com- |
| pare. The use of @COMPARE as a front-end to %SUPERC will simplify |
| usage. Since @COMPARE is an edit macro clist, the dsname and |
| membername you are in will be known to the clist and you will not |
| need to supply this information when @COMPARE invokes %SUPERC. |
| |
| @COMPARE compares member in EDIT with a corresponding member in an- |
| other specified dataset, or with a specified member in the same da- |
| taset. |
| |
| The SEQ|NOSEQ process option will be selected for you based on the |
| NUMBER ON|OFF in your current member's profile. |
| |
| Incorrect use of SEQ (SUPERC default is SEQ, where applicable) will |
| result in a bad compare of an FB dataset with a VB dataset when both |
| are not sequenced the comparison will be col 1-72 compared to col |
| 9-251 of the VB dataset, which will compare lines as being different |
| when they really are the same. |
+-----------------------------------------------------------------------+
Options
NEWFILE(ddname|DUMMY) Comparison file -- NEW
OLDFILE(ddname|DUMMY) Comparison file -- OLD
OUTDD(ddname|DUMMY) Listing dataset. Default is userid.SUPERC.LIST
DELDD(ddname|DUMMY) Default is userid.SUPERC.UPDATE
SYSIN(ddname|DUMMY|PROMPT) Statements dataset. Default created with
PROMPT is userid.SUPERC.STMTS, see pages
STATUS-1-STATUS-1
LISTING(DELTA) Listing type -- OVSUM | DELTA | CHNG | LONG | NOLIST
CTYPE(LINE) Compare type -- FILE | LINE | WORD | BYTE
MACRO() Specify optional macro if the EDIT option is used. For
OBC users MACRO use will imply EDIT since space is
cramped on command line.
PROCESS() Options (not statements) -- SEQ NOSEQ ANYC -- see pages
STATUS-1-STATUS-1 for process options.
UID(&SYSPREF.) Dsname Prefix desired.
BROWSE Browse the output file -- OUTDD.
EDIT EDIT the output file -- OUTDD. EDIT will be implied by
the use of MACRO(macro). Use of EDIT will supercede use
of BROWSE.
DEBUG Development use only. Traces logic flow.
PLIB Option for use of SUPERC to disregard the ISPF environ-
ment, and/or to call from a private SUPERC load library.
LIB(SYS1.ISPFPDF.ISRLOAD(ISRSUPC)) Installation default provided for
use of SUPERC outside of the ISPF environment, or if the
PLIB option is specified.
111 [top] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 111
-------- Sample Output --------
1 SUPERC - FILE/LINE/WORD/BYTE COMPARE PGM - V2.7(1987/03/27) 1992/01/30 1
NEW: is00.SHARE.TEXT(JUNK) OLD: is00.SHARE.TEX
LISTING OUTPUT SECTION (LINE COMPARE)
ID SOURCE LINES
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
D - .un 25;:hp3.options passed on to %SUPERC by the @COMPARE clist:ehp3.&rbl
D - .sk 1;.in 5
D - Any parameters not recognized by @COMPARE are passed on to SUPERC, for
D - more information on the %SUPERC clist refer to page &SUPERC.. Valid
D - SUPERC options include the following&gml.
D - hex listing, you probably don't want the BYTE comparison type.
I - Inserted
I - Material
I - @COMPARE SYS1.TSOCLIST(@COMPARE) (next line is realigned)
D - @COMPARE SYS1.TSOCLIST(@COMPARE)
RN- @COMPARE SYS1.TSOCLIST
RO- @COMPARE SYS1.TSOCLIST
-----------
1 SUPERC - FILE/LINE/WORD/BYTE COMPARE PGM - V2.7(1987/03/27) 1992/01/30
NEW: is00.SHARE.TEXT(JUNK) OLD: is00.SHARE.TEXT
LINE COMPARE SUMMARY AND STATISTICS
249 NUMBER OF LINE MATCHES 10 TOTAL CHANGES (PAIRED+NONPAI
1 REFORMATTED LINES 2 PAIRED CHANGES (REFM+PAIRED
3 NEW FILE LINE INSERTIONS 2 NON-PAIRED INSERTS
7 OLD FILE LINE DELETIONS 6 NON-PAIRED DELETES
253 NEW FILE LINES PROCESSED
257 OLD FILE LINES PROCESSED
LISTING-TYPE = DELTA COMPARE-COLUMNS = 1:251 LONGEST-LINE = 116
PROCESS OPTIONS USED: NOSEQ
**SUPERC INFORM04**, LISTING LINES MAY BE TRUNCATED DUE TO LIMITING OUTPUT L
Search-For (PDF option 3.14)
----------------------------- SEARCH-FOR UTILITY
------------------------------
COMMAND ===> _
SEARCH STRING ===> TELON
MULTIPLE STRINGS ===> YES (Yes to specify additional search strings)
ISPF LIBRARY:
PROJECT ===> SYS5
GROUP ===> PLR ===> ===> ===>
TYPE ===> CLIST
MEMBER ===> (Blank or pattern for member selection list,
'*' for all members)
OTHER PARTITIONED OR SEQUENTIAL DATA SET:
DATA SET NAME ===>
VOLUME SERIAL ===> (If not cataloged)
DATA SET PASSWORD ===> (If password protected)
LISTING DSNAME ===> SRCHFOR.LIST
MODE ===> F (F - foreground, B - batch)
MIXED MODE ===> NO (Yes or No)
Batch JCL can be generated by using B (batch) for MODE under listing
dsname. An example of generated JCL can be found on page STATUS-2
To search for only one string, type the data string in the SEARCH STRING
field and type N in the MULTIPLE STRINGS field on the Search-for utility
panel. Enclose the data string in quotes if there are imbedded blanks. Note
that all occurrences of the string will be found whether the matching string
is in uppercase, lowercase or mixed case letters.
Specify Multiple Data Strings
To search for multiple strings, type YES in the MULTIPLE STRINGS field of the
Search-for utility entry panel and press the ENTER key. The Search-for util-
ity displays a panel on which you can enter multiple search strings.
Also see &#SC14A..
You can use the C (continuation) operand to specify that both the current and
previous string must be found on the same line to constitute a match. Other-
wise lines with either string will be treated as matching.
To start the search, press the ENTER key. To cancel the request and return
to the Search-for utility entry panel, enter the END command.
Qualify Data Strings
You can control how a search string will be matched by typing a search qual-
ifier following the search string.
Example: ===> CALL WORD will find 'CALL' but not 'CALLING'
WORD finds only those occurrences of the search string that are a word. A
word is defined as being preceded and followed by a non-alphameric character.
PREFIX finds only those occurrences of the search string that are a prefix to
a word. A prefix is defined as being preceded by a non-alphameric character
and followed by an alphameric character.
[end]
SUFFIX finds only those occurrences of the search string that are a suffix to
a word. A suffix is defined as being preceded by an alphameric character and
followed by a non-alphameric character.
Back To
1 Input Data Sets - Specifying input data set names and organization
2 PDS Member List - Selecting members using the member list service
3 Compare Type - Specifying the compare operation type
4 Listing Type - Specifying the listing type
5 Listing Data Set - Specifying listing data set name and organization
6 Process Options - Specifying optional process option keywords
7 Process Statements Using process statements and the process statement - s ds
7a Process Statements Dataset
7b Process Statements
8 Browse Output - Displaying comparison results
9 Update Data Set - Specifying update data set name and organization
10 Interpret Listing- Interpreting SuperC listings prefix codes
11 Return Codes - Interpreting SuperC return codes
12 Using Profiles - Creating and activating profile data sets
13 Batch Jobs - Submitting comparison jobs for batch execution
14 Search-For Strings Using the Extended Search-for Utility
15 Additional Notes - Additional SuperC program discussion
111 Sample Output - LISTING-TYPE = DELTA