KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
The input file have records as: 8712351,8712353,8712353,8712354,8712356,8712352,8712355 8712352,8712355 Using COBOL , I need to remove duplicates from the above file and write to an output file. I wrote simple logic to read records and write to an output file. Where do I need to put the logic of removing duplicates (say, 8712353, 8712352) from the above file? Here is the program logic: IDENTIFICATION DIVISION. PROGRAM-ID.RemoveDup. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INPUTFILEDUP ASSIGN TO 'C:\Cobol\INPUTFILEDUP.txt' ORGANIZATION IS LINE SEQUENTIAL. SELECT OUTFILEDUP ASSIGN TO 'C:\Cobol\OUTFILEDUP.txt' ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD INPUTFILEDUP. 01 INPUTFILEDUPREC. 88 EOFINPUTFILEDUP VALUE HIGH-VALUES. 02 INPUTFILEID PIC 9(07). FD OUTFILEDUP. 01 OUTFILEDUPREC PIC 9(07). WORKING-STORAGE SECTION. 77 WS-VARIABLE PIC 9(09). 77 REC-NOT-MATCH PIC 9(01). 77 CUR-VARIABLE PIC 9(09). PROCEDURE DIVISION. BEGIN. OPEN INPUT INPUTFILEDUP OPEN OUTPUT OUTFILEDUP READ INPUTFILEDUP AT END SET EOFINPUTFILEDUP TO TRUE END-READ PERFORM UNTIL (EOFINPUTFILEDUP) WRITE OUTFILEDUPREC FROM INPUTFILEID READ INPUTFILEDUP AT END SET EOFINPUTFILEDUP TO TRUE PERFORM UNTIL (EOFINPUTFILEDUP) END-READ END-PERFORM CLOSE INPUTFILEDUP CLOSE OUTFILEDUP STOP RUN. I sorted the tnput file in ascending order as: 8712351,8712353,8712353,8712354,8712356,8712352,8712355,8712352,8712355 And it worked, and below is the modified code: But suppose if my file is not in either ascending or des
Tags (comma-separated)
Save Edits
Cancel