IDENTIFICATION DIVISION.
       PROGRAM-ID.  SEQSTART.
       AUTHOR.	GROCER.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       SELECT MASTER-FILE
           ASSIGN TO "C:\PCOBWIN\VSAM\VSAM1.DAT"
	   ORGANIZATION IS INDEXED
           ACCESS IS SEQUENTIAL
           RECORD KEY IS MID.
       SELECT PRINT-FILE ASSIGN TO PRINTER.
      * COMMENTS:
      * This program read the records in an indexed file sequentially
      * using the existing organization which would be by the prime
      * key.  Instead of starting at the beginning of the file, this
      * program allows the user to enter a start point and
      * starts processing records at that point.
       DATA DIVISION.
       FILE SECTION.
       FD  MASTER-FILE
	   DATA RECORD IS MASTER-REC.
       01  MASTER-REC.
	   05  MID		PIC 9(3).
	   05  MITEM-NAME	PIC X(20).
	   05  MNUM-HAND	PIC 999.
	   05  MNUM-ORDER	PIC 999.
	   05  MREORD-PT	PIC 999.
	   05  MCOST		PIC 999V99.
	   05  MPRICE		PIC 999V99.
       FD  PRINT-FILE
	   LABEL RECORDS ARE OMITTED
	   DATA RECORD IS PRINTZ.
       01  PRINTZ.
	   05  FILLER		PIC X.
	   05  PID		PIC X(3).
	   05  FILLER		PIC X(2).
	   05  PITEM-NAME	PIC X(20).
	   05  FILLER		PIC X(2).
	   05  PNUM-HAND	PIC ZZ9.
	   05  FILLER		PIC X(2).
	   05  PNUM-ORDER	PIC ZZ9.
	   05  FILLER		PIC X(2).
	   05  PREORD-PT	PIC ZZ9.
	   05  FILLER		PIC X(2).
	   05  PCOST		PIC ZZ9.99.
	   05  FILLER		PIC X(2).
	   05  PPRICE		PIC ZZ9.99.
	   05  FILLER		PIC X(2).
	   05  PMSG		PIC X(20).
	   05  FILLER		PIC X.
       WORKING-STORAGE SECTION.
       01  INDICATORS.
           05  EOF-IND          PIC XXX          VALUE "NO ".
           05  FOUND-IND        PIC XXX          VALUE "NO ".
       01  HOLD-AREAS.
           05  START-PT         PIC 999          VALUE 0.
       PROCEDURE DIVISION.
       MAINLINE.
           PERFORM A-100-INITIALIZE.
           PERFORM B-100-PROCESS.
           PERFORM C-100-TERMINATE.
           STOP RUN.
       A-100-INITIALIZE.
	   OPEN INPUT MASTER-FILE
                OUTPUT PRINT-FILE.
       B-100-PROCESS.
           DISPLAY "ENTER START POINT - ENTER 999 TO END".
           ACCEPT START-PT.
           IF START-PT = 999
               MOVE "YES" TO EOF-IND
           ELSE
               PERFORM U-000-START-FILE
                   UNTIL FOUND-IND = "YES" OR EOF-IND = "YES"
           END-IF.
           IF FOUND-IND = "YES"
               READ MASTER-FILE
                   AT END
                      MOVE "YES" TO EOF-IND
               END-READ
               PERFORM B-200-LOOP
                   UNTIL EOF-IND = "YES"
           END-IF.
       B-200-LOOP.
	   MOVE SPACES TO PRINTZ.
	   MOVE MID TO PID.
	   MOVE MITEM-NAME TO PITEM-NAME.
	   MOVE MNUM-HAND TO PNUM-HAND.
	   MOVE MNUM-ORDER TO PNUM-ORDER.
	   MOVE MREORD-PT TO PREORD-PT.
	   MOVE MCOST TO PCOST.
	   MOVE MPRICE TO PPRICE.
	   WRITE PRINTZ
	       AFTER ADVANCING 1 LINES.
           READ MASTER-FILE
               AT END
                  MOVE "YES" TO EOF-IND.
       C-100-TERMINATE.
           CLOSE MASTER-FILE
                 PRINT-FILE.
       U-000-START-FILE.
           MOVE START-PT TO MID.
           START MASTER-FILE
               KEY EQUAL TO MID
               INVALID KEY
                   DISPLAY "RECORD NOT FOUND FOR " START-PT
                   DISPLAY "ENTER START POINT - ENTER 999 TO END"
                   ACCEPT START-PT
                   IF START-PT = 999
                       MOVE "YES" TO EOF-IND
                   END-IF
               NOT INVALID KEY
                   MOVE "YES" TO FOUND-IND
           END-START