Кто-нибудь сталкивался с приведенной ниже ошибкой:
options symbolgen mprint mlogic minoperator;
%macro test /minoperator mindelimiter=',';
%let var1 = EXPORT;
%if &var1 in (EXPORT, TEST,TEST1) %then %let var_final1=1;
%put &=var_final1.;
%let var_final2 = %sysfunc(ifc(&var1= EXPORT,1,2));
%put &=var_final2;
%let var_final3 = %sysfunc(ifc(&var1 in (EXPORT, TEST,TEST1),1,2));
%put &var_final3;
%mend;
%test;
var_final1 и var_final2 работают нормально, тогда как для var_final3, где мы имеем функцию c, я получаю следующую ошибку:
ERROR: Argument 1 to function IFC referenced by the %SYSFUNC or %QSYSFUNC macro function is not a number.
ERROR: Invalid arguments detected in %SYSCALL, %SYSFUNC, or %QSYSFUNC argument list. Execution of %SYSCALL statement or %SYSFUNC
or %QSYSFUNC function reference is terminated.
Не уверен, почему оператор IN не работает с функциями IF C или IFN?
Может кто-нибудь предложить, пожалуйста.
Спасибо