How to Compare Two Natural Sources
Using NATUNLD and ISRSUPC
By Dieter W. Storr
Last update: 31 August 2005
Job Control (JCL)
//jobname JOB ................
//NATOLD EXEC NATBATCH,NATPARM=',AUTO=ON'
//CMSYNIN DD *
//CMWKF01 DD DSN=&&OLD,DISP=(,PASS),RECFM=FB,SPACE=(TRK,(10,5))
//CMWKF07 DD DUMMY
//NATNEW EXEC NATBATCH,NATPARM=',AUTO=ON'
//CMSYNIN DD *
//CMWKF01 DD DSN=&&NEW,DISP=(,PASS),RECFM=FB,SPACE=(TRK,(10,5))
//CMWKF07 DD DUMMY
//COMPR EXEC PGM=ISRSUPC,
//* listing types
//SYSIN DD *
//OLDDD DD DSN=&&OLD,DISP=SHR
//NEWDD DD DSN=&&NEW,DISP=SHR
//OUTDD DD SYSOUT=*
SuperC Listing Types
OVSUM or OVSUML
Lists only the overall summary of the NATURAL source data sets comparison.
DELTA or DELTAL
Lists the differences between the NATURAL source data sets, followed by the overall summary results. Differences are flagged to the left of each output line.
CHNG or CHNGL
Lists the differences between the NATURAL 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 or LONGL
Lists the complete new data set with the old data set deleted data interspersed in the output listing. Both inserted and deleted output
data is flagged. The format is the same as the DELTA with all matching data shown.
The listing type default for Line, Word, and Byte compare is DELTA. The default settings for the above mentioned example job are
- LINECMP = Line compare
- REFMOVR =
- DLREFM =
- DLMDUP =
Interpreting a SuperC Listing
SuperC output lines are classified with flagging character(s) that appear under the column labeled 'ID' (left column).
The flagging characters are as follows:
Additionally, listing type LONGL classifies output lines with flagging
characters on the rightest column labeled 'TYPE' (type of change),
'LEN' (number of lines), 'N-LN#' (line number of new pgm), and 'O-LN#'
(line number of old pgm). 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 reformatted 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 i insertion or deletion of words. Change-bars only appear in LINE and WORD compare listings that are generated with the GWCBL Process Option.
TYPE LEN N-LN# O-LN#
INS= 7 00001 00001 The next 7 lines are inserted
MAT= 1 00008 00001 Line#1 of old pgm matches with line#8 of new on
INS= 24 00009 00002 Next 24 lines are inserted
DEL= 3 00036 00005 Line#5-7 are deleted in the old pgm
Batch Return Codes
0 Normal completion. No compare differences were found in the input ds
No search-for strings were found in the input ds.
1 Normal completion. Compare differences were found in the input ds.
Search-for strings were found in the input ds.
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
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 or UPDMVS8 process options only.
8 Error. Error on old input data set. The data sets were NOT compared.
Check output for more information.
12 Error. Inconsistent data set organizations. The new and old data set
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 compared.
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 ignored.
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" input
data set simultaneously being used as the listing data set. No
additional information is generated to better define the error
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
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 were
empty, because member names were invalid, or because there was
nothing left to compare after input filtering. See the listing for
Search-for. Strings not found due to empty input data sets or input
filtered before searched. 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