Аргументы, перечисленные в функции, вызываемой через %sysfunc
, неявно являются текстовыми и не должны заключаться в кавычки.Размещение кавычек в вызываемой функции sysfunc
похоже на вложение кавычек при вызове шага DATA.
Попробуйте
%let id = %sysfunc(tranwrd(&col, extra_, %str()));
Аналог шага DATA:
id = tranwrd("&col", "extra_", "");
ВашИсходный код в DATA Step аналог (ниже) должен показать, почему tranwrd
не работает так, как вы ожидали.
id = tranwrd("&col", "'extra_'", "''");