Might also mention that the CAT functions work with numeric data (and there are no messages in the log).

Also, there is a way to concatenate the FORMATTED values of variables that does not involve a CAT function. Try this and look at the results with PROC PRINT.

proc format;
value ag low-<13.5 = '0' other = '1';
value ht low-<64.15 = '0' other = '1';
value wt low-<107.25 = '0' other = '1';
run;

data males (drop=sex);
length htwt $3;
set sashelp.class (where=(sex eq 'M'));
put @1 age ag. height ht. weight wt. @;
htwt = _file_;
run;