JOINKEYS - Record length change with INREC



Support for NetApp SyncSort for z/OS, Visual SyncSort, SYNCINIT, SYNCLIST and SYNCTOOL

JOINKEYS - Record length change with INREC

Postby Yifat Oren » Tue Oct 02, 2012 7:46 pm

Hello everyone,

I'm trying to compare 2 text files, line by line, using Syncsort JOINKEYS with SEQNUM.

//SORT     EXEC PGM=SORT                                           
//SYSOUT   DD  SYSOUT=*                                           
//SORTJNF1 DD  DISP=SHR,DSN=TEMP.JOINTEST.F1.FB80   
//JNF1CNTL DD  *                                                   
  RECORD TYPE=FB,LENGTH=89                                         
  INREC FIELDS=(SEQNUM,8,ZD,C' ',1,80)                             
//SORTJNF2 DD  DISP=SHR,DSN=TEMP.JOINTEST.F2.FB80   
//JNF2CNTL DD  *                                                   
  INREC FIELDS=(SEQNUM,8,ZD,C' ',1,80)                             
//SORTOUT  DD  SYSOUT=*                                           
//SYSIN    DD  *                                                   
  JOINKEYS FILES=F1,FIELDS=(1,89,A),SORTED                         
  JOINKEYS FILES=F2,FIELDS=(1,89,A),SORTED                         
  JOIN UNPAIRED,ONLY                                               
  REFORMAT FIELDS=(F1:1,89,F2:1,89),FILL=C' '                     
  SORT FIELDS=COPY                                                 
  OUTFIL FNAMES=SORTOUT,                                           
   IFTHEN=(WHEN=(1,1,CH,NE,C' '),BUILD=(C'F1-',01,89)),           
   IFTHEN=(WHEN=(1,1,CH,EQ,C' '),BUILD=(C'F2-',90,89))             
//                                                                 


Problem is, Syncsort does not seem to accept the JNF1/2 LRECL change due to the JNFxCNTL INREC statements.

SYNCSORT FOR Z/OS  1.4.0.1N   
...
WER486A  ERROR IN JNF1 PROCESSING                                   
WER482I  JNF1 STATISTICS                                             
WER483B  6,920K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,   
WER483B     0 BYTES RESERVE REQUESTED, 1,020K BYTES USED             
WER108I  SORTJNF1 : RECFM=FB   ; LRECL=  80; BLKSIZE= 27920       
WER073I  SORTJNF1 : DSNAME=TEMP.JOINTEST.F1.FB80       
WER027A  CONTROL FIELD BEYOND RECORD                                 


So, how do I convince Syncsort the input records are 89 bytes?

Best Regards,
Yifat
Yifat Oren
 
Posts: 6
Joined: Tue Jul 20, 2010 4:14 pm
Has thanked: 0 time
Been thanked: 0 time

Re: JOINKEYS - Record length change with INREC

Postby dick scherrer » Tue Oct 02, 2012 7:50 pm

Hello,

Suggest you post a bit of sample data from both input files and the output you want when this sample data is processed.

You do not need full-width records, only enough to demonstrate what you have and what you want.
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: JOINKEYS - Record length change with INREC

Postby BillyBoyo » Tue Oct 02, 2012 7:57 pm

My first suggestion was going to be "get up to date" with your product, but you have 1.4.

Earlier releases of SyncSort did not support the JNFnCNTL files as standard. However, I thought I saw someone point out that 1.4 does. Have you checked in your SyncSort manual for 1.4 on JOINKEYS for confirmation that they are supported?

To "get it going" for definite now, if necessary, you'd need an extra pass of the files to put the sequence number on to a physical record.

If the manual says it should work, then you have some investigation/testing to do. Perhaps have a look at the SyncSort website and see what support might be available through that.

Please let us know how it goes.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: JOINKEYS - Record length change with INREC

Postby MrSpock » Tue Oct 02, 2012 8:05 pm

The latest product manual shows these as the supported DD names:

//$ORTPARM DD
//SORTIN DD
//SORTINnn DD
//SORTINn DD
//SORTJNF1 DD
//SORTJNF2 DD
//SORTWKxx DD
//SORTWKn DD
//SORTOUT DD
or
//SORTOFxx DD
or
//SORTOFx DD
//SORTXDUP DD
//SORTXSUM DD
//SYSOUT DD

Table 45. DD Statements for Invoked Sort/Merge

so I don't know why someone would make up ones that aren't documented.
User avatar
MrSpock
Global moderator
 
Posts: 809
Joined: Wed Jun 06, 2007 9:37 pm
Location: Raleigh NC USA
Has thanked: 0 time
Been thanked: 4 times

Re: JOINKEYS - Record length change with INREC

Postby Yifat Oren » Tue Oct 02, 2012 8:07 pm

Thanks for the quick replies.

The JNFxCNTL works. I know that because when I treat the input records as LRECL=80 (truncating the last 9 bytes), I get the correct output.

Input looks something like this (LRECL=80):

LINE 1
LINE 2


LINE 1
LINE 1


Output should be:
F2-00000002 LINE 1
F1-00000002 LINE 2


Regards,
Yifat
Yifat Oren
 
Posts: 6
Joined: Tue Jul 20, 2010 4:14 pm
Has thanked: 0 time
Been thanked: 0 time

Re: JOINKEYS - Record length change with INREC

Postby BillyBoyo » Tue Oct 02, 2012 8:16 pm

OK.

  RECORD TYPE=FB,LENGTH=89


I'd get rid of that. SyncSort is going to get the original details from the JCL and work out everything else from the Control Cards.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times


Return to Syncsort/Synctool

 


  • Related topics
    Replies
    Views
    Last post