Hi Fabio,
first of all, documented behavior is not a bug...! But, I also agree that it is not logical to let different field types give the same return value when it should be easy to give different values.
My guess is that since TYPE() and VARTYPE() mostly is used to check memory variables and properties, and not fields, it was low priority. Personally I ALWAYS use AFIELDS() for fields, I even wrote a FIELDTYPE() function many years ago, as a part of my standard function library.
>TYPE("someField") return correct type for M,G,.....
>
>For a VarChar it return "C".
>This is documented.
>
>
>CREATE CURSOR bugbug (bug V)
>? TYPE("bug")
>
>
>Now, for knowing if a field is varchar, I must to use AFIELDS() ?
>
>WHY!!!!!!????
>Who can think one similar what?
>
>Fabio