56 lines
1.6 KiB
Plaintext
56 lines
1.6 KiB
Plaintext
|
/******************************************************/
|
|||
|
/* This program reads a name and address data file */
|
|||
|
/* and displays the information on request. */
|
|||
|
/******************************************************/
|
|||
|
retrieve:
|
|||
|
procedure options(main);
|
|||
|
|
|||
|
%include 'record.dcl';
|
|||
|
%replace
|
|||
|
true by '1'b,
|
|||
|
false by '0'b;
|
|||
|
|
|||
|
declare
|
|||
|
(sysprint, input) file,
|
|||
|
filename character(14) varying,
|
|||
|
(lower, upper) character(30) varying,
|
|||
|
eofile bit(1);
|
|||
|
|
|||
|
open file(sysprint) print title('$con');
|
|||
|
put list('Name and Address Retrieval, File Name: ');
|
|||
|
get list(filename);
|
|||
|
|
|||
|
do while(true);
|
|||
|
lower = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
|
|||
|
upper = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz';
|
|||
|
put skip(2) list('Type Lower, Upper Bounds: ');
|
|||
|
get list(lower,upper);
|
|||
|
if lower = 'EOF' then
|
|||
|
stop;
|
|||
|
|
|||
|
open file(input) stream input environment(b(1024))
|
|||
|
title(filename);
|
|||
|
eofile = false;
|
|||
|
do while (^eofile);
|
|||
|
get file(input) list(name);
|
|||
|
eofile = (name = 'EOF');
|
|||
|
if ^eofile then
|
|||
|
do;
|
|||
|
get file(input)
|
|||
|
list(addr,city,state,zip,phone);
|
|||
|
if name >= lower & name <= upper then
|
|||
|
do;
|
|||
|
put page skip(3)list(name);
|
|||
|
put skip list(addr);
|
|||
|
put skip list(city,state);
|
|||
|
put skip list(zip);
|
|||
|
put skip list(phone);
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
close file(input);
|
|||
|
end;
|
|||
|
|
|||
|
end retrieve;
|
|||
|
|
|||
|
|