Hello,
Here is my coding.
I want to mask the customer name ( In my case Business name) which has '&' in it. My coding is working as I expect, but I am getting the warning message , but don't want. Can any expertise help me . I am using SAS 9.4
filename EMALRPT 'C:\TMP\TESTEMAIL.txt';
%MACRO EMAILRPT(RE,TOADD,FROMADD,CCADD,CMTH1,CUSTNAME); DATA _NULL_; FILE EMALRPT MOD;
PUT @1 'OPTIONS S=80 ;';
PUT @1 'FILENAME EFILE EMAIL '; PUT @4 ' TO = ( '; PUT @3 "'&TOADD'"; PUT @9 ' )'; PUT @3 " FROM= &FROMADD "; PUT @3 ' CC = ( '; PUT @3 "&CCADD "; PUT @10 ')';
SUBJECT = CAT('SUBJECT=%NRSTR("','PRE_NEED SERVICE REPORT FOR : ', "%NRSTR(&CUSTNAME). &CMTH1",'")'); PUT @3 SUBJECT ;
/* SUBJECT = CAT('SUBJECT=%NRSTR(','PRE_NEED SERVICE REPORT FOR : ',"&CUSTNAME PUT @3 SUBJECT; */ PUT #3 'ATTACH = ( '; PUT @3 "'VA959.VQ3.PDF(#&RE)' "; PUT @3 "CT = 'APPLICATION/PDF'"; PUT @3 "EXT = 'pdf' "; NAME = CAT('NAME=%NRSTR("',"&CUSTNAME. &CMTH1",'")'); PUT @3 NAME; PUT @3 ' '; PUT @10 ');' ; PUT @3 'RUN;';
PUT @1 'DATA _NULL_ ;';
PUT @1 'FILE EFILE ;'; PUT @1 " PUT 'Dear Customer, ';";
PUT @1 'RUN;';
RUN; %MEND EMAILRPT;
%let ASATDATE = FEB2019;
DATA _NULL_; VAL=1; TOADD='MY@GMAIL.COM'; FROMADD="'FROMMYEMAIL@GMAIL.COM'"; CCADD="'MYCCEMAIL@GMAIL.COM'"; CMTH1="&ASATDATE"; CUSTNM = 'COMPANY1 &COMPNAY2 * # , / TEST DDD';
CALL EXECUTE (CATS('%EMAILRPT(',VAL,',',TOADD,',',FROMADD, ',',CCADD,',',CMTH1,',','%NRSTR(',CUSTNM,'))')); STOP; RUN;
... View more