return to PRS Technologies website
#!/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
################################################################################