View previous topic :: View next topic
|
Author |
Message |
vijikesavan
Active User
Joined: 04 Oct 2006 Posts: 118 Location: NJ, USA
|
|
|
|
Hi,
I have a input file like this: ID, Desc, Amt
Code: |
1111111 ABCDEFGH 100.00
1111111 TSGTWGYW 40.00
1111111 ABCDEFGH 20.00
2222222 TRYUONKP 450.00
2222222 ABCDEFGH 450.00
3333333 ERTGYUER 135.00
4444444 WGJRJYJJ 426.99
4444444 SJRJJEJJ 266.00
1111111 ERTFGYEA 20.00
2222222 TRYUONKP 450.00 |
Requirement is to have the records from input which has more than 2 occurence of ID (first 7 bytes)
1) I used VALCNT to get the number of occurrences. Worked fine.
Toolin:
Code: |
OCCUR FROM(IN1) LIST(TMP1) BLANK HIGHER(2) -
ON(1,7,CH) ON(VALCNT)
COPY FROM(TMP1) TO(OUT) |
Output:
Code: |
1(1,7,CH) VALUE COUNT
1111111 4
2222222 3 |
2) Now I need the records of these IDS from the input file. How to get those?
Expected output:
Code: |
1111111 ABCDEFGH 100.00
1111111 TSGTWGYW 40.00
1111111 ABCDEFGH 20.00
1111111 ERTFGYEYH 20.00
2222222 TRYUONKP 450.00
2222222 ABCDEFGH 450.00
2222222 TRYUONKP 450.00 |
Any pointers will be of great help.
Thanks, |
|
Back to top |
|
|
sqlcode1
Active Member
Joined: 08 Apr 2010 Posts: 577 Location: USA
|
|
|
|
vijikesavan,
Use SELECT ...
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
1111111 ABCDEFGH 100.00
1111111 TSGTWGYW 40.00
1111111 ABCDEFGH 20.00
2222222 TRYUONKP 450.00
2222222 ABCDEFGH 450.00
3333333 ERTGYUER 135.00
4444444 WGJRJYJJ 426.99
4444444 SJRJJEJJ 266.00
1111111 ERTFGYEA 20.00
2222222 TRYUONKP 450.00
//OUT DD SYSOUT=*
//TOOLIN DD *
SELECT FROM(IN) TO(OUT) ON(1,07,CH) HIGHER(2)
/* |
OUTPUT
Code: |
1111111 ABCDEFGH 100.00
1111111 TSGTWGYW 40.00
1111111 ABCDEFGH 20.00
1111111 ERTFGYEA 20.00
2222222 TRYUONKP 450.00
2222222 ABCDEFGH 450.00
2222222 TRYUONKP 450.00
|
Thanks, |
|
Back to top |
|
|
vijikesavan
Active User
Joined: 04 Oct 2006 Posts: 118 Location: NJ, USA
|
|
|
|
Thanks a lot. It worked fine:)
So simple, I cudn't think of it imdlty:) |
|
Back to top |
|
|
|