It gives me an error saying :-: integer expression expected
and it goes to the else part and writes output the WARNING STATEMENTS ..
the values of if [ "$rcInPAudit" = "$rcInP" ]; thenrcInPAudit and rcInP match each other exactly ..but it does not go the if part and gives an error (saying integer expression expected )

The script runs good till the above mentioned if clause ,
and also it prints out :-
Number of Records in ProGV file = 34
Number of Rows Copied into PROGV = 34

It gives me an error saying :-
[FONT=Courier][SIZE=2][FONT=Courier][SIZE=2]: integer expression expected
and it goes to the else part and writes output the WARNING STATEMENTS ..
the values of if [ "$rcInPAudit" = "$rcInP" ]; thenrcInPAudit and rcInP match each other exactly ..but it does not go the if part and gives an error (saying integer expression expected )

That if statement could not generate that error. The problem is elsewhere.

A binary comparison operator compares two variables or quantities. Note that integer and string comparison
use a different set of operators.
integer comparison
-eq
is equal to
if [ "$a" -eq "$b" ]
-ne
is not equal to
if [ "$a" -ne "$b" ]
-gt
is greater than
if [ "$a" -gt "$b" ]
-ge
is greater than or equal to
if [ "$a" -ge "$b" ]
-lt
is less than
if [ "$a" -lt "$b" ]
-le
is less than or equal to
if [ "$a" -le "$b" ]
<
is less than (within double parentheses)
(("$a" < "$b"))
<=
is less than or equal to (within double parentheses)
(("$a" <= "$b"))
>
is greater than (within double parentheses)
(("$a" > "$b"))
>=
is greater than or equal to (within double parentheses)
(("$a" >= "$b"))
string comparison
=
is equal to
if [ "$a" = "$b" ]
==
is equal to
if [ "$a" == "$b" ]
!=
is not equal to
if [ "$a" != "$b" ]
This operator uses pattern matching within a [[ ... ]] construct.
<
is less than, in ASCII alphabetical order
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
Note that the "<" needs to be escaped within a [ ] construct.
>
is greater than, in ASCII alphabetical order
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
Note that the ">" needs to be escaped within a [ ] construct.
in conclusion (using bash or ksh shells) :-
you are testing 2 numerical variables (numbers) you have to use the first kind of operators (-eq) not the string operator
you can use the string operator in double parentheses ( [[..]] )
so use [[ "$rcInPAudit" = "$rcInP" ]] or [ "$rcInPAudit" -eq "$rcInP" ] to eliminate the error.
BR