36 lines
1.1 KiB
Text
36 lines
1.1 KiB
Text
text3: procedure options (main); /* 19 November 2011 */
|
|
declare line character (80) varying;
|
|
declare (nout, max_nout) fixed;
|
|
declare saveline character (80) varying controlled;
|
|
declare k fixed binary;
|
|
declare in file input;
|
|
|
|
open file (in) title ('/TEXT-MAX.DAT,TYPE(TEXT),RECSIZE(80)' );
|
|
|
|
on endfile (in) go to finish_up;
|
|
|
|
max_nout, nout = 0;
|
|
do forever;
|
|
get file (in) edit (line) (L);
|
|
if substr(line, 9, 4) = 'OUT' then nout = nout+1;
|
|
else if substr(line, 9, 3) = 'IN' then
|
|
nout = nout-1;
|
|
if nout = max_nout then
|
|
do; allocate saveline; saveline = line; end;
|
|
if nout > max_nout then
|
|
do;
|
|
do while (allocation(saveline) > 0); free saveline; end;
|
|
max_nout = nout;
|
|
allocate saveline;
|
|
saveline = line;
|
|
end;
|
|
end;
|
|
|
|
finish_up:
|
|
put skip list ('The maximum number of licences taken out = ' || max_nout);
|
|
do while (allocation(saveline) > 0);
|
|
k = index(saveline, '@');
|
|
if k > 0 then put skip list ('It occurred at ' || substr(saveline, k+1) );
|
|
free saveline;
|
|
end;
|
|
end text3;
|