Thanks Roy,
Your pointer helped, though it wasn't 'insertscal' that was the issue, but these three
ENT1, ENT2, ENT3.
I had used the same variable name in the 3 functions (declared as local), however the value for 'insertscal' popped up where ENT3 was expected??
Anyway re-named the variables as ENTFF1/2/3, ENTRF1/2/3 & ENTRTJ1/2/3 and it is all working as expected.
I don't understand why the cross pollination of variable values.
I thought that if they were declared local (/ var1 var2....) then they would be cleared when the function ends.
Still, lesson learnt, keep to unique variable names!!!!
S.