IDENTIFICATION DIVISION.
       PROGRAM-ID. SORTVB2.
       AUTHOR. GROCER.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT INPUT-FILE
               ASSIGN TO "C:\MFCOBOL\SOURCEPG\NEWMSTR.DAT".
           SELECT SORT-FILE
               ASSIGN TO "C:\MFCOBOL\SOURCEPG\SORTFILE.DAT".
           SELECT OUTPUT-FILE
              ASSIGN TO "C:\MFCOBOL\SOURCEPG\SORTMST2.DAT".
       DATA DIVISION.
       FILE SECTION.
       FD  INPUT-FILE
           DATA RECORD IS INPUT-REC.
       01  INPUT-REC.
           05  FILLER               PIC X(23).
           05  CODE-TO-SELECT       PIC X.
           05  FILLER               PIC X(12).
       SD  SORT-FILE
           DATA RECORD IS SORT-REC.
       01  SORT-REC.
           05  FILLER               PIC XXX.
           05  SORT-NAME            PIC X(20).
           05  FILLER               PIC X(13).
       FD  OUTPUT-FILE
           DATA RECORD IS OUTPUT-REC.
       01  OUTPUT-REC               PIC X(36).
       WORKING-STORAGE SECTION.
       01  INDICATORS.
           05  MORE-RECS            PIC XXX            VALUE "YES".
       PROCEDURE DIVISION.
       MAINLINE.
           PERFORM A-100-INITIALIZE.
           SORT SORT-FILE
               ON ASCENDING KEY SORT-NAME
               INPUT PROCEDURE B-100-SORT-ROUTINE
               GIVING OUTPUT-FILE.
           PERFORM C-100-TERMINATE.
           STOP RUN.
        A-100-INITIALIZE.
           OPEN INPUT INPUT-FILE.
        B-100-SORT-ROUTINE.
           READ INPUT-FILE
               AT END
                   MOVE "NO " TO MORE-RECS.
           PERFORM B-200-SELECT-RECORDS
               UNTIL MORE-RECS = "NO ".
        B-200-SELECT-RECORDS.
           IF CODE-TO-SELECT = "A"
               MOVE INPUT-REC TO SORT-REC
               RELEASE SORT-REC.
           READ INPUT-FILE
               AT END
                   MOVE "NO " TO MORE-RECS.
       C-100-TERMINATE.
           CLOSE INPUT-FILE.