You are on page 1of 2

IDENTIFICATION DIVISION.

PROGRAM-ID. DUPELIM.

*
* IT ELIMINATES DUPLICATE RECORDS.
* NOTE: SORT THE FILE ON ENTIRE RECORD BEFORE YOU SUPPLY AS INPUT.
*

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.

SELECT SALES-IN ASSIGN TO SALESIN.


SELECT SALES-OUT ASSIGN TO SALESOUT.

DATA DIVISION.
FILE SECTION.

FD SALES-IN.
01 IN-REC.
05 IN-AGENT-ID PIC X(02).
05 IN-SALES-DATE PIC X(08).
05 IN-PROD PIC X(02).
05 IN-QTY PIC 9(04).

FD SALES-OUT.
01 OUT-REC.
05 OUT-AGENT-ID PIC X(02).
05 OUT-SALES-DATE PIC X(08).
05 OUT-PROD PIC X(02).
05 OUT-QTY PIC 9(04).

WORKING-STORAGE SECTION.
01 WS-EOF PIC X(1) VALUE 'N'.
01 WS-PREV-REC PIC X(16) VALUE SPACES.

PROCEDURE DIVISION.
000000-MAINLINE.

PERFORM 100000-INITIALIZATION THRU 100000-EXIT.


PERFORM 200000-PROCESS THRU 200000-EXIT
UNTIL WS-EOF = 'Y'.
PERFORM 300000-TERMINATION THRU 300000-EXIT.
STOP RUN.

100000-INITIALIZATION.

OPEN INPUT SALES-IN


OUTPUT SALES-OUT.

100000-EXIT.
EXIT.

200000-PROCESS.
READ SALES-IN AT END MOVE 'Y' TO WS-EOF
GO TO 200000-EXIT.

IF IN-REC NOT = WS-PREV-REC


MOVE IN-REC TO OUT-REC
WRITE OUT-REC
END-IF.

MOVE IN-REC TO WS-PREV-REC.

200000-EXIT.
EXIT.

300000-TERMINATION.

CLOSE SALES-IN
SALES-OUT.

300000-EXIT.
EXIT.

You might also like