Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

COMPARE (SuperC) gives different results

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF
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    Post subject: COMPARE (SuperC) gives different results
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

Active Member


Joined: 07 Feb 2009
Posts: 984
Location: Oostende, Belgium

PostPosted: Fri Jul 26, 2013 3:27 am    Post subject:
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

Senior Member


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

PostPosted: Fri Jul 26, 2013 4:02 am    Post subject: Reply to: COMPARE (SuperC) gives different results
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    Post subject: Reply to: COMPARE (SuperC) gives different results
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

Active Member


Joined: 07 Feb 2009
Posts: 984
Location: Oostende, Belgium

PostPosted: Fri Jul 26, 2013 2:03 pm    Post subject: Reply to: COMPARE (SuperC) gives different results
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

Site Director


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

PostPosted: Fri Jul 26, 2013 8:28 pm    Post subject:
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

Senior Member


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

PostPosted: Sat Jul 27, 2013 2:41 am    Post subject: Reply to: COMPARE (SuperC) gives different results
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    IBMMAINFRAMES.com Support Forums -> TSO/ISPF All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Match or compare two files in VB Format anatol DFSORT/ICETOOL 14 Thu Nov 03, 2016 7:41 pm
No new posts Low values Results from VARCHAR FORMAT balaji81_k DB2 10 Thu Oct 20, 2016 1:18 am
No new posts COMPARE command sivatechdrive TSO/ISPF 7 Fri Sep 16, 2016 4:31 pm
No new posts Icetool or Joinkeys example to compar... ishant chauhan DFSORT/ICETOOL 21 Sat Aug 20, 2016 2:40 am
No new posts Compare each GDG Generations to other... Ayyappa1 JCL & VSAM 13 Tue Jun 28, 2016 1:48 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us