/******************************************************/ /* This program reads an employee data base and */ /* prints a list of paychecks. */ /******************************************************/ report: procedure options(main); declare 1 employee static, 2 name character(30) varying, 2 address, 3 street character(30) varying, 3 city character(10) varying, 3 state character(12) varying, 3 zip fixed decimal(5), 2 age fixed decimal(3), 2 wage fixed decimal(5,2), 2 hours fixed decimal(5,1); declare i fixed, dashes character(15) static initial ('$--------------'), buff character(20) varying, (grosspay, withhold) fixed decimal(7,2), (repfile, empfile) file; open file(empfile) keyed environment(f(128),b(4000)) title ('$1.EMP'); open file(repfile) stream print environment(b(2000)) title('$2.$2'); put list('Set Top of Forms, Press Return'); get skip; do while('1'b); read file(empfile) into(employee); if name = 'EOF' then stop; put file(repfile) skip(2); buff = '[' !! name !! ']^m^j'; write file(repfile) from (buff); grosspay = wage * hours; withhold = grosspay * .15; buff = grosspay - withhold; do i = 1 to 15 while (substr(buff,i,1) = ' '); end; i = i - 1; substr(buff,1,i) = substr(dashes,1,i); write file (repfile) from(buff); end; end report;