Sort Example: Multiple Sort Keys


       IDENTIFICATION DIVISION.
       PROGRAM-ID.    SORT-1A.
       AUTHOR.        BILL ROGERS.

      * Sorting on 2 keys

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN-FILE
               ASSIGN TO 'C:\PCOBWIN\ROGERS\UNSORTED.TXT'
               ORGANIZATION IS LINE SEQUENTIAL.
           SELECT OUT-FILE
               ASSIGN TO 'C:\PCOBWIN\ROGERS\SORTED1A.TXT'
               ORGANIZATION IS LINE SEQUENTIAL.
           SELECT SORT-FILE
               ASSIGN TO 'C:\PCOBWIN\ROGERS\WORK.TMP'.

       DATA DIVISION.
       FILE SECTION.
       FD IN-FILE
          DATA RECORD IS IN-RECORD.
       01 IN-RECORD.
          02 IN-ID                  PIC 9(5).
          02 IN-LAST-NAME           PIC X(15).
          02 IN-FIRST-NAME          PIC X(10).
          02 IN-CITY                PIC X(12).
          02 IN-STATE               PIC X(2).

       FD OUT-FILE
          DATA RECORD IS OUT-RECORD.
       01 OUT-RECORD.
          02 OUT-ID                 PIC 9(5).
          02 OUT-LAST-NAME          PIC X(15).
          02 OUT-FIRST-NAME         PIC X(10).
          02 OUT-CITY               PIC X(12).
          02 OUT-STATE              PIC X(2).

       SD SORT-FILE
          DATA RECORD IS SORT-RECORD.
       01 SORT-RECORD.
          02 SORT-ID                PIC 9(5).
          02 SORT-LAST-NAME         PIC X(15).
          02 SORT-FIRST-NAME        PIC X(10).
          02 SORT-CITY              PIC X(12).
          02 SORT-STATE             PIC X(2).

       WORKING-STORAGE SECTION.

       PROCEDURE DIVISION.
       MAINLINE.
           SORT SORT-FILE
                ON ASCENDING KEY SORT-STATE
                ON ASCENDING KEY SORT-LAST-NAME
                USING IN-FILE
                GIVING OUT-FILE.
           STOP RUN.

Input

91163Dube           Jason     Chicago     IL
61535King           Adriane   Cincinnati  OH
45636Holtz          Rachel    Newport     KY
10216Gehl           Bryan     Louisville  KY
52158Flynn          Ashley    Muskegon    MI
22277Theis          Hanah     Norwood     OH
38551Solpa          Mac       Lansing     MI
78496McCoy          Amanda    Brookfield  WI
65720Read           Sean      Springfield BF
94000Waymel         Bradley   Kalamazoo   MI
42966Vilella        Reza      Urbana      IL
04928Streeter       Farhad    Toledo      OH
69216Steele         Karen     Covington   KY
56913Moreno         Jan       Dayton      OH
34932Vogel          Sandra    Grand RapidsMI

Output (sorted by state then by name)

65720Read           Sean      Springfield BF
91163Dube           Jason     Chicago     IL
42966Vilella        Reza      Urbana      IL
10216Gehl           Bryan     Louisville  KY
45636Holtz          Rachel    Newport     KY
69216Steele         Karen     Covington   KY
52158Flynn          Ashley    Muskegon    MI
38551Solpa          Mac       Lansing     MI
34932Vogel          Sandra    Grand RapidsMI
94000Waymel         Bradley   Kalamazoo   MI
61535King           Adriane   Cincinnati  OH
56913Moreno         Jan       Dayton      OH
04928Streeter       Farhad    Toledo      OH
22277Theis          Hanah     Norwood     OH
78496McCoy          Amanda    Brookfield  WI

Cobol Home