View previous topic :: View next topic |
Author |
Message |
yrcreddy Beginner
Joined: 28 Dec 2005 Posts: 27 Topics: 12
|
Posted: Wed Aug 23, 2006 5:13 am Post subject: Retain the duplicate records with out using XSUM feture |
|
|
Hi,
I am trying to retain the duplicate records into seperate file.
In our shop we have DFSORT.I used SUM FIELDS=NONE,XSUM to get the duplicate records in to seperate file.But i am getting the followign error
Code: |
SUM FIELDS=NONE,XSUM
$
ICE172A E XSUM IS NOT SUPPORTED - USE ICETOOL SELECT IF APPROPRIATE |
Then i came to know my DFSORT version is not supporting the XSUM feture.
Can you please help me how to do to get the duplicates into seperate file.
My JCL is as follow:
Code: |
//STEP001 EXEC PGM=SORT
//SORTIN DD *
AAAAAAA 111111111
CCCCCC 333333333
AAAAAAA 111111111
XXXXXXX 444444444
YYYYYYYY 555555555
CCCCCC 333333333
YYYYYYYY 555555555
HHHHHHH 777777777
/*
//SORTOUT DD SYSOUT=*
//SORTXSUM DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(10,9,CH,A)
SUM FIELDS=NONE,XSUM
/*
|
_________________ Thanks,
Ramachandra Reddy |
|
Back to top |
|
|
vivek1983 Intermediate
Joined: 20 Apr 2006 Posts: 222 Topics: 24
|
|
Back to top |
|
|
yrcreddy Beginner
Joined: 28 Dec 2005 Posts: 27 Topics: 12
|
Posted: Wed Aug 23, 2006 6:04 am Post subject: |
|
|
Thank you vivek. _________________ Thanks,
Ramachandra Reddy |
|
Back to top |
|
|
Frank Yaeger Sort Forum Moderator
Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
|
Posted: Wed Aug 23, 2006 10:26 am Post subject: |
|
|
Sometimes I wonder why we bother to provide documentation for messages.
You received the following DFSORT message:
ICE172A E XSUM IS NOT SUPPORTED - USE ICETOOL SELECT IF APPROPRIATE
All of the DFSORT message documentation is available online from:
www.ibm.com/servers/storage/support/software/sort/mvs/srtmpub.html
In addition, you can look up DFSORT messages with IBM's LookAt facility available at:
http://www.ibm.com/servers/eserver/zseries/zos/bkserv/lookat/
Here's the ICE172A message doc you could have easily looked up to find your answer:
ICE172A XSUM IS NOT SUPPORTED - USE ICETOOL SELECT IF APPROPRIATE
Explanation: Critical. XSUM was specified on the SUM statement. DFSORT does not support the XSUM parameter provided by a competitive sort product to write records deleted by SUM processing to a SORTXSUM DD data set.
System Action: The program terminates.
Programmer Response: If you are using SUM FIELDS=NONE with XSUM, you can perform the same function with ICETOOL's SELECT operator. For example, if you are using XSUM as follows:
Code: |
//S1 EXEC PGM= ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=...
//SORTOUT DD DSN=...
//SORTXSUM DD DSN=...
//SYSIN DD *
SORT FIELDS=(5,4,CH,A)
SUM FIELDS=NONE,XSUM
/*
|
You can use this ICETOOL job instead:
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SORTIN DD DSN=...
//SORTOUT DD DSN=...
//SORTXSUM DD DSN=...
//TOOLIN DD *
SELECT FROM(SORTIN) TO(SORTOUT)-
ON(5,4,CH) FIRST DISCARD(SORTXSUM)
/*
|
Related reading: You can also perform additional functions with ICETOOL's SELECT operator that are not available with XSUM. See z/OS DFSORT Application Programming Guide for complete details of ICETOOL's SELECT operator. _________________ Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort |
|
Back to top |
|
|
yrcreddy Beginner
Joined: 28 Dec 2005 Posts: 27 Topics: 12
|
Posted: Thu Aug 24, 2006 5:35 am Post subject: |
|
|
Hi,
I went thru forums but i didn't find any forum that is matching for my requirement.
My JCL is as follow:
Code: |
//STEP001 EXEC PGM=ICETOOL
//*------------------------------
//IN DD *
AAAAA01KKKKKKKK
AAAAA02KKKKKKKK
BBBBB01XXXXXXXX
AAAAA01SSSSSSSS
AAAAA02GGGGGGGG
AAAAA03GGGGGGGG
BBBBB01EEEEEEEE
BBBBB02LLLLLLLL
/*
//OUT DD SYSOUT=*
//DUPS DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLIN DD *
SELECT FROM(IN) TO(OUT) ON(1,7,CH) DISCARD(DUPS) FIRST
/*
|
I want to get the first set of the key rows in one file and remaining records should be into another file.where the input file of the second field is a sequence number.
My desired output data sets are:
OUT:
Code: |
AAAAA01KKKKKKKK
AAAAA02KKKKKKKK
BBBBB01XXXXXXXX
|
DUPS
Code: |
AAAAA01SSSSSSSS
AAAAA02GGGGGGGG
AAAAA03GGGGGGGG
BBBBB01EEEEEEEE
BBBBB02LLLLLLLL
|
Can you please help me how to do thease records. _________________ Thanks,
Ramachandra Reddy |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12372 Topics: 75 Location: San Jose
|
Posted: Thu Aug 24, 2006 7:39 am Post subject: |
|
|
yrcreddy,
Your specs are once again confusing. Be clear as to what the requirement is.
You say you want to pick the first set of the duplicate rows. But your output shown is different.
here is the explanation
Code: |
AAAAA01KKKKKKKK - FIRST(SINCE SEQNUM IS UNIQUE)
AAAAA02KKKKKKKK - FIRST(SINCE SEQNUM IS UNIQUE)
BBBBB01XXXXXXXX - FIRST(SINCE SEQNUM IS UNIQUE)
AAAAA01SSSSSSSS - DUPLICATE RECORD
AAAAA02GGGGGGGG - DUPLICATE RECORD
AAAAA03GGGGGGGG - FIRST(SINCE SEQNUM IS UNIQUE)
BBBBB01EEEEEEEE - DUPLICATE RECORD
BBBBB02LLLLLLLL - FIRST(SINCE SEQNUM IS UNIQUE)
|
Now why didn't you pick these 2 records in your output file?
Code: |
AAAAA03GGGGGGGG
BBBBB02LLLLLLLL
|
Both these records have different seqnum (03 for aaaa record and 02 for bbbb record) . Can you tell us how you classified this as a duplicate?
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
yrcreddy Beginner
Joined: 28 Dec 2005 Posts: 27 Topics: 12
|
Posted: Thu Aug 24, 2006 8:12 am Post subject: |
|
|
Kolusu thanks for your update.
Here i am explaining my requirement.
My input file contains the following records
AAAAA01KKKKKKKK
AAAAA02KKKKKKKK
BBBBB01XXXXXXXX
AAAAA01SSSSSSSS
AAAAA02GGGGGGGG
AAAAA03GGGGGGGG
BBBBB01EEEEEEEE
BBBBB02LLLLLLLL
I need to extract the records based on the values starting from 1 to 7.
If any of the records having 1 to 7 values are repeated morethan once,i want to get the first set of the records.Consider AAAAA records,in the input file AAAAA01 and AAAAA02 are the first set and next set of records are AAAAA01,AAAAA02 and AAAAA03.So,i don't want the second set.this senario is same for remaining.
Can we do this one using any utility.please help me. _________________ Thanks,
Ramachandra Reddy |
|
Back to top |
|
|
|
|