View previous topic :: View next topic
Author
Message
tarun_bhardwaj New User Joined: 18 Jul 2003Posts: 39 Location: delhi
Hi All,
I have a fixed block file with a record length of 680. I need to break each record into a sub record and write each subrecord to a new line in the output file.
Position Length
1 46
47 43
90 45
135 44
179 44
223 41
264 29
293 28
Iam using the following JCL:
Code:
//PS005 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=PRD.TYB.DMTMO.LOAD,DISP=SHR
//SORTOUT DD DSN=PRD.TYB.DMTMO.LOAD.SORT,
// DISP=(,CATLG,DELETE),
// MGMTCLAS=STANDARD,STORCLAS=BASE,
// AVGREC=K,SPACE=(10,(1,200),RLSE),
// RECFM=FB
//SORTOUT1 DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
INCLUDE COND=NONE
OUTFIL OUTREC=(1,46,/,47,43,/,90,45,/,135,44,/,179,44,/,223,41,
/,264,29,/,293,28)
END
/*
Iam getting the following error:
Code:
SYNCSORT LICENSED FOR CPU SERIAL NUMBER 9FFE7, MODEL 2341 O13 LICEN
SYSIN :
SORT FIELDS=COPY
INCLUDE COND=NONE
OUTFIL OUTREC=(1,46,/,47,43,/,90,45,/,135,44,/,179,44,/,223,41,
/,264,29,/,293,28)
END
WER276B SYSDIAG= 561182, 986110, 986110, 455298
WER164B 8,876K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES RESERVE REQUESTED, 1,004K BYTES USED
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER108I SORTIN : RECFM=FB ; LRECL= 680; BLKSIZE= 6800
WER110I SORTOUT : RECFM=FB ; LRECL= 680; BLKSIZE= 27880
WER247A SORTOUT HAS INCOMPATIBLE LRECL
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
Iam unable to figure out the problem with LRECL. Request you to kindly help me out with this.
Thanks in advance !
Back to top
dbzTHEdinosauer Global Moderator Joined: 20 Oct 2006Posts: 6966 Location: porcelain throne
could be that you need to define your SORTOUT as a variable record dataset.
or build your records so that they are all the same length.
Back to top
Alissa Margulies SYNCSORT Support Joined: 25 Jul 2007Posts: 496 Location: USA
tarun_bhardwaj ,
It appears that your SORTOUT data set (PRD.TYB.DMTMO.LOAD.SORT) is allocated with LRECL=680, but your OUTFIL statement creates a file with LRECL=46. You either need to allocate the SORTOUT data set with LRECL=46 or modify the OUTFIL statement to pad the record as follows:
Code:
OUTFIL OUTREC=(1,46,680:X,/,47,43,/,90,45,/,135,44,/,179,44,/,223,41,
/,264,29,/,293,28)
Just out of curiosity, why are you coding INCLUDE COND=NONE?
And why do you have a SORTOUT1 DD coded?
If you are still encountering a problem, please identify which release of SyncSort are you running?
Back to top
tarun_bhardwaj New User Joined: 18 Jul 2003Posts: 39 Location: delhi
Thanks for your suggestions. Both the solutions worked fine for me after I removed the INCLUDE COND parameter.
Thanks again !
Back to top
Please enable JavaScript!