IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

COMPARE (SuperC) gives different results


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Jim Alton

New User


Joined: 31 Dec 2012
Posts: 31
Location: England

PostPosted: Fri Jul 26, 2013 12:30 am
Reply with quote

I was searching for a way to display ISPF statistics since a flag is set if the last editor of a dataset was SCLM, and I found that you can do this in z/OS 1.13 but not in z/OS 1.12, which we have. But along the way I discovered that you can use SuperC from within the editor, via the command COMPare.
For the hell of it I tried to see if I could trip SuperC up by using at least one large dataset, and I think I have.
The primary dataset is this one, which has many thousands of lines, in which I show the first few and last few lines:


Code:
********************************* Top of Data **********************************
       01  DCLAGT-CFM.                                                  00001102
       01  DCLAGT-CFM.                                                  00002001
       01  DCLAGT-CFM.                                                  20000000
       01  DCLAGT-CFM                                                   20001000
       01  DCLAGT-CFM                                                   20002000
           10 AGT-NUMBER.          PIC X(7).                            20003000
           10 CFM-VALUE.           PIC X(4).                            20004000
       01  DCLAGT-CFM.                                                  20005000
       01  DCLAGT-CFM                                                   20006000

.
.
.
.
.

       01  DCLAGT-CFM                                                   26995600
           10 AGT-NUMBER.          PIC X(7).                            26995700
           10 CFM-VALUE.           PIC X(4).                            26995800
       01  DCLAGT-CFM.                                                  26995900
       01  DCLAGT-CFM                                                   26996000
       01  DCLAGT-CFM                                                   26996100
       01  DCLAGT-CFM.                                                  26996400
       01  DCLAGT-CFM                                                   26996500
       01  DCLAGT-CFM                                                   26996600
           10 AGT-NUMBER           PIC X(7).                            26996701
           10 CFM-VALUE            PIC X(4).                            26996801
******************************** Bottom of Data ********************************


and the second dataset is this one, composed of just 3 lines (note that the PICs and rightmost numbers should line up in both datasets, and they are both PDSs with LRECL=80, and the comparison is on columns 1 to 72, which does not include the rightmost numbers):

Code:

********************************* Top of Data **********************************
       01  DCLAGT-CFM.                                                  00010000
           10 AGT-NUMBER           PIC X(7).                            00020000
           10 CFM-VALUE            PIC X(4).                            00030000
******************************** Bottom of Data ********************************


Now, the lines that SuperC says match are the first lines and the last two in both datasets, and you can see that is the case in the code copies, but it is much easier to do and see the comparisons using COMPare, which I initially did.
The primary dataset has 47999 lines, and using 3.12 I get the following:

Code:
***************************** Top of Data ******************************
  ISRSUPC   -   MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF F
