just a comment  no action requested  if i was to go crazy  which is not in fact  in doubt you could also add empty checking here as well  and you will find you can kiss strip out a few  isempty calls that if around getintfield  of course  not all of them  because an empty field is used to report an error whereas a zero return is not an error  