@ballardw, Thank you for the reply.. As you said, it looks like the trailing blanks information is already "lost" when SAS reads character values. I tried with ASCII null & quote/unquote methods. All gave the same result with padded trailing blanks. a1=translate(a,'FF'x,' ');
b1=translate(b,'FF'x,' ');
c1=translate(c,'FF'x,' ');
put a1 $char. '|' @;
put b1 $char. '|' @;
put c1 $char. '|' ;
z1=catx('|','*',a,b,c,'*');
a2=quote(a);
b2=quote(b);
c2=quote(c);
z2=compress(catx('|','*',a2,b2,c2,'*'),'"');
put z2=;
result: ÿÿÿleadÿÿÿÿÿ|traiÿÿÿÿÿÿÿÿ|ÿÿÿbothÿÿÿÿÿ|
z2=*| lead |trai | both |* This type of loss of fidelity is a major concern for us at the moment. My task is to check this on a 20 GB dataset with around 200 fields. Should this be reported to SAS tech support ? Or are there any other ways to prevent this from happening ? PS: I forgot to mention - I am using SAS9.4
... View more