IDENTIFICATION DIVISION. PROGRAM-ID. CREATE-INDEX-FILE. AUTHOR. DEAN-BROCK. * ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. DEC-VAX. OBJECT-COMPUTER. DEC-VAX. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT BOOK-INPUT-FILE ASSIGN TO 'BOOK.TXT'. SELECT BOOK-INDEX-FILE ASSIGN TO 'BOOK.IND' ORGANIZATION IS INDEXED ACCESS MODE IS SEQUENTIAL RECORD KEY IS BXR-ISBN. SELECT REPORT-FILE ASSIGN TO 'BOOK.LPT'. * DATA DIVISION. * FILE SECTION. FD BOOK-INPUT-FILE. 01 BOOK-INPUT-RECORD. 05 BIR-ISBN PIC X(10). 05 BIR-TITLE PIC X(50). FD BOOK-INDEX-FILE. 01 BOOK-INDEX-RECORD. 05 BXR-ISBN PIC X(10). 05 BXR-TITLE PIC X(50). FD REPORT-FILE. 01 REPORT-RECORD. 05 FILLER PIC X(2) VALUE SPACES. 05 REP-MESSAGE PIC X(8). 05 FILLER PIC X(5) VALUE SPACES. 05 REP-ISBN PIC X(10). 05 FILLER PIC X(5) VALUE SPACES. 05 REP-TITLE PIC X(50). * WORKING-STORAGE SECTION. * 01 WS-EOF-FLAG PIC X. * PROCEDURE DIVISION. * A000-MAIN. OPEN INPUT BOOK-INPUT-FILE OUTPUT BOOK-INDEX-FILE, REPORT-FILE PERFORM B000-COPY-RECORDS CLOSE BOOK-INPUT-FILE, BOOK-INDEX-FILE, REPORT-FILE STOP RUN. * B000-COPY-RECORDS. MOVE "N" TO WS-EOF-FLAG READ BOOK-INPUT-FILE AT END MOVE "Y" TO WS-EOF-FLAG END-READ PERFORM UNTIL WS-EOF-FLAG IS EQUAL TO "Y" PERFORM B010-OUTPUT-RECORD READ BOOK-INPUT-FILE AT END MOVE "Y" TO WS-EOF-FLAG END-READ END-PERFORM. * B010-OUTPUT-RECORD. MOVE BIR-ISBN TO BXR-ISBN MOVE BIR-ISBN TO REP-ISBN MOVE BIR-TITLE TO BXR-TITLE MOVE BIR-TITLE TO REP-TITLE MOVE "ENTERED" TO REP-MESSAGE WRITE BOOK-INDEX-RECORD INVALID KEY MOVE "INVALID" TO REP-MESSAGE END-WRITE WRITE REPORT-RECORD.