return to PRS Technologies website


l2_costview1.sh
#!/usr/bin/ksh ############################################################################### # # Module: l2_costview1.sh # Author: Peter R. Schmidt # Description: report on an Elite L2 cost cost file # # Change Log # # Date Name Description................. # 07/12/01 Peter R. Schmidt Start Program # ############################################################################### if [ $# = 1 ]; then COSTFILE=$1 else echo echo "Enter L2 cost load file filename" read COSTFILE fi awk ' \ BEGIN { FNUM=0; PRIOR_DATE="XXXXX"; } /^$/ { FNUM=0; } { LINE_CNT++; if (length($0) > 0) { if ( (length($0) ) > 50 ) { printf "\n"; printf "%s\n",$0; printf "Hmmmm, line %d (above) doesnt look like a L2 Cost load format - skipping line\n",LINE_CNT; printf "\n"; } else { FNUM++; if ( FNUM == 1 ) { CURRENCY=$0; CNT_COSTS++; } if ( FNUM == 2 ) { DISBDT=$0; ## if ( ( DISBDT != PRIOR_DATE ) || ( CNT_COSTS == 1) ) { ## printf "Line %d, Record: %d, Disbursement date: %s\n",LINE_CNT, CNT_COSTS, DISBDT; ## PRIOR_DATE=DISBDT; ## } } if ( FNUM == 3 ) { MATTER=$0; } if ( FNUM == 4 ) { QUANTITY=$0; } if ( FNUM == 5 ) { RATE=$0; } if ( FNUM == 6 ) { AMOUNT=$0; TOT_AMT = (TOT_AMT + AMOUNT); a1[DISBDT] += AMOUNT a2[DISBDT] += 1 MONTH=substr(DISBDT,1,2); a3[MONTH] += AMOUNT a4[MONTH] += 1 } if ( FNUM == 7 ) { COSTCODE=$0; } if ( FNUM == 8 ) { TTK=$0; } if ( FNUM == 9 ) { CAUTH=$0; } if ( FNUM == 10 ) { CLOC=$0; a5[CLOC] += AMOUNT a6[CLOC] += 1 } if ( FNUM == 11 ) { DESC1=$0; } if ( FNUM == 12 ) { DESC2=$0; } if ( FNUM == 13 ) { DESC3=$0; } } } else { FNUM=0; } # printf "debug: Line %d, record %d, field %d, $%8.2f %s\n",LINE_CNT,CNT_COSTS, FNUM,TOT_AMT,$0; } END { print; print "Date Summary....................................."; for (var1 in a1) { printf "Date: %s, Cnt: %4d, Amt: %10.2f\n",var1,a2[var1],a1[var1]; TOT2+=a1[var1]; } print; print "Period Summary..................................."; for (var1 in a3) { printf "PERIOD: %s, Cnt: %4d, Amt: %10.2f\n",var1,a4[var1],a3[var1]; } print; print "Location Summary................................."; for (var1 in a5) { printf "LOC: %s, Cnt: %4d, Amt: %10.2f\n",var1,a6[var1],a5[var1]; } ## printf "debug: Total: %10.2f\n",TOT2; print; printf "Lines in file: %d\n",LINE_CNT; printf "Costs in file: %d\n",CNT_COSTS; printf "Dollars in file: %8.2f\n",TOT_AMT; } ' $COSTFILE ################################################################################