43 lines
929 B
Plaintext
Executable File
43 lines
929 B
Plaintext
Executable File
function parse_variable_length_records
|
|
{
|
|
# set -x
|
|
# Zero out the $OUTFILE
|
|
|
|
>$OUTFILE
|
|
|
|
# Associate standard output with file descriptor 4
|
|
# and redirect standard output to $OUTFILE
|
|
|
|
exec 4<&1
|
|
exec 1> $OUTFILE
|
|
|
|
while read RECORD
|
|
do
|
|
# On each loop iteration extract the data fields
|
|
# from the record as we process the record file
|
|
# line by line
|
|
|
|
echo $RECORD | awk -F : '{print $1, $2, $3, $4, $5, $6}' \
|
|
| while read BRANCH ACCOUNT NAME TOTAL DATEDUE RECFILE
|
|
do
|
|
# Perform some action on the data
|
|
|
|
process_variablelength_data_new_duedate $BRANCH $ACCOUNT $NAME \
|
|
$TOTAL $DATEDUE $RECFILE $NEW_DATEDUE
|
|
if (( $? != 0 ))
|
|
then
|
|
# Note that $LOGFILE is a global variable
|
|
echo "Record Error: $RECORD" | tee -a $LOGFILE
|
|
fi
|
|
done
|
|
|
|
done < $MERGERECORDFILE
|
|
|
|
# Restore standard output and close file
|
|
# descriptor 4
|
|
|
|
exec 1<&4
|
|
exec 4>&-
|
|
}
|
|
|