Better to call the DATE() function (aka TODAY() function) just once to avoid confusion if your program happens to start right before midnight. You can use that date value with the DATE9 and YYMMN4 formats to get the strings you need: 2 digit day, 2 digit month, 2 digit year, 4 digit year and three character month. If you really need the month letters in propcase instead of upcase then you could use the MONNAME3. format instead of pulling the month from the output of the DATE9 format.
%let today=%sysfunc(today());
%let yymm = %sysfunc(putn(&today,yymmn4.));
%let date = %sysfunc(putn(&today,date9.));
%let month = %sysfunc(putn(&today,monname3.));
%let day = %substr(&date,1,2);
%let year = %substr(&date,6);
936 %put &=path &=yymm &=month &=year &=day ;
PATH=/xyz/Stats YYMM=2008 MONTH=Aug YEAR=2020 DAY=09
937
938 %put "&path./&yymm. - &month. &year./abc &day.&month. &year..xlsx" ;
"/xyz/Stats/2008 - Aug 2020/abc 09Aug 2020.xlsx"
... View more