View previous topic :: View next topic
|
Author |
Message |
Valli Vaithilingam
New User
Joined: 13 Oct 2009 Posts: 11 Location: India
|
|
|
|
Hi ,
Please help me out in coding this ,using DFSORT / ICETOOL.
My I/P file:
Attachment : Input
Code: |
Name Addr Phone F1 F2 F3
AAA BBB 111 Y
CCC DDD 222 Y
EEE FFF 333 Y
GGG HHH 444 Y
III JJJ 555 Y
|
My O/p file should be a single report file which should have:
Attachment : Output
Code: |
Header : F1 =Y
Name Addr Phone
AAA BBB 111
Trailer : Count =1
Header : F2 =Y
Name Addr Phone
CCC DDD 222
GGG HHH 444
Trailer : Count =2
Header : F3 =Y
Name Addr Phone
EEE FFF 333
III JJJ 555
Trailer : Count =2
|
Attachments imbedded and deleted. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Please DO NOT use attachments as not everyone can open, or choose to open them.
This limits the number of people available to help you. |
|
Back to top |
|
|
Escapa
Senior Member
Joined: 16 Feb 2007 Posts: 1399 Location: IL, USA
|
|
|
|
Input:
Field names are
Name Addr Phone F1 F2 F3
Data in the file is
Code: |
AAA BBB 111 Y
CCC DDD 222 Y
EEE FFF 333 Y
GGG HHH 444 Y
III JJJ 555 Y
|
Output:
Code: |
Header : F1 =Y
Name Addr Phone
AAA BBB 111
Trailer : Count =1
|
Code: |
Header : F2 =Y
Name Addr Phone
CCC DDD 222
GGG HHH 444
Trailer : Count =2
|
Code: |
Header : F3 =Y
Name Addr Phone
EEE FFF 333
III JJJ 555
Trailer : Count =2
|
Your input and required output is as above...
What is lrecl and recfm of the files? |
|
Back to top |
|
|
Escapa
Senior Member
Joined: 16 Feb 2007 Posts: 1399 Location: IL, USA
|
|
|
|
Change the fields positions(positions of Y or values at header) if required.
Code: |
//S1 EXEC PGM=SORT
//SORTIN DD *
AAA BBB 111 Y
CCC DDD 222 Y
EEE FFF 333 Y
GGG HHH 444 Y
III JJJ 555 Y
//F1 DD SYSOUT=*
//F2 DD SYSOUT=*
//F3 DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=F1,REMOVECC,INCLUDE=(19,1,CH,EQ,C'Y'),
BUILD=(1,15,80:X),
HEADER1=('HEADER : F1 =Y',/,'NAME ADDR PHONE'),
TRAILER1=('TRAILER : COUNT =',COUNT=(M11,LENGTH=6))
OUTFIL FNAMES=F2,REMOVECC,INCLUDE=(21,1,CH,EQ,C'Y'),
BUILD=(1,15,80:X),
HEADER1=('HEADER : F2 =Y',/,'NAME ADDR PHONE'),
TRAILER1=('TRAILER : COUNT =',COUNT=(M11,LENGTH=6))
OUTFIL FNAMES=F3,REMOVECC,INCLUDE=(23,1,CH,EQ,C'Y'),
BUILD=(1,15,80:X),
HEADER1=('HEADER : F3 =Y',/,'NAME ADDR PHONE'),
TRAILER1=('TRAILER : COUNT =',COUNT=(M11,LENGTH=6))
/*
|
|
|
Back to top |
|
|
Valli Vaithilingam
New User
Joined: 13 Oct 2009 Posts: 11 Location: India
|
|
|
|
@ Expat : Going forward , I shall avoid using attachments.
@ Sambhaji : Thanks . But my o/p file should be a single report file not 3 different files . |
|
Back to top |
|
|
Escapa
Senior Member
Joined: 16 Feb 2007 Posts: 1399 Location: IL, USA
|
|
|
|
Valli Vaithilingam wrote: |
@ Sambhaji : Thanks . But my o/p file should be a single report file not 3 different files . |
Use below sort step
Code: |
//S1 EXEC PGM=SORT
//SORTIN DD *
AAA BBB 111 Y
CCC DDD 222 Y
EEE FFF 333 Y
GGG HHH 444 Y
III JJJ 555 Y
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(81,1,CH,A)
INREC IFTHEN=(WHEN=(19,1,CH,EQ,C'Y'),OVERLAY=(81:C'1')),
IFTHEN=(WHEN=(21,1,CH,EQ,C'Y'),OVERLAY=(81:C'2')),
IFTHEN=(WHEN=(23,1,CH,EQ,C'Y'),OVERLAY=(81:C'3'))
OUTFIL REMOVECC,SECTIONS=(81,1,
HEADER3=('HEADER : F',81,1,' =Y',/,'NAME ADDR PHONE'),
TRAILER3=('TRAILER : COUNT =',COUNT=(M11,LENGTH=6))),
BUILD=(1,15,80:X)
|
|
|
Back to top |
|
|
Valli Vaithilingam
New User
Joined: 13 Oct 2009 Posts: 11 Location: India
|
|
|
|
Thanks a lot , Sambhaji .
Its working fine . |
|
Back to top |
|
|
|
|