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 |
Hi, all suppose i have 5 steps (S1,S2,S3,S4,S5) what will happen if cond is true or false (which of the other steps get executed)? 1) //s3 exec pgm=abc,cond=(0,le) 2) //s3 exec pgm=abc,cond=(0,le,step2) 3) In the jobcord RESTART=step3,cond=(0,le) 4) can i code COND=TRUE in jobcard, if yes what will happen?
I found in one of the jcl, gdg version being mentioned as : abc.def.ghi(-0) Can anyone tell me how referring the version as (-0) is different from referring it as (0)
what is the purpose of coding notify parameter in job statement?
What are the parameters that are used in creating a gdg?
I have a cobol db2 program(PGM A) where other program (PGM B) will call this program and passes some 50 fields data to PGM A. PGM A has some layout in which it receives the data from PGM B. And this layout has been copied in the linkage section pf PGM A. After getting the data, PGM A writes the data in a flat file in the same layout which it receives from PGM B. PGM B is a simple COBOL pgm. Please provide a JCL to run these programs.
I have 15 flat files. each record in the files have the monthly salary for 12 months with the employee number. Now I want to concatenate the 15 files such that for the employee numbers that are common the o/p file should have only one record and the salaries should be concatenated to that record. How can we do it with JCL?
I had Records in file Like this Company Code IBM 2 IBM 1 IBM 4 WIPRO 3 WIPRO 2 WIPRO 9 TCS 4 TCS 6 TCS 3 i want the record of every company with highest code How can i do that?
Explain how can the disposition of sysout datasets be set for an entire jobstream?
What is NOTCAT 2
ihave ten flatfile in that iwant to concatinate all the files except file 5,6 into output file by uing jcl? how to do this? give me detail yntax for tis?
which parameter is use to declare the name of dataset in dd statement?
What is the purpose of dd?