There are two reasons why you might need to use single quotes instead of double quotes around a value.
You are pushing the code into a remote database that does not recognize string in double quotes as string literals. (This seems to be your situation.)
You want to prevent the macro processor from evaluating macro triggers ( & and % ) in the string.
If you frequently need to add single quotes around macro variable values (or other macro code expressions) then I have found it useful to have an autocall macro for that.
https://raw.githubusercontent.com/sasutils/macros/master/squote.sas
%let DATECRM=%squote(%sysfunc(putn("&sysdate9"d-65,yymmdd10)));
...
factdt>&datecrm
... View more