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

find non-matching reocrds


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
nileshyp

New User


Joined: 22 Jun 2005
Posts: 65
Location: Mumbai

PostPosted: Wed Nov 30, 2011 11:36 am
Reply with quote

Hi,

I have a requirement in which I need to compare FILE1 and FILE2 and get non matching records in File1 in a separate file.

FILE1 LRECL=300
FILE2 LRECL=300

I need to compare entire 300 length record.

I have written SORT Step as below :

Code:


//S1    EXEC  PGM=SYNCSORT                                     
//SYSOUT DD SYSOUT=*                                           
//MASTER DD DSN=R2K0C00U.N0.MRP6909.MT.G0192V00,DISP=SHR       
//KEY DD DSN=CRUMTEST.MRP6909.MT.NOV11,DISP=SHR               
//SORTOUT  DD DSN=CRUMTEST.MRP6909.MT.NOV11.DIFFER,           
//   DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,SPACE=(CYL,(9,99),RLSE),
//  DCB=(RECFM=FB,LRECL=300,BLKSIZE=0)                         
//SYSIN DD *                                                   
  JOINKEYS F1=MASTER,FIELDS=(1,300,A)                         
  JOINKEYS F2=KEY,FIELDS=(1,300,A)                             
  REFORMAT FIELDS=(F1:1,300)                                   
  SORT FIELDS=COPY                                             
  OUTFIL FNAMES=OUT,OUTREC=(1:300)                             
