View previous topic :: View next topic
Author
Message
rupesh gullu New User Joined: 12 Dec 2008Posts: 96 Location: Gurgaon
Hi,
I have a requirement in which key and data fields are in different locations in the two input files, and the second input file has duplicate records.For records in File2 that have a match in File1 on the name and amount.we want to add the first and fourth fields from File2 to the end of the File1 records.
File 1
//IN1 DD *
A KAREN 0003 K3
D HOLLY 0008 A5
X CARRIE 0005 N1
R VICKY 0003 L3
L MARY 1023 C2
File 2
0003 VICKY O1
0007 VICKY O2
0003 VICKY O3
0015 FRANK O1
0005 CARRIE O1
0005 CARRIE O2
0005 CARRIE O3
0006 CARRIE O4
0008 HOLLY O1
0103 DAVID O1
0103 DAVID O2
Here is my ictool code
Code:
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,4,ZD) ON(6,6,CH)-
WITHALL WITH(1,11) WITH(22,1) USING(CTL3)
/*
//CTL1CNTL DD *
INREC BUILD=(1:10,4,6:3,6,16:1,1,18:15,2,21:C'11')
/*
//CTL2CNTL DD *
INREC OVERLAY=(21:C'22')
/*
//CTL3CNTL DD *
OUTFIL FNAMES=OUT,INCLUDE=(21,2,CH,EQ,C'12'),BUILD=(1,25)
/*
I am getting Maxcc=16 when i am submitting the JCL with message
DFSORT CALL 0003 FOR SORT FROM T1 TO OUT
OPERATION RETURN CODE: 16
DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE: 16
I have tried using code in one the forum topic but problem still persist.
Regards,
Rupesh Gupta[/code]
Back to top
expat Global Moderator Joined: 14 Mar 2007Posts: 8797 Location: Welsh Wales
Even with today being psychic day, we still need to see the OUTPUT of the run which shows the reason for the RC16.
Back to top
gcicchet Senior Member Joined: 28 Jul 2006Posts: 1702 Location: Australia
Hi,
remove the BUILD statement or make the BUILD 1,20, this removes the additional 2 bytes added to the record.
T1 is 22 bytes long.
As advised always provide the job output log. ALL of it.
Gerry
Back to top
rupesh gullu New User Joined: 12 Dec 2008Posts: 96 Location: Gurgaon
Hi,
Here is complete OUTPUT DFSMSG
Code:
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 01:45 ON FRI MAY
INREC BUILD=(1:10,4,6:3,6,16:1,1,18:15,2,21:C'11')
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=IN1,S
RTOUT=T1,DYNALLOC
SORT FIELDS=COPY
ICE201I F RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90013 C6-K90013 C7-K90000 C8-K90013 E9-K90013 C9-BASE E5-K35433
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
ICE088I 0 TSUDQ3OT.STEP020 . , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6278238)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6212032,6212032)
ICE127I 0 OPTIONS: OVFLO=RC4 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=2097512,MINLIM=512000,EQUALS=N,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=SHORT,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=256 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMI
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 EXCP ACCESS METHOD USED FOR T1
ICE084I 0 BSAM ACCESS METHOD USED FOR IN1
ICE751I 1 EF-K10929 F0-K30362 E8-K90013
ICE090I 0 OUTPUT LRECL = 22, BLKSIZE = 27984, TYPE = FB (SDB)
ICE171I 0 SORTOUT LRECL OF 22 IS DIFFERENT FROM SORTIN(NN) LRECL OF 80 - RC=0
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 5, OUT: 5
ICE052I 0 END OF DFSORT
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0002
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 01:45 ON FRI MAY
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 01:45 ON FRI MAY
INREC OVERLAY=(21:C'22')
ICE146I 0 END OF STATEMENTS FROM CTL2CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL2,SORTIN=IN2,S
RTOUT=T1,DYNALLOC
SORT FIELDS=COPY
ICE201I F RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K90013 C6-K90013 C7-K90000 C8-K90013 E9-K90013 C9-BASE E5-K35433
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
ICE088I 0 TSUDQ3OT.STEP020 . , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6278238)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6211910,6211910)
ICE127I 0 OPTIONS: OVFLO=RC4 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=2097512,MINLIM=512000,EQUALS=N,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=SHORT,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITC
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=256 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMI
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 EXCP ACCESS METHOD USED FOR T1
ICE084I 0 BSAM ACCESS METHOD USED FOR IN2
ICE751I 1 EF-K10929 F0-K30362 E8-K90013
ICE090I 0 OUTPUT LRECL = 22, BLKSIZE = 27984, TYPE = FB
ICE171I 0 SORTOUT LRECL OF 22 IS DIFFERENT FROM SORTIN(NN) LRECL OF 80 - RC=0
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 11, OUT: 11
ICE052I 0 END OF DFSORT
ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0003
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 01:45 ON FRI MAY
OUTFIL FNAMES=OUT,INCLUDE=(21,2,CH,EQ,C'12'),BUILD=(1,25)
ICE146I 0 END OF STATEMENTS FROM CTL3CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL3,SORTIN=T1,SO
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL3,SORTIN=T1,SO
TOUT=OUT,DYNALLOC,SZERO,EQUALS,NOVLSHRT,LOCALE=NONE,NOC
ECK
SORT FIELDS=(1,4,ZD,A,6,6,CH,A)
MODS E35=(ICE35DU,12288)
ICE201I F RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE027A 9 END OF OUT FIELD BEYOND MAXIMUM RECORD LENGTH
ICE751I 0 C5-K90013 C6-K90013 C7-K90000 C8-K90013 E4-K90007 E7-K24705
ICE052I 3 END OF DFSORT
regards,
rupesh gupta
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
rupesh gullu,
temp file t1 is created with the following atrributes
Code:
ICE090I 0 OUTPUT LRECL = 22, BLKSIZE = 27984, TYPE = FB (SDB)
ICE090I 0 OUTPUT LRECL = 22, BLKSIZE = 27984, TYPE = FB
and you have this in your CTL3CNTL
Quote:
OUTFIL FNAMES=OUT,INCLUDE=(21,2,CH,EQ,C'12'),BUILD=(1,25)
You cant create a 25 byte file from 22 byte file unless you pad the extra 3 bytes. So change your build card to BUILD=(1,22) or better yet just get rid of it
Back to top
rupesh gullu New User Joined: 12 Dec 2008Posts: 96 Location: Gurgaon
Hi Skolusu
I tried with your solution and it worked fine. Thanks for help
regards,
rupesh
Back to top
Please enable JavaScript!