Comparing NATURAL modules

We have a library that for unknown reasons exist in 2 FUSERs.
We need to compare the modules on both libraries based on the USER that last saved/stowed each NATURAL module to see which one is the most recent one.

I believe N2O does that module by module and we need for the whole library.
We are at mainframe NAT 3.1.6 and do not have SPOD or Nat Engineer.

Any suggestions?


You can use USR1057N to read the source of all modules in each fuser and then write to work files and use regular TSO compare utilities to complete the process.


We thought about that, but still involves creating new code.
It would be nice to have a “ready” solution like the one provided by NAT Engineer.

It sounds like a “ready” solution is the last thing you need.

If I have been reading the thread correctly, you have two copies of all the programs in a given library, and do not know why the two copies exist.

Suppose someone created the second copy for their own purposes? The concept of “most recent” may be totally misleading. You may have different, or even conflicting, modifications that were made to a single module. The idea that “last copy made” wins seems a bit short sighted.

It sounds as if you will have to do this the old fashioned way with two copies on the screen at the same time, and a knowledgeable programmer examining discrepancies.

Okay, an automated tool would be useful to eliminate modules which are the same on both libraries. Any idea what percent this is? How long have the two copies existed?


If neither product purchase nor new code are acceptable options, then use SuperC, as Mick suggested. Instead of coding with the API, use the SEQUENTIAL option of the list command to create a flat file from each library. Edit each file in TSO/ISPF, removing page header lines, carriage control, etc., to limit the number of false hits in the comparison.

This a secured library with limited access to people, only members of our group have access to it.
The good library is in FUSER 230 and the bad is FUSER 235, we don’t know why/how exists.

I listed all the modules from 235 and visually compared the timestamp on both. All modules on 235 were older and therefore, we removed.

After I while, I now remember that CONSTRUCT has a module CSGCMPS that allows one to compare 2 modules in different libraries/fusers.