Почему вы используете макрос и значение в кавычках?
'201810' до 'OCT18' в среде макросов
%let var = '201810';
%let var_as_monyy = %sysfunc(quote(%sysfunc(putn(%sysfunc(inputn(%sysfunc(dequote(&var)),yymmn6)),monyy5.)),%str(%')));
%put &=var;
%put &=var_as_monyy;
201810 до OCT18 в макросреде
%let var = 201810;
%let var_as_monyy = %sysfunc(putn(%sysfunc(inputn(%sysfunc(dequote(&var))01,yymmn6)),monyy5.));
%put &=var;
%put &=var_as_monyy;
'201810' строка даты в шаге DATA и контексте набора данных
%let var = '201810';
data want;
date = input (&var, yymmn6.);
format date monyy5.;
run;
proc print data=want;run;