Skip to main content

IBM Systems  >   z Systems  >   z/VM  >  

Description of COMPARE

Download count: 14 this month, 6670 altogether.

Downloads for COMPARE:
VMARC archive: v-138K

From Kris Buelens, IBM Belgium

This package includes three main compare tools and a smaller one.

COMPAIR
To compare files side by side in XEDIT.
COMPMDSK
Technically we compare two FILELISTs. This allows for example to compare the contents for two minidisks of SFS directories. COMPMDSK Version 2 highlights The most common usage:
  - FILELIST * *  fmode1
  - COMPMDSK fmode2
results in 5 new filelists: files identical, files on fmode1 but not on fmode2, files newer on fmode1 than on fmode2, files on fmode2 but not on fmode1, and files newer on fmode2 than on fmode1.

But, as we compare FILELISTs, you can for example also issue

   - on VM system 1 issue
     FILELIST * *  fmode #FILE SYSTEM1
     SENDFILE SYSTEM1 FILELIST TO xxx at system2
   - on VM system 2 receive the SYSTEM1 FILELIST and issue
     FILELIST * *  fmode
     COMPMDSK SYSTEM1
CMPA
CMPA is a simple assembler program that compares CMS files in line mode. It is more clever than CMS' COMPARE command in that it detects added/deleted lines to some extent.
SESCOMP
SESCOMP is an exec that uses the VMSES PARTCAT files as input. It has two major functions:
  • XREF: checks if all files of an MDISK/SFS dir are listed in VMSES PARTCAT.
  • LIST: compares the VMSES PARTCAT of two MDISKS/SFS dirs. Allows to FILELIST all files of a prodid, and to copy products from one disk onto the other.

Version 1.9b (31 Oct 2013)

When using COMPMDSK and not using ISODATE it was possible that identical files got flagged as older/newer.  The reason is that with SHORTDATE and FULLDATE the leading 0 from date and time is replaced by a blank.  Like here:
PROFILE  EXEC     A1 V    77    302       3  6/09/13  9:51:47
The leading 0 issue for the date field was correctly handled. That of the time wasn't cured.  It only surfaced when one list was created with ISODATE and the other without. Thanks to Hans-Henning for signalling me this bug.

Version 1.9 (9 Dec 2008)

A change in the COMPAIR and CMPA EXECs makes it easier to start COMPAIR XEDIT or CMPA from inside FILELIST: you can indicate the second file by entering an = sign in FILELIST's cmd area in front of that file.
With other words: you simply write "COMPAIR" in front of the first file and "=" in front of the second file, then press enter. You can still write "COMPAIR / fn2 ft2 fm2", but when "fn2 ft2 fm2" is a bit complex, and that file appears in the same FILELIST panel, the alternate format is handy (that's obviously why I wrote it).

We search for the first = from the line where you enter the COMPAIR/CMPA command. The = sign is then replaced by *% so that FILELIST will not call COMPAIR/CMPA twice.

Other changes:

  • COMPMDSK now saves its results in a commented FILELIST, what allows us to give more information about which minidisks have been compared.
  • ERASEIF got two new options: REFRESH and BLOCKSTOO.
  • SESCOMP: aligment problem fixed; PF16 and PF17 work like PF4 and PF5 but you don't get the "are you sure" prompt.
  • CMPA EXEC was missing in the package, now added.

Version 1.8 (28 Apr 2006)

Two improvements in COMPAIR XEDIT:
  • PF13 performs a detailed comparision of the current line.  This is very useful when for example only a timestamp is changed in files with many unprintable characters (like a TEXT file).
  • Avoid premature exit when something is in CMS' Terminal Input Buffer. This exit was not clean, you were left with unfunctional PF-keys etc.

Version 1.7

Version 1.7 provides the package in ZIP as well as VMARC file, as requested by some users. In addition, some of the tools have been enhanced a tiny bit, look at the introdution comments inside the execs.

COMPARE Version 1.6 (5 August 2003)

Three changes:

  • New option for COMPMDSK what makes it use less disk space when comparing an mdisk that must contain a subset of another (e.g. DIRMAINT's HELP disk is a subset of MAINT 19D)
  • Addition of SESCOMP: it compares mdisks based on their VMSES PARTCAT. Makes it easy to VMFCOPY a product from one mdisk onto another.
  • Small gift: ERASEIF EXEC. Erases a file if an indentical copy is found elsewhere.

COMPARE Version 1.5 (3 August 2000)

Only COMPAIR has been changed:

  • To new options for COMPAIR:
    • NOCASE then COMPAIR ignores case when comparing two files.
    • NOSPACE requests that COMPAIR separates all words by a single blank.
  • Now you can enter &xxx in either commandline (and it works) to automatically repeat a command. Command examples: &/When or &,+2

COMPARE Version 1.4(a) highlights (17 August 1999)

Only COMPAIR has been changed:

  • Correct position of second file if at TOF: a bug made that line 0 of the second file could not become "current line". For example when entering ",TOP" or ",-*" in COMPAIR, the first file was positioned at line 0, but the second file at line 1.
  • Avoid errormsg if when going from SCREEN 2V to SCREEN 2H
  • A ",somecmd" command entered in the command area of file 1 got executed 2 times in file 2.

COMPARE Version 1.3 highlights (12 April 1999)

Only COMPAIR has been changed:

  • Improve COMPAIR's handling of commands (again): some bugs are fixed and the command execution order is now clearly defined (see COMPAIR HELPXEDI for details).
  • Fix and improve handling of ? and PF6 commands
  • Improve "comparing a file with itself" (faster & avoid an errormsg)
  • REXX coding style adapted a bit to my usual style
  • Improve the COMPAIR's online HELP file

COMPARE Version 1.2 highlights

Improve COMPAIR's handling of PREFIX commands

  • Previously, prefix commands were executed ASAP, with as -bad- result that any command that adds or deletes lines causes the other queued PREFIX commands to be targeted to the wrong lines.
  • When using COMPAIR to compare files, a natural action is that you use PF2 to find "the next difference". Then you probably want to copy lines from one file into the other.
    If you use my PRFCOPY package to copy lines, you'll find out that after a Copy Preceeding (KC) or Copy Following (KF), near the current line, COMPAIR will go back one line in both files. This way, COMPAIR will find more identical lines in the compared files.

COMPARE Version 1.1 highlights

COMPARE PACKAGE version 1.1 includes COMPMDSK version 2.

COMPMDSK Version 2
The main change to COMPMDSK Version 2 is the support of year 2000 date formats: COMPMDSK can be used on FILELISTs created with FULLDATE, SHORTDATE and ISODATE.

In addition, more options are provided that make COMPMDSK more useful when comparing FILELISTs origination from systems in different timezones.

To support all this, COMPMDSK has undergone major surgery, with as consequence that COMPMDSK Version 2 needs at least CMS Rel 11 (to be precise: a level of CMS/Pipelines that supports PICK and UNIQUE PAIRWISE).
For people with older VM systems, COMPMDSK Version 1 is still included in the package.