home *** CD-ROM | disk | FTP | other *** search
- create:
- proc;
- %replace
- true by '1'b,
- false by '0'b;
- %include 'attrib.dcl';
- dcl
- rec char(max_siz),
- rec_no fixed;
- dcl
- att_len entry(fixed) returns(fixed),
- accept entry(char(max_siz));
- dcl
- key file,
- data file,
- sysin file;
-
- put edit('Creating a New Data Base','')
- (skip(3),a,skip,a);
-
- on undefinedfile(data)
- call no_dir();
- on undefinedfile(key)
- call no_dir();
-
- open file(data) record output;
- open file(key) stream output;
-
- on endfile(sysin)
- go to end_create;
-
- do rec_no = 0 by 1;
- /* add another record */
- put edit('Record',rec_no,'') (skip,a,f(5));
- call accept(rec);
- write file(data) from(rec);
- put file(key)
- edit(substr(rec,att_start(1),att_len(1)),'')
- (a,skip);
- if rec_no = 32767 then
- do;
- put skip list('Data Base is Full');
- signal endfile(sysin);
- end;
- end;
-
- end_create:
- close file(data);
- close file(key);
- put skip(2) list('Data Base Created');
- return;
-
- no_dir:
- proc;
- put skip list('No Directory Space');
- stop;
- end no_dir;
- end create;
-