﻿       >>SOURCE FORMAT IS FREE
IDENTIFICATION DIVISION.
PROGRAM-ID.  Seq2BSF.
AUTHOR.  Michael Coughlan.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT BookStockFile ASSIGN TO "BookStock.dat"
        ORGANIZATION IS INDEXED
        ACCESS MODE IS DYNAMIC
        RECORD KEY IS Book-Id-BSF
        ALTERNATE RECORD KEY IS Book-Title-BSF
        ALTERNATE RECORD KEY IS Author-Id-BSF
                  WITH DUPLICATES
        FILE STATUS IS BookStatus.

    SELECT BSF-SEQ ASSIGN TO "BSF-IN.dat"
        ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD  BookStockFile.
01  BookStockRec.
    02  Book-Id-BSF             PIC X(5).
    02  Book-Title-BSF          PIC X(30).
    02  Author-Id-BSF           PIC 9(4).
    02  Qty-In-Stock-BSF        PIC 999.
    02  Copy-Price-BSF          PIC 99V99.

FD  BSF-SEQ.
01 BSF-SEQ-Rec.
    88  EndOfSeq                VALUE HIGH-VALUES.
    02  Book-Id-SEQ             PIC X(5).
    02  Book-Title-SEQ          PIC X(30).
    02  Author-Id-SEQ           PIC 9(4).
    02  Qty-In-Stock-SEQ        PIC 999.
    02  Copy-Price-SEQ          PIC 99V99.



WORKING-STORAGE SECTION.
01  BookStatus                  PIC XX.
01  BookNum                     PIC 99.
01  Copy-Postage                PIC 99V99.
01  Cust-Address                PIC X(40).
01  UnstringPtr                 PIC 99.
    88 EndOfAddress             VALUE 41.
01  Country-Code                PIC XX.



PROCEDURE DIVISION.
Begin.
    OPEN INPUT BSF-SEQ.
    OPEN OUTPUT BookStockFile.
    READ BSF-SEQ
        AT END SET EndOfSeq TO TRUE
    END-READ.
    PERFORM UNTIL EndOfSeq
        WRITE BookStockRec FROM BSF-SEQ-Rec
             INVALID KEY DISPLAY "Problem writing record"
        END-WRITE
        READ BSF-SEQ
           AT END SET EndOfSeq TO TRUE
        END-READ
     END-PERFORM
     CLOSE BSF-SEQ, BookStockFile
    STOP RUN.

