|
|
| Author |
Message |
ksreddy
New User
Joined: 30 Mar 2005 Posts: 13 Location: Hyderabad
|
|
|
|
Hi everybody,
I have a file whose attributes are PS, LRECL=80,FB
Based on the first four characters I need to copy the record to four output files. (Which have same attributes as input file)
Ex: if first four characters are 1010,this record should be copied to
Output file1,
If first four characters are 1020,this record should be copied to
Output file2 like wise I need to copy to four files
I can do it by outfil fnames & include cond
But if we code outfil & include all records which satisfy above condition will be copied but I want the each output files to contain maximum 100 records bcoz I need sample data not the entire records |
|
| Back to top |
|
 |
References
|
|
 |
Frank Yaeger
DFSORT Moderator
Joined: 15 Feb 2005 Posts: 4684 Location: San Jose, CA
|
|
|
|
Here's a DFSORT job that will do what you asked for. You'll need z/OS DFSORT V1R5 PTF UQ95214 or DFSORT R14 PTF UQ95213 (Dec, 2004) in order to use DFSORT's IFTHEN and OVERLAY functions. Only DFSORT has these functions, so if you don't have DFSORT, you won't be able to use them. If you do have DFSORT, but you don't have the Dec, 2004 PTF, ask your System Programmer to install it (it's free). For complete details on all of the new DFSORT and ICETOOL functions available with the Dec, 2004 PTF, see:
www.ibm.com/servers/storage/support/software/sort/mvs/pdug/
| Code: |
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (FB/80)
//OUT1 DD DSN=... output file1 (FB/80)
//OUT2 DD DSN=... output file2 (FB/80)
//OUT3 DD DSN=... output file3 (FB/80)
//OUT4 DD DSN=... output file4 (FB/80)
//SYSIN DD *
OPTION COPY
INREC IFTHEN=(WHEN=(1,4,CH,EQ,C'1010'),OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,4,CH,EQ,C'1020'),OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,4,CH,EQ,C'1030'),OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,4,CH,EQ,C'1040'),OVERLAY=(81:SEQNUM,8,ZD))
OUTFIL FNAMES=OUT1,
INCLUDE=(1,4,CH,EQ,C'1010',AND,81,8,ZD,LE,+100),
BUILD=(1,80)
OUTFIL FNAMES=OUT2,
INCLUDE=(1,4,CH,EQ,C'1020',AND,81,8,ZD,LE,+100),
BUILD=(1,80)
OUTFIL FNAMES=OUT3,
INCLUDE=(1,4,CH,EQ,C'1030',AND,81,8,ZD,LE,+100),
BUILD=(1,80)
OUTFIL FNAMES=OUT4,
INCLUDE=(1,4,CH,EQ,C'1040',AND,81,8,ZD,LE,+100),
BUILD=(1,80)
/*
|
|
|
| Back to top |
|
 |
ksreddy
New User
Joined: 30 Mar 2005 Posts: 13 Location: Hyderabad
|
|
|
|
Thanks Frank, But we don't have DFSORT, i forgot to post this.
Could you please give another solution which works in SYNCSORT |
|
| Back to top |
|
 |
Frank Yaeger
DFSORT Moderator
Joined: 15 Feb 2005 Posts: 4684 Location: San Jose, CA
|
|
|
|
| I'm a DFSORT developer. DFSORT and Syncsort are competitive products. I'm happy to answer questions on DFSORT and DFSORT's ICETOOL, but I don't answer questions on Syncsort. |
|
| Back to top |
|
 |
|
|
|