Home The Company Publications Products Links Tips Jobs

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 *                             
NATUNLD SA,oldmem,FROM,oldlib,WHERE,DBID,001,FNR,010   
FIN                                                            
/*                                                               
//CMWKF01   DD DSN=&&OLD,DISP=(,PASS),RECFM=FB,SPACE=(TRK,(10,5))
//CMWKF07   DD DUMMY  
//*                                               
//NATNEW   EXEC NATBATCH,NATPARM=',AUTO=ON'                    
//CMSYNIN   DD *                                                 
NATUNLD SA,newmem,FROM,newlib,WHERE,DBID,001,FNR,010    
FIN                                                              
/*                                                               
//CMWKF01   DD DSN=&&NEW,DISP=(,PASS),RECFM=FB,SPACE=(TRK,(10,5))
//CMWKF07   DD DUMMY                                             
//*                                                              
//COMPR    EXEC PGM=ISRSUPC,                                     
//         PARM=(DELTAL,LINECMP,"REFMOVR,DLREFM,DLMDUP") 
//*              VVVVVV 		
//*              listing types
//SYSIN     DD *                                                 
CMPCOLM 5:102                                                    
OTITLE "oldlib/$oldmem"        
NTITLE "newlib/$newmem"        
/*                                
//OLDDD     DD DSN=&&OLD,DISP=SHR 
//NEWDD     DD DSN=&&NEW,DISP=SHR 
//OUTDD     DD SYSOUT=*           
$EOJEOJ$                          
//                                
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.

NOTE
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:

  1. " " Blank - Matched.
    These lines are matching lines/data between both data sets. The new data set line is listed without flagging.
  2. I Insert.
    Added to the new data set. Does not appear in old data set.
  3. D Delete.
    Appears in the old data set but is absent (deleted) from the new data set.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. DM Delete-Matching.
    Same as IM except flags old data set lines.
  12. | 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.
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:
TYPE  LEN N-LN# O-LN#                                                  
                                                                       
INS=    7 00001 00001   The next 7 lines are inserted                  
          00002                                                        
          00003                                                        
                                                                 
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                     
          00010                                                        
                                                                 
DEL=    3 00036 00005   Line#5-7 are deleted in the old pgm            
                00006                                                  
                00007                                                   	  
  	                                                                        	  
  	                                                                        	  
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      	  
   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 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       
   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 were   
   empty, because member names were invalid, or because there was       
   nothing left to compare after input filtering. See the listing for   
   more information.                                                    
   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  
   too fragmented.                                                      
                   	 	  

Top Page



Back to NATURAL Tips, Tricks, Techniques -- Overview