The put() function is one of those that are not available in %sysfunc and %qsysfunc.
See here: http://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.2&docsetId=mcrolref&docsetTarget=p1o13d7wb2zfcnn19s5ssl2zdxvi.htm&locale=de#n0x97dl6jtc5ujn1iowwm5bp8p4m
Use the putn() function instead:
%let date=%sysfunc(intnx(month, '31Oct2017'd, 2));
%let label=%sysfunc(putn(&date,date9.));
%put &label;
or do it in one step:
%let label=%sysfunc(intnx(month, '31Oct2017'd, 2),date9.);
%put &label;
... View more