Do your county codes have leading zeroes if the numeric value is less than 100? If not then you are creating a malformed FIPS code. 2 character FIPS is state, 5 character is State + County. If the "county" FIP code is 1 and the state code is 16 then the state+county is 16001. If your state is a single digit then it needs to have a leading 0.
If your state and county codes have the leading 0 and they are defined as 2 character and 3 character then any of CAT, CATS or CATT would yield a 5 digit code IF you set the length before assigning. Otherwise the function will default to $200.
data example;
length Fipstate $ 2 Fipcnty $ 3;
Fipstate='02';
Fipcnty ='001';
length F1 F2 F3 $ 5;
F1 = cat(fipstate,fipcnty);
F2 = cats(fipstate,fipcnty);
F3 = catt(fipstate,fipcnty);
run;
If they don't have leading zeroes you have more work to do to make sure they are there.
... View more