Hi,
Firstly, you have to be aware of a bug in ProIV.
If any command in GenChk logic 'fails', then it acts like issuing a MSG statement, in that the cursor returns to the current field.
CONV is one of those commands, and if you put the following in a GenChk logic point, you can never get off the field...
#X = CONV("ABC")
That might explain why its not working correctly for you.
I take that as a bug, but ProIV Support didn’t agree, and it’s never been fixed......
Also, the CONV statement converts numeric Expressions. In ProIV a numeric expression could be something like 1E4, which CONV will equate to 10000.
Decimal points, positive and negative signs also equate.
So CONV or the NUMERIC special check will not validate 'pure' numeric values.
If you wish to check for 'pure' numeric characters, try this....
#NUMERIC = 1
FOR #X = 1 TO LEN($INPUT)
IF NOT $INPUT(#X,#X) IN-RANGE "0","9" THEN
#NUMERIC = 0
LOOPEXIT
ENDIF
ENDFOR
IF #NUMERIC THEN
UMSG("REALLY A NUMERIC",-1)
ENDIF
HTHs,
Rob D.