I have a File that has duplicate records. I need only those
records that occur more than thrice.
Answers were Sorted based on User's Feedback
Answer / pradip anand
//USERIDR JOB (M,92950000,,9999),'N=TSO.ICETOOL',MSGCLASS=M,
// CLASS=M,NOTIFY=USERID
//*
//STEP001 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//*
//SORTIN DD DSN=INPUT.FILE1,DISP=SHR
// DD DSN=INPUT.FILE2,DISP=SHR
//*
//EQDUPES DD DSN=OUTPUT.FILE.REC,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// DCB=(LRECL=200,RECFM=FB,BLKSIZE=0,DSORG=PS),
// SPACE=(CYL,(30,30),RLSE)
//TOOLIN DD
*
SELECT FROM(SORTIN) TO(EQDUPES) -
ON(4,4,CH) EQUAL(N)
/*
Example:
Input File1:
000 1111 12356908
001 1212 54321234
002 1323 78654323
003 5656 98765456
Input File2:
000 1000 12356908
001 1212 99999999
002 1323 77777777
003 5656 88888888
Output File:
When EQUAL(1)
000 1000 12356908
000 1111 12356908
When EQUAL(2)
001 1212 54321234
001 1212 99999999
002 1323 78654323
002 1323 77777777
003 5656 98765456
003 5656 88888888
mail me if still have any doubt.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / brian
Sort the file in ascending order of your duplicated fields.
You can write a COBOL module to read the file sequentially.
Set up a dup-counter in Working Storage. Set up a group of
fields in Working Storage to hold duplicated fields. They
should be similar to what you are sorting on. Save each
records read fields after reading it. When you read the
current record compare it to the saved fields. If they
match add to your dup-counter. If they don't match zero
out your counter. After adding to your counter check the
value. If > 1 you have a 3rd duplicate. Write that record
to a duplicate output file. Hope I'm close to getting you
an answer.
| Is This Answer Correct ? | 3 Yes | 1 No |
wht do u mean by internal reader in jcl ? wht is the use of internal reader ?
what is the Difference between SYSIN and PARM ?
Mention the types of job control statements?
1) Is CLASS used for assigning Priority (as we say a job having class '6' will run before the job having class '5'? then what is the difference between CLASS and PRTY ? 2) In a same JCL, 2 JOB statements with different Classes and NO PRTY are submitted ? which will run first ? & with different classes and different PRTY also, which will run first now ?
what is DSN in JCL and what are the parameters to declare the DSN?
How does jcl act on a cobol code?
what sort card you will use to copy the data from one dataset to another dataset?
How to do automated restart when a job abend?
Explain the jcl exec statement?
Can we use DISP=SHR in output file in JCL
In job processing, what happens in execution stage?
how JCL works?