In SAS® Fraud Management (SAS® Rules Studio), when writing user variable rules and authorization rules, you can use the %DECLAREARRAY macro to define an array of user variables. Then, you can use the multiple parameter %SET macro to alter the value of an element in the array.
Rule code similar to the following works in SAS Fraud Management 6.1 prior to Hot Fix 6:
%declareArray(&rule.telefon_pesel,_T_odrzanul_wn_pesel_1-
_T_odrzanul_wn_pesel_5);
%declarearray(&rule.telefon_id,_T_odrzanul_wn_id_1 -
_T_odrzanul_wn_id_5);
%set(&rule.telefon_id,
%indexArray(&rule.telefon_pesel, hqo_ob_userid))=tml_xfr_acct;
However, with SAS Fraud Management 6.1 Hot Fix 6, if you run a rule test with the above code, an error similar to the following occurs:
ERROR: Required operator not found in expression: &i = &index
To work around this issue, use an intermediary local variable as the index parameter in the %SET macro.
%declareArray(&rule.telefon_pesel,_T_odrzanul_wn_pesel_1-
_T_odrzanul_wn_pesel_5);
%declarearray(&rule.telefon_id,_T_odrzanul_wn_id_1 -
_T_odrzanul_wn_id_5);
&rule.i=%indexArray(&rule.telefon_pesel, hqo_ob_userid);
%set(&rule.telefon_id, &rule.i)=tml_xfr_acct;