No, the maximum length of a string is 32767. But, consider this example of the CATX function and the use of the concatenate operator (||). By default, the concatenate operator creates the new variable with a length equal to all the concatenated pieces, while the CATX function uses a length of $200.
If you want to ENSURE a length for your character variable, up to the maximum allowable length, then use the LENGTH statement, as shown in the code below.
cynthia
[pre]
data makechar;
length char2 $4000 char3 $32767 char5 $200;
** compare the different lengths;
char1 = catx(' ','Kermit','the','Frog');
char2 = catx(' ','Kermit','the','Frog');
char3 = catx(' ','Kermit','the','Frog');
char4 = 'Kermit '||'the '||'Frog';
char5 = 'Kermit '||'the '||'Frog';
run;
proc contents data=makechar;
title 'Compare the various lengths of the character variables';
run;
[/pre]