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 |
What is a GDG? How is it referenced? How is it defined? What is a MODELDSCB?
What is the exact difference between PRTY and DPRTY
How is a GDG base created?
There is a procedure in A.B.PROCS(PROC1) (member name is PROC1) //PROCA... There is a call to a procedure PROCA from a JOB. //STEP01 EXEC PROCA ... Here "PROCA" in JOB refers to the actual PROC name or the member name of the PDS where this PROCA is stored.
How can a jobs execution priority be modified?
What are the basic JCL Statements for a Job?
is there any possibilities for sumbitting more than one job in single jcl? if yes...based on which thing they will execute..(priority,class,time,written order..?)
What are s0c1, s0c4, s0c5, s0c7 and socb?
If there are five steps in a JCL i have to execute the 3rd step, bypass the 4th step and execute the 5th step how do i do this?
13 Answers Cognizant, Convergys, IBM, TCS, Wipro,
What is NOTCAT ?
What is concatenating?
I have a job (4 steps) with time parameter coded in job & exec, say time=10 in job & time =3,2,2,4 in each steps. Will the job executes successfully?