Fabio,
It's not a bug, as others have said, it is documented to work the way it does. I'm one that is glad it works this way.
I'd guess the logic behind the design choice was to prevent everyone from having to go back and add V as a possible type test condition in their code:
do case
case type(...) $ "CM"
I'm glad I don't have to ferret out all those places in all the code I maintain and change it to CMV
So yes, you'll need to use afields to get the absolute column type.
>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?