data _null_;
call symput('yymmp',PUT(intnx('Month',"&SYSDATE"d,-2,'Ending'),yymmn4.));
run;
%put &=yymmp;
data _time_;
lrpt_dte = intnx('MONTH', "&SYSDATE"d, -2, 'B');
lrpt_yyyymmdd = input(put(lrpt_dte,yymmddn8.),$8.); *20180228;
yymmp = substr(lrpt_yyyymmdd,3,4);
call symput('yymmp',yymmp);
run;
%put &=yymmp;
data v_rskp;
set gcbc.eop_&yymmp._drv_rskp;
run; I have two ways off creating the macro variable &YYMMP. And both according to logs return 2202 May I know why the data-step return error when I use the 2nd way of assigning &YYMMP. Why isn't it resolving to gcbc.eop_2202_drv_rskp LOGS: 21
22 data _null_;
23 call symput('yymmp',PUT(intnx('Month',"&SYSDATE"d,-2,'Ending'),yymmn4.));
24 run;
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
25 %put &=yymmp;
YYMMP=2202
26
27 data _time_;
28 lrpt_dte = intnx('MONTH', "&SYSDATE"d, -2, 'B');
29 lrpt_yyyymmdd = input(put(lrpt_dte,yymmddn8.),$8.); *20180228;
30 yymmp = substr(lrpt_yyyymmdd,3,4);
31 call symput('yymmp',yymmp);
32 run;
NOTE: Compression was disabled for data set WORK._TIME_ because compression overhead would increase the size of the data set.
NOTE: The data set WORK._TIME_ has 1 observations and 3 variables.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
33 %put &=yymmp;
YYMMP=2202
34
35 data v_rskp;
36 set gcbc.eop_&yymmp._drv_rskp;
ERROR: File GCBC.EOP_2202.DATA does not exist.
37 run; It is able to resolve to correct dataset name when I use the first way of assigning the macro variable. Thanks.
... View more