NEW: PWSX.L5JALTO.APTF2(A)                                   OLD: PWSX.L

                       LINE COMPARE SUMMARY AND STATISTICS



       3 NUMBER OF LINE MATCHES           47996  TOTAL CHANGES (PAIRED+N
       0 REFORMATTED LINES                    0  PAIRED CHANGES (REFM+PA
   47996 NEW FILE LINE INSERTIONS         47996  NON-PAIRED INSERTS
       0 OLD FILE LINE DELETIONS              0  NON-PAIRED DELETES
   47999 NEW FILE LINES PROCESSED
       3 OLD FILE LINES PROCESSED

LISTING-TYPE = OVSUM      COMPARE-COLUMNS =    1:72        LONGEST-LINE
PROCESS OPTIONS USED: SEQ(DEFAULT)

**************************** Bottom of Data ****************************


If I then edit the primary dataset and add one more (non-matching) line (making 48000 lines) I get the following:

Code:
***************************** Top of Data ******************************
  ISRSUPC   -   MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF F
NEW: PWSX.L5JALTO.APTF2(A)                                   OLD: PWSX.L

                       LINE COMPARE SUMMARY AND STATISTICS



       2 NUMBER OF LINE MATCHES           47998  TOTAL CHANGES (PAIRED+N
       0 REFORMATTED LINES                    1  PAIRED CHANGES (REFM+PA
   47998 NEW FILE LINE INSERTIONS         47997  NON-PAIRED INSERTS
       1 OLD FILE LINE DELETIONS              0  NON-PAIRED DELETES
   48000 NEW FILE LINES PROCESSED
       3 OLD FILE LINES PROCESSED

LISTING-TYPE = OVSUM      COMPARE-COLUMNS =    1:72        LONGEST-LINE
PROCESS OPTIONS USED: SEQ(DEFAULT)

**************************** Bottom of Data ****************************


Only two matching lines!
Of course I didn't just happen upon this boundary number of 48000, it took a lot of submissions using COMPare to arrive at the number, and it is also easier to see which lines SuperC thinks are the matching ones using COMPare, and it is the first line and the last line in both datasets, so it now thinks that the penultimate lines do not match.

For those who have not seen the results of using COMPare, the following is what you get using COMPare, where you can see that the non-matching (inserted) lines are labelled - they're also in colour in ISPF, but not here in this forum's display!

Code:

****** ***************************** Top of Data ******************************
000011        01  DCLAGT-CFM.
.OAAAA        01  DCLAGT-CFM.
.OAAAB        01  DCLAGT-CFM.
.OAAAC        01  DCLAGT-CFM
.OAAAD        01  DCLAGT-CFM

.
.
.
.
.

.OCSZX        01  DCLAGT-CFM.
.OCSZY        01  DCLAGT-CFM
.OCSZZ        01  DCLAGT-CFM
269967            10 AGT-NUMBER           PIC X(7).
269968            10 CFM-VALUE            PIC X(4).
****** **************************** Bottom of Data ****************************


Hence, I've invoked SuperC in two different ways and get the same results, but results that seem to be anomalous.(And note that I've reversed the roles of the datasets (making the smaller one the primary) but the same anomaly occurs.)
So, have I broken SuperC or what?
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Fri Jul 26, 2013 3:27 am
Reply with quote

From three matches you've gone to two matches and one paired change.

It may have something to do with the fact, if I remember correctly, that SuperC breaks down the compare into segments of 16K lines, so you may just have hit a borderline case.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Fri Jul 26, 2013 4:02 am
Reply with quote

Jim, congratulations!

But, if something is not working correctly, you do not need consensus from us. Just call IBM and open a PMR.
Back to top
View user's profile Send private message
Jim Alton

New User


Joined: 31 Dec 2012
Posts: 31
Location: England

PostPosted: Fri Jul 26, 2013 6:01 am
Reply with quote

Dear Prino and Pedro,

Thanks for your replies.
Regarding the paired change, I must say that I overlooked that but still I venture to say that it is still not classified as a match though I don't know what it is, so, Prino, can you tell us what it is? My investigations were wholly using COMPare, and I only turned to 3.12 for confirmation, and the information returned by COMPare only indicates a match or no match, not a subtlety like a paired change (whatever that is - Prino ...).
As for Pedro's reply - you may have IBM on a hotline but I don't, and certainly don't know what a PMR is - a Personal Moan Report? Also, I guess I was hoping that, just as DFSORT developers join in the SORT forum, ISPF/SuperC developers might join in this forum, but perhaps not.
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Fri Jul 26, 2013 2:03 pm
Reply with quote

I believe there is an option to save the SuperC compare listing that is used by the COMP command. It might give clues as to why COMP reclassifies lines compared to plain SuperC.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Jul 26, 2013 8:28 pm
Reply with quote

Hello,

Quote:
ISPF/SuperC developers might join in this forum, but perhaps not.
As far as i know, ISPF/SuperC developers/support do not look for topics here.

A PMR is a Problem Management Request (kinda like a Help Des Ticket). I suspect that you (or the organization) does have a "hotline" to IBM Support. There may be a restriction as to exactly who may call IBM.

One of the things SuperC will attempt is to show where a line was "changed" - i.e. a "matched pair". Sometimes i believe it gets a bit confused icon_wink.gif
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Sat Jul 27, 2013 2:41 am
Reply with quote

Quote:
you may have IBM on a hotline

When I have problems, I tell my sysprog and she who knows what to do.

It seems that you investigated pretty thoroughly and the concluded that something is amiss. I doubt any of us will spend as much time on this as you did. I do not think any ISPF developers monitor this forum. If you think it is broken, the only way it will get fixed is if you call IBM.

ISPF option 3.13 can accept processing option "DLREFM = Don't list reformatted lines. " Likewise, in the editor you can issue COMPARE with no parameters to get a control panel: select "Ignore Reformat Differences". My understanding is that if it is the same text but in different columns, it will not get flagged as a changed line. If you get different results from editor than from 3.13, it is likely because of some of those settings.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts Compare 2 files(F1 & F2) and writ... JCL & VSAM 8
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts DB2 Statistics - Using EXPLAIN and qu... DB2 1
No new posts Compare two files with a key and writ... SYNCSORT 3
Search our Forums:

Back to Top