What do you expect for len(ALLTRIM(send_lname)) if they differ through records?
In your statements the LEN(ALLTRIM(send_lname)) will be for the current or first record in the table or for the first record meeting condition. You can play with it having open table:
navigate to particular record, check ?len(ALLTRIM(send_lname)) and run select.
The field length is len(send_lname).
>Why won't the results of:
>
>SELECT ALLTRIM(send_lname AS Lastname ;
> FROM pocontact ;
> INTO ARRAY aHold ;
> WHERE memoid=6 ;
> ORDER BY send_lname
>OR
>SELECT PADR(send_lname,LEN(ALLTRIM(send_lname))," ") as lastname ;
> FROM pocontact ;
> into cursor hold ;
> WHERE memoid=6 ;
> ORDER BY send_lname
>
>
>give me the exact width of the trim field instead of the
>original field width? this hapens on single or combined fields.
>
>original field width = 20
>actual width = 8
>result width = 20