If you use the CATX function, your numeric variables will automatically be converted into character, with leading and trailing spaces removed. However, make sure you mention your variables as individual arguments for the function, not as one long concatenated string. I've included a space delimiter, the first argument to the CATX function, but you could change this to "|" if you need to.
And of course, you can use this in PROC SQL as well.
proc sql;
select catx(' ',id,rank,count,date) as fin
from have;
quit;
... View more