Thanks for those concise examples, @Quentin. Tech Support confirmed there is indeed a defect leading to PROC ODSTEXT not properly handling certain string literals that contain URL-encoded text, and that the issue will hopefully be addressed in a future release. (No version details at this time.) In the meantime, three workarounds for the issue are: 1.) double the percent signs in the string literal, proc odstext;
p 'A%%201%%20B';
run; 2.) pass the non-encoded string literal to the URLENCODE function in the P statement, rather than calling %SYSFUNC(URLENCODE(...)) within the string literal, proc odstext;
p urlencode('A 1 B');
run; 3.) or store the encoded string in a data set variable and reference that variable in the P statement, rather than using a string literal. data foo;
s = urlencode('A 1 B');
run;
proc odstext data=foo;
p s;
run; All three of the above examples produce the same desired result: A%201%20B
... View more