home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / hyprco.zip / HYPRDEMO.CBL < prev    next >
Text File  |  1994-10-01  |  6KB  |  147 lines

  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.
  3.            HYPRDEMO.
  4.       ***********************************************
  5.       *                                             *
  6.       *     H   Y   P   E   R   D   E   M   O       *
  7.       *                                             *
  8.       ***********************************************
  9.       *                                             *
  10.       *   PURPOSE: DEMONSTRATE THE FUNCTIONS OF THE *
  11.       *            COBOL HYPERCODE FACILITY.        *
  12.       *                                             *
  13.       *   DESCRIPTION: THIS PROGRAM READS A FLAT    *
  14.       *                FILE CONTAINING CUSTOMER     * 
  15.       *                RECORDS AND GENERATES A      *
  16.       *                REPORT TO BE PRINTED OUT     *
  17.       *                ON MAILING LABELS.  IN       *
  18.       *                ADDITION, THE RECORDS ARE    *
  19.       *                WRITTEN TO AN INDEXED FILE   *
  20.       *                FOR SUBSEQUENT PROCESSING.   *
  21.       ***********************************************
  22.        AUTHOR.
  23.            CASEy Software.
  24.        COPY COPYRITE.
  25.        INSTALLATION.
  26.            AMD 486.
  27.        DATE-WRITTEN.
  28.            SEPTEMBER 13 1994.
  29.        DATE-COMPILED.
  30.            SEPTEMBER 13 1994.
  31.        SECURITY.
  32.            NONE.
  33.        ENVIRONMENT DIVISION.
  34.        CONFIGURATION SECTION.
  35.        SOURCE-COMPUTER.
  36.            AMD-486 WITH DEBUGGING MODE.
  37.        OBJECT-COMPUTER.
  38.            AMD-486 MEMORY SIZE 384000 WORDS.
  39.        SPECIAL-NAMES. 
  40.        INPUT-OUTPUT SECTION.
  41.        FILE-CONTROL.
  42.        SELECT IN-FILE 
  43.            ASSIGN TO DISK.
  44.            SELECT OUT-FILE
  45.                ASSIGN TO DISK
  46.                ORGANIZATION IS INDEXED
  47.                ACCESS MODE IS RANDOM
  48.                RECORD KEY IS OUT-KEY.
  49.        DATA DIVISION.
  50.        FILE SECTION.
  51.        FD  IN-FILE
  52.            LABEL RECORDS ARE STANDARD
  53.            BLOCK CONTAINS 0 RECORDS
  54.            VALUE OF FILE-ID IS 'CUST.DAT'
  55.            DATA RECORD IS IN-FILE-RECORD.
  56.         01 IN-FILE-RECORD.
  57.            03 NAME.
  58.               05 FIRST-NAME         PIC X(15).
  59.               05 MI                 PIC X(1).
  60.               05 LAST-NAME          PIC X(15).
  61.            03 ADDRESS.
  62.               05 STREET-ADDRESS     PIC X(20).
  63.               05 CITY               PIC X(15).
  64.               05 STATE              PIC X(02).
  65.               05 ZIP                PIC X(09).
  66.            03 COMPUSERVE-ID         PIC X(09).
  67.            03 PHONE.
  68.               05 AREA-CODE          PIC X(03).
  69.               05 PREFIX             PIC X(03).
  70.               05 SUFFIX             PIC X(04).
  71.        FD OUT-FILE
  72.            LABEL RECORDS ARE STANDARD
  73.            VALUE OF FILE-ID IS 'OUTFILE.DAT' 
  74.            DATA RECORD IS OUT-FILE-RECORD.
  75.        01 OUT-FILE-RECORD.
  76.            03 OUT-KEY               PIC X(31).
  77.            03 FILLER                PIC X(65).
  78.        WORKING-STORAGE SECTION.
  79.        01 IN-FILE-EOF-FLAG          PIC X(01) VALUE 'N'.
  80.           88 IN-FILE-EOF    VALUE 'Y'.
  81.        PROCEDURE DIVISION.
  82.        M1-MAINLINE SECTION.
  83.       ***********************************************
  84.       *     M  1  -  M  A  I  N  L  I  N  E         *
  85.       ***********************************************
  86.        MAINLINE.
  87.       ***********************************************
  88.       *         M  A  I  N  L  I  N  E              *
  89.       ***********************************************
  90.       *   MAIN DRIVER FOR THE  PROGRAM              *
  91.       ***********************************************
  92.            PERFORM OPEN-FILES.
  93.            PERFORM INFILE-GET-FIRST.
  94.            IF NOT IN-FILE-EOF
  95.              PERFORM INFILE-PROCESS-GET-NEXT
  96.                UNTIL IN-FILE-EOF.
  97.            PERFORM CLOSE-FILES. 
  98.            STOP RUN.
  99.        OPEN-FILES.
  100.       ***********************************************
  101.       *    O  P  E  N    F  I  L  E  S              *
  102.       ***********************************************
  103.       *   OPENS FILES USED BY HYPRDEMO              *
  104.       ***********************************************
  105.            OPEN INPUT IN-FILE.
  106.            OPEN OUTPUT OUT-FILE.
  107.        INFILE-GET-FIRST.
  108.       ***********************************************
  109.       *  I N F I L E - G E T - F I R S T            *
  110.       ***********************************************
  111.       *   GETS THE FIRST INPUT FILE RECORD          *
  112.       ***********************************************
  113.            READ IN-FILE
  114.              AT END MOVE 'Y' TO IN-FILE-EOF-FLAG.
  115.        INFILE-PROCESS-GET-NEXT.
  116.       ***********************************************
  117.       *  I N F I L E - G E T - N E X T              *
  118.       ***********************************************
  119.       *   GETS THE NEXT INPUT FILE RECORD           *
  120.       ***********************************************
  121.            PERFORM PROCESS-IN-FILE        
  122.            READ IN-FILE
  123.              AT END MOVE 'Y' TO IN-FILE-EOF-FLAG.
  124.         PROCESS-IN-FILE.
  125.       ***********************************************
  126.       * P R O C E S S - I N - F I L E - R E C O R D *
  127.       ***********************************************
  128.       *   PRINTS THE CURRENT IN FILE RECORD TO THE  *
  129.       *   CONSOLE AND WRITES IT TO THE OUTPUT FILE  *
  130.       ***********************************************
  131.            DISPLAY '                           '
  132.            DISPLAY '=======MAILING LABEL======='
  133.            DISPLAY FIRST-NAME MI LAST-NAME
  134.            DISPLAY STREET-ADDRESS CITY STATE ZIP
  135.            DISPLAY '                           '
  136.  
  137.            MOVE IN-FILE-RECORD TO OUT-FILE-RECORD.
  138.            WRITE OUT-FILE-RECORD.
  139.        CLOSE-FILES.
  140.       ***********************************************
  141.       *    C  L  O  S  E    F  I  L  E  S           *
  142.       ***********************************************
  143.       *   CLOSES FILES USED BY HYPRDEMO             *
  144.       ***********************************************
  145.            CLOSE IN-FILE.
  146.            CLOSE OUT-FILE.
  147.