MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

From SYNCSORT to DFSORT

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
edkir98
Beginner


Joined: 27 Aug 2007
Posts: 102
Topics: 42
Location: Chennai

PostPosted: Wed Sep 10, 2008 7:53 am    Post subject: From SYNCSORT to DFSORT Reply with quote

I moved over from a group where we were using SYNCSORT and now in this new group we are using DFSORT. I wanted to use JOINKEYS utility of syncsort. I found from the forum that its equivalent in DFSORT is SPLICE. But I'm confused.

I tried executing a sample JCL from Frank's post which was quoted in http://www.mvsforums.com/helpboards/viewtopic.php?t=2951&highlight=duplicate+splice. But am getting an error. Can someone please explain the logic of how its happening?

This is the JCL I used
Code:
//S1  EXEC PGM=ICETOOL                                         
//TOOLMSG  DD  SYSOUT=*                                         
//DFSMSG   DD  SYSOUT=*                                         
//IN1   DD *                                                   
123456 IDSX                                                     
567015 IDSY                                                     
345678 IDSX                                                     
906615 IDSY                                                     
//IN2   DD *                                                   
123456 XXA .....                                               
30000  ABC .....                                               
123456 DEF......                                               
345678 FGH......                                               
567015 NOM......                                               
345678 ETI......                                               
906615 LKG......                                               
//TEMP1 DD DSN=&&TEMP1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//TEMP2 DD DSN=&&TEMP2,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//CON   DD DSN=*.TEMP1,VOL=REF=*.TEMP1,DISP=(OLD,PASS)         
//      DD DSN=*.TEMP2,VOL=REF=*.TEMP2,DISP=(OLD,PASS)         
//OUT1  DD DSN=&&O1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)   
//OUT2  DD SYSOUT=*                                             
//TOOLIN DD *                                                   
* IN1->T1:  REFORMAT RECORDS TO:                               
* |KEY|.......|IDSX|...|A|...|BLANKS|                           
COPY FROM(IN1) TO(TEMP1) USING(CTL1)                           
* IN2->T2:  REFORMAT RECORDS TO:                               
* |KEY|XXX|..................|SEQNUM|                           
COPY FROM(IN2) TO(TEMP2) USING(CTL2)                           
* T1/T2->OUT1:  SPLICE TO GET:                                 
* |KEY|XXX|...|IDSX|...|A|...|SEQNUM|                           
* KEY, IDSX AND A COME FROM BASE RECORDS (T1)                   
* XXX AND SEQNUM COME FROM OVERLAY RECORDS (T2)                 
SPLICE FROM(CON) TO(OUT1) ON(1,9,CH) -                         
  WITHALL WITH(10,3) WITH(447,8) KEEPNODUPS                     
* SORT ON SEQNUM TO GET THE SPLICED RECORDS BACK               
* IN THEIR ORIGINAL IN2 ORDER.  REMOVE SEQNUM.                 
SORT FROM(OUT1) TO(OUT2) USING(CTL3)                           
/*                                                           
//CTL1CNTL DD *                                               
  OUTREC FIELDS=(1,9,156:10,6,                               
          366:10,6,CHANGE=(1,C'IDSX  ',C'I',                 
                              C'IDSY',C'J'),                 
                    NOMATCH=(C' '),                           
                    447:8X)                                   
/*                                                           
//CTL2CNTL DD *                                               
  OUTREC FIELDS=(1,446,447:SEQNUM,8,ZD)                       
/*                                                           
//CTL3CNTL DD *                                               
  SORT FIELDS=(447,8,ZD,A)                                   
  OUTREC FIELDS=(1,446)                                       
/*                                       



and this is the error I got

Code:
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE027A 6 END OF          FIELD BEYOND MAXIMUM RECORD LENGTH

Can someone help? Also can you please explain the control card? It was a bit straightforward in SYNCSORT...
Code:
  OUTREC FIELDS=(1,9,156:10,6,                               
          366:10,6,CHANGE=(1,C'IDSX  ',C'I',                 
                              C'IDSY',C'J'),                 
                    NOMATCH=(C' '),                           
                    447:8X)       

_________________
Thanks
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group