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

  1. create:
  2.     proc;
  3.     %replace
  4.         true  by '1'b,
  5.         false by '0'b;
  6.     %include 'attrib.dcl';
  7.     dcl
  8.         rec char(max_siz),
  9.         rec_no fixed;
  10.     dcl
  11.         att_len entry(fixed) returns(fixed),
  12.         accept  entry(char(max_siz));
  13.     dcl
  14.         key   file,
  15.         data  file,
  16.         sysin file;
  17.  
  18.     put edit('Creating a New Data Base','')
  19.         (skip(3),a,skip,a);
  20.  
  21.     on undefinedfile(data)
  22.         call no_dir();
  23.     on undefinedfile(key)
  24.         call no_dir();
  25.  
  26.     open file(data) record output;
  27.     open file(key)  stream output;
  28.  
  29.     on endfile(sysin)
  30.         go to end_create;
  31.  
  32.         do rec_no = 0 by 1;
  33.         /* add another record */
  34.         put edit('Record',rec_no,'') (skip,a,f(5));
  35.         call accept(rec);
  36.         write file(data) from(rec);
  37.         put file(key)
  38.             edit(substr(rec,att_start(1),att_len(1)),'')
  39.             (a,skip);
  40.         if rec_no = 32767 then
  41.             do;
  42.             put skip list('Data Base is Full');
  43.             signal endfile(sysin);
  44.             end;
  45.         end;
  46.  
  47.     end_create:
  48.     close file(data);
  49.     close file(key);
  50.     put skip(2) list('Data Base Created');
  51.     return;
  52.  
  53.     no_dir:
  54.         proc;
  55.         put skip list('No Directory Space');
  56.         stop;
  57.         end no_dir;
  58.     end create;
  59.