I dont understand 18Z and 36Z . Can anyone explain ?
I dont have dfsort. if i replace with Synctool would it work without any modifications ? Since there is not documentation for synctool. can i just follow icetool documentation?
thanks, _________________ Vivek,NJ
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Wed Oct 06, 2004 10:36 am Post subject:
Quote:
Since there is not documentation for synctool. can i just follow icetool documentation?
No. DFSORT's documentation describes DFSORT and DFSORT's ICETOOL. It does NOT describe other products, and if you try to use it for other products, you will be in for some surprises. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Wed Oct 06, 2004 11:38 am Post subject:
Vivek,
The following JCL will give you the desired results. I assumed that your input files lrecl is 80 and are of FB recfm. I am using the same binary zero summing technique shown in the first post.
Anything wrong with this ? I used your first post .I have used the SUM fields to entire length I want to sum is this ok or should i break it up like you did ?
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Wed Oct 06, 2004 5:01 pm Post subject:
Vivek,
A couple errors in your post. You don't have CON dd which is the concatenation of all the 4 temp files. I guess you missed it in your cut and paste.You don't need to provide the DCB parameters for a sort step.
Also you CANNOT sum on the entire length. For binary fields you can only sum in 2 or 4 or 8 bytes. so you need to break up the sum fields
If you understand the concept it is very easy to replicate
Let me explain it with an example. All the files have the following layout
The first copy operator will take in file1 and create a temp file which looks like this
Code:
KEY|INFO1 |8Z FOR FILE2|8Z FOR FILE3|8Z FOR FILE4
8Z = 8 binary zeroes.
The second copy operator will take in file2 and create a temp file which looks like this
Code:
KEY|8Z FOR FILE1|INFO2 |8Z FOR FILE3|8Z FOR FILE4
The third copy operator will take in file3 and create a temp file which looks like this
Code:
KEY|8Z FOR FILE1|8Z FOR FILE3|INFO3 |8Z FOR FILE4
The fourth copy operator will take in file4 and create a temp file which looks like this
Code:
KEY|8Z FOR FILE1|8Z FOR FILE3|8Z FOR FILE4|INFO4
If you notice clearly the info position keeps changing from each of the files.
Now when you concatenate all these files together it will look like this
Code:
KEY|INFO1 |8Z FOR FILE2|8Z FOR FILE3|8Z FOR FILE4
KEY|8Z FOR FILE1|INFO2 |8Z FOR FILE3|8Z FOR FILE4
KEY|8Z FOR FILE1|8Z FOR FILE3|INFO3 |8Z FOR FILE4
KEY|8Z FOR FILE1|8Z FOR FILE3|8Z FOR FILE4|INFO4
Now all you have to do is sort and sum on the padded binary fields.once you have done you will have
Code:
KEY|INFO1 |INFO2 |INFO3 |INFO4
Hope this will give you some idea as to how the job works. If you still cannot figure out how to do it, then post the details
1. what is the LRECL of all the files.
2. What is the position of KEY, format and length in all the files
3. what is the position of info, format and length in all fields.
Once I have the details then I will post the solution.
ALL MY INPUT RECS ARE 80 BYTE LONG.
COLUMN 1-13 IS KEY FIELD
OTHER THAN KEY FIELD IN EACH TYPE OF FILE
FIRST FILE I NEED 14 THRU 31
SECOND FILE I NEED 14 THRU 37
THIRD FILE I NEED 14 THRU 21
FOURTH FILE I NEED 14 THRU 59.
FIRST THREE FILES GET PROCESSED FINE.
BUT IN DFSMSG I GET AN ERROR THAT FOURTH FILE OUTREC IS OUT OF RANGE. I DONT KNOW WHERE I AM
MAKING THE MISTAKE.
DFSMSG MESSAGE IS BELOW
Code:
SYNCSORT 3.7DNI TPF3A US PATENTS: 4210961,5117495, OTHER PAT. PEND. (C) 1998 S
z/OS 1.2.0 CPU MODEL 9672
CTL1CNTL :
OUTFIL FNAMES=T1,OUTREC=(1,31,24Z,8Z,46Z,2Z)
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=IN1,SORTDD=CTL1,COPY
WER428I CALLER-PROVIDED IDENTIFIER IS "0001"
WER108I IN1 : RECFM=FB ; LRECL= 80; BLKSIZE= 16000
WER110I T1 : RECFM=FB ; LRECL= 111; BLKSIZE= 27972
WER405I T1 : DATA RECORDS OUT 42; TOTAL RECORDS OUT 42
WER054I RCD IN 42, OUT 42
WER169I RELEASE 3.7D BATCH 0366 TPF LEVEL 3A
WER052I END SYNCSORT - JUMSB4Y1,PSTEP01,,DIAG=A600,370C,484A,E026,A64A,260D,48
SYNCSORT 3.7DNI TPF3A US PATENTS: 4210961,5117495, OTHER PAT. PEND. (C) 1998 S
z/OS 1.2.0 CPU MODEL 9672
CTL2CNTL :
OUTFIL FNAMES=T2,OUTREC=(1,13,18Z,32,24,8Z,46Z,2Z)
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=IN2,SORTDD=CTL2,COPY
WER428I CALLER-PROVIDED IDENTIFIER IS "0002"
WER108I IN2 : RECFM=FB ; LRECL= 80; BLKSIZE= 16000
WER110I T2 : RECFM=FB ; LRECL= 111; BLKSIZE= 27972
WER405I T2 : DATA RECORDS OUT 56; TOTAL RECORDS OUT 56
WER054I RCD IN 56, OUT 56
WER169I RELEASE 3.7D BATCH 0366 TPF LEVEL 3A
WER052I END SYNCSORT - JUMSB4Y1,PSTEP01,,DIAG=C800,1D86,224A,680C,C84A,0C87,22
SYNCSORT 3.7DNI TPF3A US PATENTS: 4210961,5117495, OTHER PAT. PEND. (C) 1998 S
z/OS 1.2.0 CPU MODEL 9672
CTL3CNTL :
OUTFIL FNAMES=T3,OUTREC=(1,13,18Z,24Z,56,8,46Z,2Z)
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=IN3,SORTDD=CTL3,COPY
WER428I CALLER-PROVIDED IDENTIFIER IS "0003"
WER108I IN3 : RECFM=FB ; LRECL= 80; BLKSIZE= 16000
WER110I T3 : RECFM=FB ; LRECL= 111; BLKSIZE= 27972
WER405I T3 : DATA RECORDS OUT 42; TOTAL RECORDS OUT 42
WER054I RCD IN 42, OUT 42
WER169I RELEASE 3.7D BATCH 0366 TPF LEVEL 3A
WER052I END SYNCSORT - JUMSB4Y1,PSTEP01,,DIAG=8600,1780,684A,6C06,864A,0681,6
SYNCSORT 3.7DNI TPF3A US PATENTS: 4210961,5117495, OTHER PAT. PEND. (C) 1998
z/OS 1.2.0 CPU MODEL 9672
CTL4CNTL :
OUTFIL FNAMES=T4,OUTREC=(1,13,18Z,24Z,8Z,64,46,2Z)
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=IN4,SORTDD=CTL4,COPY
WER428I CALLER-PROVIDED IDENTIFIER IS "0004"
WER164B 13,996K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 6,120K BYTES USED
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER108I IN4 : RECFM=FB ; LRECL= 80; BLKSIZE= 16000
WER230A T4 OUTREC FIELD OUTSIDE RANGE
oK i THINK I FIGURED OUT THE PREVIOUS PROBLEM, 64,46 IS OVER 80 SO I CHANGED IT TO RIGHT CO ORDINATES 14,46.
nOW I GET THIS ERROR IN DFSMSG , HELP NEEDED.
Code:
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=CON,SORTDD=CTL5,DYNALLOC
WER038I WARNING: SYNCSORT MVS IS NOT CERTIFIED TO RUN ON Z/OS. CONTACT SYNC
WER428I CALLER-PROVIDED IDENTIFIER IS "0005"
WER164B 29,724K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 6,120K BYTES USED
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER188A CON IS D.A./DSCB NOT FOUND/OBTAIN FAILED
WER108I CON : RECFM= ; LRECL= ; BLKSIZE=
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Thu Oct 07, 2004 12:45 pm Post subject:
vivek,
The fourth copy(CTL4CNTL) statement is trying copy fields from pos 64 for a length of 46 bytes. Since your input file is only 80 bytes it is out of range. I guess that 64 is a typo, it should 14.
CTL5CNTL :
OPTION EQUALS
SORT FIELDS=(1,13,CH,A)
SUM FIELDS=(14,8,22,8,30,8,38,8,46,8,54,8,62,8,70,
8,78,8,86,8,94,8,102,8 ),FORMAT=BI
OUTFIL FNAMES=OUT
PARMLIST :
OPTION RESINV=0,ARESINV=0,MSGDDN=DFSMSG,SORTIN=CON,SORTDD=CTL5,DYNALLOC
WER038I WARNING: SYNCSORT MVS IS NOT CERTIFIED TO RUN ON Z/OS. CONTACT SYNCSOR
WER428I CALLER-PROVIDED IDENTIFIER IS "0005"
WER164B 29,724K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 6,120K BYTES USED
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER188A CON IS D.A./DSCB NOT FOUND/OBTAIN FAILED
WER108I CON : RECFM= ; LRECL= ; BLKSIZE=
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
Posted: Thu Oct 07, 2004 2:55 pm Post subject:
Vivek,
since you have given file names to the DD names T1 -T4 you need to give the same names in the concatenation list also. Change your CON to the following and re-run the job
Kolusu i get a return code S213 . i think it is not finding the dataset in the volume serial . anyway to fix this ?
Code:
EF237I 1146 ALLOCATED TO ARCHIVE#
DR326** RESTORE ENDED WITH NO DATA SET SELECTED
DR316** RECALL DID NOT FIND REQUESTED DSN/DSG=SYS04281.T171608.RA000.JUMSB4Y1.
EF285I FDRABR.ARCHIVE KEPT
EF285I VOL SER NOS= SYSVOL.
EC143I 213-04,IFG0194D,JUMSB4Y1,PSTEP01,CON-0003,2154,WORK37,SYS04281.T171608.
ER999A JUMSB4Y1, ,PSTEP01 - UNSUCCESSFUL SORT 213 S REASON=00000004
EA995I SYMPTOM DUMP OUTPUT
YSTEM COMPLETION CODE=213 REASON CODE=00000004
TIME=17.16.12 SEQ=03971 CPU=0000 ASID=007C
PSW AT TIME OF ERROR 075C1000 80E763C2 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
The Temporary files are allocated as &&CASSTAT, &&CHARGES, &&CHADIS and &&PARTY but look at the concatenation for DD CON below. You reference these files as &T1, &T2, &T3 and &T4. change them back to &&CASSTAT, &&CHARGES etc... and run your jcl.
Cut & Paste Error. I think you copied kolusu's JCL when he pointed out that you need to use CON DD. But he created the temp files as &T1, &T2 etc...but yours are different.
All times are GMT - 5 Hours Goto page Previous1, 2, 3, 4Next
Page 3 of 4
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