View previous topic :: View next topic
Author
Message
Jason Philip New User Joined: 19 May 2007Posts: 5 Location: Toronto, Ontario
I have a VB dataset I want to sort into FB using OUTREC= .
However I get the following error:
ICE043A K INVALID DATA SET ATTRIBUTES SPECIFIED SORTOUT RECFM
Here is the exact JCL (notice the output should be comprise of 6 + 3 + 77 = 86 bytes) :
Code:
//SORT EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DISP=SHR,DSN=TCCV.GBL9.PVT
//SORTOUT DD DSN=TCCV.GBL9.PVT.SORT,DISP=(,CATLG,CATLG),
// UNIT=DISK,SPACE=(CYL,(99,99),RLSE),
// DCB=(RECFM=FB,LRECL=86,BLKSIZE=8600)
//SYSOUT DD SYSOUT=*
//TOOLIN DD *
SORT FROM(IN) TO(SORTOUT) USING(INCL)
//INCLCNTL DD *
INCLUDE COND=(074,003,CH,EQ,C'MTC',OR,
074,003,CH,EQ,C'HOF',OR,
074,003,CH,EQ,C'PRV')
SORT FIELDS=(074,003,CH,A)
OUTREC FIELDS=(074,006,318,003,328,077)
//
"Code"ed for readability. . .
Back to top
dick scherrer Moderator Emeritus Joined: 23 Nov 2006Posts: 19244 Location: Inside the Matrix
Back to top
Frank Yaeger DFSORT Developer Joined: 15 Feb 2005Posts: 7129 Location: San Jose, CA
Jason,
Here's a DFSORT/ICETOOL job that will do what you asked for. I assumed you counted the RDW in positions 1-4 when determining your starting positions (the first data byte starts in position 5 for a VB record). If not, then increase each starting position by 4 (e.g. 74+4 = 78).
Code:
//SORT EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=&&IN,DISP=(OLD,PASS)
//SORTOUT DD DSN=&&O1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS),
// DCB=(RECFM=FB,LRECL=86,BLKSIZE=8600)
//TOOLIN DD *
SORT FROM(IN) USING(INCL)
/*
//INCLCNTL DD *
INCLUDE COND=(074,003,CH,EQ,C'MTC',OR,
074,003,CH,EQ,C'HOF',OR,
074,003,CH,EQ,C'PRV')
SORT FIELDS=(074,003,CH,A)
OUTFIL FNAMES=SORTOUT,VTOF,
BUILD=(74,6,318,3,328,77)
/*
Back to top
Please enable JavaScript!