@fury88
Yes it looks like it is due to the DOSUBL bug in 9.4M3 .
I ran the below code both on 9.4M3 and 9.4M4 :
%macro due_date_macro(flag);
%Put &=flag;
%Let due_date=&flag;
%Put INNER : &=due_date;
%mend due_date_macro;
%Let Due_Date=;
%Let Var1=20120304;
%Let Var2=20120805;
%Let Var3=20150709;
%Macro Test;
%do i=1 %to &numAlerts;
%let rc= %sysfunc(dosubl('%due_date_macro(&&Var&i)'));
%put OUTER : &=due_date;
%put **************************;
%end;
%Mend Test;
%Let NumAlerts=3;
%Test;
Result from SAS 9.4M3:
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
55
56 %macro due_date_macro(flag);
57
58 %Put &=flag;
59
60 %Let due_date=&flag;
61
62 %Put INNER : &=due_date;
63
64 %mend due_date_macro;
65
66
67 %Let Due_Date=;
68 %Let Var1=20120304;
69 %Let Var2=20120805;
70 %Let Var3=20150709;
71
72
73 %Macro Test;
74
75 %do i=1 %to &numAlerts;
76
77 %let rc= %sysfunc(dosubl('%due_date_macro(&&Var&i)'));
78
79 %put OUTER : &=due_date;
80 %put **************************;
81 %end;
82
83 %Mend Test;
84
85
86 %Let NumAlerts=3;
FLAG=20120304
INNER : DUE_DATE=20120304
87 %Test;
OUTER : DUE_DATE=
**************************
FLAG=20120805
INNER : DUE_DATE=20120805
OUTER : DUE_DATE=
**************************
FLAG=20150709
INNER : DUE_DATE=20150709
OUTER : DUE_DATE=
**************************
Result from SAS 9.4M4 :
62 %macro due_date_macro(flag); 63 64 %Put &=flag; 65 66 %Let due_date=&flag; 67 68 %Put INNER : &=due_date; 69 70 %mend due_date_macro; 71 72 73 %Let Due_Date=; 74 %Let Var1=20120304; 75 %Let Var2=20120805; 76 %Let Var3=20150709; 77 78 79 %Macro Test; 80 81 %do i=1 %to &numAlerts; 82 83 %let rc= %sysfunc(dosubl('%due_date_macro(&&Var&i)')); 84 85 %put OUTER : &=due_date; 86 %put **************************; 87 %end; 88 89 %Mend Test; 90 91 92 %Let NumAlerts=3; FLAG=20120304 INNER : DUE_DATE=20120304 93 %Test; OUTER : DUE_DATE=20120304 ************************** FLAG=20120805 INNER : DUE_DATE=20120805 OUTER : DUE_DATE=20120805 ************************** FLAG=20150709 INNER : DUE_DATE=20150709 OUTER : DUE_DATE=20150709 **************************
... View more