/*                                                             
//       



However After running the jobI am getting below error. Please suggest if any modification required in my JCL?

Code:


SYNCSORT FOR Z/OS  1.1DR   TPF3   U.S. PATENTS: 4210961, 5117495  (C) 2002
                             AMERICAN INTERNATIONAL GROUP DATA CENTER NJ   
PRODUCT LICENSED FOR CPU SERIAL NUMBER 6682E, MODEL 2086 230              L
SYSIN :                                                                   
  JOINKEYS F1=MASTER,FIELDS=(1,300,A)                                     
  *                                                                       
  JOINKEYS F2=KEY,FIELDS=(1,300,A)                                         
  *                                                                       
  REFORMAT FIELDS=(F1:1,300)                                               
  *                                                                       
  SORT FIELDS=COPY                                                         
  OUTFIL FNAMES=OUT,OUTREC=(1:300)                                         
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT                           
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT                           
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT



Thanks in advance

Regards,
Neil
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Nov 30, 2011 1:21 pm
Reply with quote

Hi,

are there duplicates in either file ?


Gerry
Back to top
View user's profile Send private message
Anuj Dhawan

Superior Member


Joined: 22 Apr 2006
Posts: 6250
Location: Mumbai, India

PostPosted: Wed Nov 30, 2011 1:44 pm
Reply with quote

Quote:
WER275A NO KEYWORDS FOUND ON CONTROL STATEMENT
This might mean two things:

  • The SORT-statements are not starting from 3rd column
  • Per this
    Quote:
    SYNCSORT FOR Z/OS 1.1DR
    , you're running on an earlier release of SyncSort which, I think, does not support JOINKEYS, though I've not verified it - but it's an old version.
Back to top
View user's profile Send private message
nileshyp

New User


Joined: 22 Jun 2005
Posts: 65
Location: Mumbai

PostPosted: Wed Nov 30, 2011 1:50 pm
Reply with quote

There are no duplicates. However is there any alternative solution?

Regards,
Neil
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Wed Nov 30, 2011 2:12 pm
Reply with quote

Hi,

try this
Code:
//S1       EXEC  PGM=ICETOOL                                       
//TOOLMSG  DD SYSOUT=*                                             
//DFSMSG   DD SYSOUT=*                                             
//IN1      DD DSN=file1,DISP=SHR                                   
//IN2      DD DSN=file2,DISP=SHR                                   
//T1       DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT      DD SYSOUT=*                                             
//TOOLIN   DD    *                                                 
COPY FROM(IN1) TO(T1) USING(CTL1)                                 
COPY FROM(IN2) TO(T1) USING(CTL2)                                 
SELECT FROM(T1) TO(OUT) ON(1,300,CH) NODUPS USING(CTL3)           
/*                                                                 
//CTL1CNTL DD *                                                   
  INREC OVERLAY=(301:C'1')                                         
/*                                                                 
//CTL2CNTL DD *                                                   
  INREC OVERLAY=(301:C'2')                                         
/*                                                                 
//CTL3CNTL DD *                                                   
  OUTFIL FNAMES=OUT,INCLUDE=(301,1,CH,EQ,C'1'),                   
    BUILD=(1,300)                                                 
/*


Gerry
Back to top
View user's profile Send private message
xknight

Active User


Joined: 22 Jan 2008
Posts: 117
Location: Liberty city

PostPosted: Wed Nov 30, 2011 4:56 pm
Reply with quote

Hello,

If you need to do using JOINS , try the below

Code:
//STEP05   EXEC PGM=SORT                                             
//SORTJNF1 DD DSN=R2K0C00U.N0.MRP6909.MT.G0192V00,         
//            DISP=SHR                                               
//SORTJNF2 DD DSN=CRUMTEST.MRP6909.MT.NOV11,         
//            DISP=SHR                                               
//SORTOUT  DD DSN=CRUMTEST.MRP6909.MT.NOV11.DIFFER,         
//         DISP=(NEW,CATLG,DELETE),RECFM=FB,LRECL=300,BLKSIZE=0,     
//         SPACE=(CYL,(20,10),RLSE),UNIT=SYSDA                       
//SYSOUT   DD SYSOUT=*                                               
//SYSIN    DD *                                                       
  JOINKEYS FILE=F1,FIELDS=(1,300,A)                                   
  JOINKEYS FILE=F2,FIELDS=(1,300,A)                                   
  SORT FIELDS=COPY                                                   
  JOIN UNPAIRED,F1,ONLY                                               
  REFORMAT FIELDS=(F1:1,300)                                         
/*
Back to top
View user's profile Send private message
nileshyp

New User


Joined: 22 Jun 2005
Posts: 65
Location: Mumbai

PostPosted: Wed Nov 30, 2011 5:00 pm
Reply with quote

Gerry,

I tried above JCL but failed with below error

Code:


SYNCSORT FOR Z/OS  1.1DRI  TPF3   U.S. PATENTS: 4210961, 5117495  (C) 2002 SYNC
                             AMERICAN INTERNATIONAL GROUP DATA CENTER NJ   z/OS
PRODUCT LICENSED FOR CPU SERIAL NUMBER 6682E, MODEL 2086 230              LICEN
CTL1CNTL :                                                                   
  INREC OVERLAY=(301:C'1')                                                   
        *                                                                     
WER428I  CALLER-PROVIDED IDENTIFIER IS "0001"                                 
WER268A  INREC STATEMENT   : SYNTAX ERROR


Code:

1SYT000I  SYNCTOOL RELEASE 1.4D - COPYRIGHT 2003  SYNCSORT INC.
 SYT001I  INITIAL PROCESSING MODE IS "STOP"
 SYT002I  "TOOLIN" INTERFACE BEING USED
          COPY FROM(IN1) TO(T1) USING(CTL1)
 SYT020I  SYNCSORT CALLED WITH IDENTIFIER "0001"
 SYT012E  SYNCSORT COMPLETED UNSUCCESSFULLY
 SYT030I  OPERATION COMPLETED WITH RETURN CODE 16
 SYT015I  PROCESSING MODE CHANGED FROM "STOP" TO "SCAN" DUE TO OPERATION FAILURE
          COPY FROM(IN2) TO(T1) USING(CTL2)
 SYT019I  STATEMENT VALID; NOT PROCESSED DUE TO "SCAN" PROCESSING MODE
          SELECT FROM(T1) TO(OUT) ON(1,300,CH) NODUPS USING(CTL3)
 SYT019I  STATEMENT VALID; NOT PROCESSED DUE TO "SCAN" PROCESSING MODE
 SYT004I  SYNCTOOL PROCESSING COMPLETED WITH RETURN CODE 16
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Nov 30, 2011 5:14 pm
Reply with quote

xknight wrote:
[...]
If you need to do using JOINS , try the below
[...]


That was where the thread started....
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed Nov 30, 2011 5:16 pm
Reply with quote

Do you have a manual for this very old Syncsort version?
Back to top
View user's profile Send private message
xknight

Active User


Joined: 22 Jan 2008
Posts: 117
Location: Liberty city

PostPosted: Wed Nov 30, 2011 6:17 pm
Reply with quote

Quote:
That was where the thread started....


Ofcourse yes, mentioned since gerry has posted the solution on SYNCTOOL
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: Wed Nov 30, 2011 9:09 pm
Reply with quote

Hello,

As far as i can tell the choices are to upgrade the product to the current release or write some code.

Release 1.1 is years out of data.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Nov 30, 2011 9:54 pm
Reply with quote

and we know that
AMERICAN INTERNATIONAL GROUP DATA CENTER NJ
are soooo cheap
i wonder if they are legal?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Nov 30, 2011 9:59 pm
Reply with quote

geee? i wonder if the google crawlers catch the previous post?

oh that would be to bad (not)
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Wed Nov 30, 2011 10:08 pm
Reply with quote

well the name is pretty outdated, according to Bloomberg

Quote:
...
The company was formerly known as American International Group Data Center, Inc. and changed its name to AIG Technologies, Inc. in 2004.
...
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Nov 30, 2011 10:23 pm
Reply with quote

i can understand that a place is too cheap to upgrade their software,
but I wonder if they have a valid license?

it is one thing for a company, in the name of cost-cutting,
to deprive systems and programming staff a current version of a general utility,
but it is another for the firm to cheat syncsort out of their license fee.

i admit, that I had assumed that this company:
  • has the use of a computer whether:
    • they rent off a bigger machine
    • or are a bunch of ex-salesmen that
      1. have cheap options on hardware and
      2. severely curtailed the op-sys software
  • and outsourced the application maintanence.

sounds like i was pretty close.
I wonder if this AIG Tech... is/was part of AIG Insurance Group?
If so, good luck Alissa, collecting anything from that bunch.

have a good weekend, everybody!
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Wed Nov 30, 2011 11:33 pm
Reply with quote

Yep ...
Quote:
AIG Technologies, Inc. operates as a subsidiary of American International Group, Inc.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Dec 01, 2011 12:07 am
Reply with quote

Odd for something to be running such old software. Syncsort has "keys" to validate the use of the product. Did they not in 2002?

nileshyp, looking at the JCL it says PGM=SYNCSORT. Are all your Sorts like that at your site? You didn't write that from scratch without thinking, did you?

If your site is running an old, unsupported, unlicenced product, I think you'd better let your boss know that it has accidently become public knowledge.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Thu Dec 01, 2011 12:53 am
Reply with quote

ssssssssssshhhhhhhheeeeeeeeeiiiiitt.

bill, always the nice guy...

'sides, you really think this guy is going to run to his boss,
and tell him that he is responsible for this negative publicity??
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: Thu Dec 01, 2011 12:55 am
Reply with quote

Hello,

Lots of the "Syncsort systems" i've worked on use pgm=syscsort. As many simply use pgm=sort.

One of my sites only recently moved up from 1.1 to the newest 1.4. This after being cautioned that there may be incompatabilities when moving to z/OS 1.09 and 1.11. They just continued to pay the license/maintenance fee. When the license was about to expire, the "time-out" message would show saying how many days until exipration. . .
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Dec 01, 2011 2:59 am
Reply with quote

610 hits on google. So not the only site, so probably not blunder.

I suppose the old version is cheaper.

The nice guys are having a competition. I managed to hex Vasanthz with his prediction of Tendulkar's score, got a lucky "collateral" on Anuj (did you see the way he dissed that guy), now I just need to nobble Ed and the prize is mine... ALL MINE!

Anyway, if AIG want to hunt him down, he's left enough clues.

Oh. This isn't a PM, is it? Looks like I've nobbled myself, as the late Frankier Howerd might have said...
Back to top
View user's profile Send private message
xknight

Active User


Joined: 22 Jan 2008
Posts: 117
Location: Liberty city

PostPosted: Thu Dec 01, 2011 10:19 am
Reply with quote

Hello Nilesh,

Quote:
Gerry,

I tried above JCL but failed with below error


Did you tried the posted JOINS snippet.

Would you let us know, what did you get icon_question.gif
Back to top
View user's profile Send private message
nileshyp

New User


Joined: 22 Jun 2005
Posts: 65
Location: Mumbai

PostPosted: Thu Dec 01, 2011 10:48 am
Reply with quote

I tried with the JCL which you provided but still I got below error

Code:

SYNCSORT FOR Z/OS  1.1DR   TPF3     

SYSIN :                                                                       
  JOINKEYS FILE=F1,FIELDS=(1,300,A)                                           
  *                                                                           
  JOINKEYS FILE=F2,FIELDS=(1,300,A)                                           
  *                                                                           
  SORT FIELDS=COPY                                                           
  JOIN UNPAIRED,F1,ONLY                                                       
  *                                                                           
  REFORMAT FIELDS=(F1:1,300)                                                 
  *                                                                           
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT                               
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT                               
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT                               
WER275A  NO KEYWORDS FOUND ON CONTROL STATEMENT
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Thu Dec 01, 2011 11:21 am
Reply with quote

supposing that the snippets provided were tested...
Your Syncsort level does not support JOINKEYS
Back to top
View user's profile Send private message
xknight

Active User


Joined: 22 Jan 2008
Posts: 117
Location: Liberty city

PostPosted: Thu Dec 01, 2011 7:11 pm
Reply with quote

Hello,

I am not sure about the Syncsort level 1.1, I guessed, JOINKEYS FILE='nn' would support.

Between you haven't replied to bill's query. Do you have manual for the version installed at your site.
Back to top
View user's profile Send private message
nileshyp

New User


Joined: 22 Jun 2005
Posts: 65
Location: Mumbai

PostPosted: Thu Dec 01, 2011 8:16 pm
Reply with quote

No.. I don't have manual. Please someone have please share it with us.

Regards,
Neil
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 -> JCL & VSAM Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts Find the size of a PS file before rea... COBOL Programming 13
No new posts Rexx pattern matching on PS qualifer ... CLIST & REXX 1
No new posts Find the occurrence of Key Field (Par... DFSORT/ICETOOL 6
No new posts Find a record count/numeric is multip... COBOL Programming 1
Search our Forums:

Back to Top