The CATT function returns
a value to a variable, or returns a value in a temporary buffer. The
value that is returned from the CATT function has the following length:
-
up to 200 characters in WHERE clauses
and in PROC SQL
-
up to 32767 characters in the DATA
step except in WHERE clauses
-
up to 65534 characters when CATT
is called from the macro processor
If CATT returns a value
in a temporary buffer, the length of the buffer depends on the calling
environment, and the value in the buffer can be truncated after CATT
finishes processing. In this case, SAS does not write a message about
the truncation to the log.
If the length of the
variable or the buffer is not large enough to contain the result of
the concatenation, SAS does the following:
-
changes the result to a blank value
in the DATA step, and in PROC SQL
-
writes a warning message to the
log stating that the result was either truncated or set to a blank
value, depending on the calling environment
-
writes a note to the log that shows
the location of the function call and lists the argument that caused
the truncation
-
sets _ERROR_ to 1 in the DATA step
The CATT function removes
leading and trailing blanks from numeric arguments after it formats
the numeric value with the BEST
w. format.