home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol079 / menu.pli < prev    next >
Text File  |  1984-04-29  |  3KB  |  106 lines

  1. menu:
  2.     proc options(main);
  3.     /********************************************************
  4.     *       Inventory Control / Point of Sale Program       *
  5.     *                                                       *
  6.     *                 Copyright(c) 1981                     *
  7.     *                 Digital Research                      *
  8.     *                 Box 579                               *
  9.     *                 Pacific Grove, CA                     *
  10.     *                 93950                                 *
  11.     *                                                       *
  12.     * This program is tutorial in nature and thus permis-   *
  13.     * sion is hereby granted to those individuals who have  *
  14.     * received an ISV Seminar completion certificate the    *
  15.     * right to copy or abstract all or portions of this pro-*
  16.     * gram for the purpose of extending or customizing to a *
  17.     * particular application or software product, in which  *
  18.     * case an appropriate credit to Digital Research should *
  19.     * be included in the source listing.                    *
  20.     ********************************************************/
  21.     dcl
  22.         copyright char(37) static init
  23.         (' Copyright(c) 1981, Digital Research ');
  24.     %replace
  25.         true   by '1'b,
  26.         false  by '0'b,
  27.         update by  0,   /* access(0) = update */
  28.         sale   by  1;   /* access(1) = sale   */
  29.     dcl
  30.         setdef    entry,
  31.         setkey    entry,
  32.         create    entry,
  33.         access      entry(fixed),
  34.         report    entry;
  35.     dcl
  36.         prc_start fixed ext,
  37.         prc_len   fixed ext,
  38.         qty_start fixed ext,
  39.         qty_len   fixed ext,
  40.         sales_tax dec(4,2) ext,
  41.         key_hdr   ptr ext;
  42.     dcl
  43.         F  char(2) var,
  44.         Fi fixed(7);
  45.     dcl
  46.         list  file,
  47.         def   file,
  48.         data  file,
  49.         sysin file;
  50.  
  51.     on endfile(sysin)
  52.         stop;
  53.  
  54.     /* initialize field definitions */
  55.     call setdef();
  56.     call setkey();
  57.  
  58.         /* process each major request */
  59.         do while(true);
  60.         put edit('Select Function:',
  61.                 'Create(c)',
  62.                 'Update(u)',
  63.                 'Sale  (s)',
  64.                 'Report(r)',
  65.                 'Quit  (q) ')
  66.             (skip(3), a, 100(column(10),a));
  67.         get list(F);
  68.         Fi = index('cusrq',F);
  69.         if length(F) ^= 1 then
  70.             Fi = 0;
  71.         go to case(Fi);
  72.  
  73.         case(0):
  74.             /* invalid entry */
  75.             put skip list
  76.                 ('"' || F || '" is invalid, retry');
  77.             go to endcase;
  78.  
  79.         case(1):
  80.             /* create */
  81.             call create();
  82.             call setkey();
  83.             go to endcase;
  84.  
  85.         case(2):
  86.             /* update */
  87.             call access(update);
  88.             go to endcase;
  89.  
  90.         case(3):
  91.             /* sale */
  92.             call access(sale);
  93.             go to endcase;
  94.  
  95.         case(4):
  96.             /* report */
  97.             call report();
  98.             go to endcase;
  99.  
  100.         case(5):
  101.             /* quit */
  102.             signal endfile(sysin);
  103.         endcase:
  104.         end;
  105.     end menu;
  106.