Ituriel do Nascimento Neto wrote on 03/13/2009 11:29:37 AM:
> Mr Yaeger,
>
> If possible, i want a copy too.
Well, since you asked, here's the DFSORT/ICETOOL job:
//SPLIT JOB ...
//S1 EXEC PGM=ICETOOL,
//** Dynamically splits LIMCT records contiguously among
//** the needed number of output data sets.
//** Creates OUTFIL statement like this:
//** OUTFIL SPLIT1R=LIMCT,
//** FNAMES=(OUT001,
//** OUT002,
//** ...
//** OUTnnn)
//** Creates output DD statements like this:
//** //OUTnnn DD DSN=OUTDSNnnn,
//** // OUTPARMS
//SYMNAMES DD *
* Set LIMCT to +n where n is the number of records you
* want in each data set.
LIMCT,+15
* Set OUTDSN to 'string' where string is your
* output data set name. nnn (seqnum) will be
* added at the end of OUTDSN.
OUTDSN,'&&OUT'
* Set OUTPARMS to the UNIT, SPACE and DISP parameters you
* want for each output data set.
OUTPARMS,'UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)'
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//*** Insert your input dsn information for the IN DD
//IN DD DSN=Y897797.SPL1RG1,DISP=SHR
//CX DD DSN=&CX,DISP=(,PASS),SPACE=(TRK,(1,1))
//CTL3CNTL DD DSN=&C3,DISP=(,PASS),SPACE=(TRK,(1,1))
//T1 DD DSN=&T1,DISP=(,PASS),SPACE=(TRK,(1,1))
//C1 DD DSN=&C1,DISP=(,PASS),SPACE=(TRK,(1,1))
//D1 DD DSN=&D1,DISP=(,PASS),SPACE=(TRK,(1,1))
//TOOLIN DD *
COPY FROM(IN) USING(CTL1),
COPY FROM(CX) USING(CTL2),
COPY FROM(CX) USING(CTL3),
COPY FROM(T1) USING(CTL4),
/*
//CTL1CNTL DD *
OUTFIL FNAMES=CX,NODETAIL,REMOVECC,
TRAILER1=(COUNT=(TO=ZD,LENGTH=8))
//CTL2CNTL DD *
INREC BUILD=((1,8,ZD,ADD,(LIMCT,SUB,+1)),DIV,LIMCT,
TO=ZD,LENGTH=3)
OUTFIL FNAMES=CTL3CNTL,
BUILD=(C' OUTFIL FNAMES=T1,REPEAT=',1,3,C',',/,
C' BUILD=(SEQNUM,3,ZD,C''',1,3,C'''',,
C',LIMCT,TO=ZD,LENGTH=8)',80:X),
//CTL4CNTL DD *
OUTFIL FNAMES=C1,REMOVECC,
HEADER1=(C' OUTFIL SPLIT1R=',7,8,C','),,
IFTHEN=(WHEN=INIT,BUILD=(1,6,13:C'OUT',1,3,C',',80:X)),:
IFTHEN=(WHEN=(1,3,ZD,EQ,+1),OVERLAY=(1:4X,5:C'FNAMES=(')),
IFTHEN=(WHEN=(1,3,ZD,EQ,4,3,ZD),OVERLAY=(1:6X,19:C')')),),
IFTHEN=(WHEN=NONE,OVERLAY=(1:6X))
OUTFIL FNAMES=D1,REMOVECC,
BUILD=(C'//OUT',1,3,C' DD DSN=',OUTDSN,1,3,C',',/,
C'// ',OUTPARMS,80:X)
/*
//*
//S2 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
//SORTOUT DD SYSOUT=(A,INTRDR))
//*** Insert your job information for the USERIDA JOB card,),
//SORTIN DD DATA,DLM=$$
//USERIDA JOB (DA26,005,098,J69),'FL YAEGER',CLASS=A,
// MSGCLASS=H,USER=Y897797,MSGLEVEL=(1,1),TIME=(,15),NOTIFY=Y897797
//JOBLIB DD DSN=SORTST1.REPTF.SICELINK,DISP=SHR
// DD DSN=SORTST1.REPTF.SORTLPA,DISP=SHR
//SPLIT EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//*** Insert your input dsn information for the SORTIN DD
//SORTIN DD DSN=Y897797.SPL1RG1,DISP=SHR
//SYSIN DD *
SORT FIELDS=COPY
$$
// DD DSN=&C1,DISP=(OLD,PASS)
// DD DSN=&D1,DISP=(OLD,PASS)
//*
Frank Yaeger - DFSORT Development Team (IBM) - [email protected]
Specialties: FINDREP, WHEN=GROUP, DATASORT, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html