The TRANWRD function might return a truncated result


The TRANWRD function can return a truncated result when the replacement string is longer than the search string. In affected releases, part of the expected output might be missing from the end of the returned value, even when the target variable is defined with sufficient length.

Example Code

data _null_;
length list result $100;
list = 'item1§item2§item3§item4§item5§item6§item7§item8';
result = tranwrd(list,'§',' , ');
put result=;
run;

The following values should be returned when you run the above code: item1 , item2 , item3 , item4 , item5 , item6 , item7 , item8

However, the code returns the following instead: item1 , item2 , item3 , item4 , item5 , item6 , item7

Cause

This issue occurs because the value that TRANWRD returns is incorrectly truncated.

This issue occurs in Stable 2026.01 through Stable 2026.08 and LTS 2026.03.

Resolution

This issue is fixed in Stable 2026.09 and LTS 2026.09.