Hi all, I'm still learning but I think I've gotten the basic...So I am writing a report that gets embedded in the email and emailed out, the content fits nicely for scrolling down on a phone so it looks great but I would like to use html links that will allow users to jump to certain sections of the email without having to scroll thru the entire content. Here is the email part of my program:
%let attachfile1 = '~/graphincRate.png';
%let attachfile2 = '~/pieDispatchVsNot.png';
%macro sendMsg;
proc sql noprint;
select START_DATETIME into :var from WORK.qryGetStormDates;
quit;
%if %length(&var) NE %then %do; /* If not null... */
options emailhost='MAILHOST.xxx.COM' emailsys=smtp;
FILENAME mail EMAIL
TO= "<email address>"
/*FROM = "<email address>"*/
%if %sysfunc(fileexist(&attachfile1))
%then %do;
attach=("~/graphincRate.png" inlined='graphincRate')
%end;
%else;
%if %sysfunc(fileexist(&attachfile2))
%then %do;
attach=("~/pieDispatchVsNot.png" inlined='pieDispatchVsNot')
%end;
%else;
/*attach=("~/graphincRate.png" inlined='graphincRate' "~/pieDispatchVsNot.png" inlined='pieDispatchVsNot')*/
SUBJECT= "*PSEGLI HOURLY STORM NOTIFICATION*"
TYPE= "text/html";
ods html3 body=mail style=htmlblue;
/*
ods escapechar='^';
ODS TEXT="^S={font_face='Arial' font_size=3 fontweight=Medium foreground=black} ";
*/
TITLE1 J=CENTER COLOR=WHITE BCOLOR=BIB "Storm Report Beginning:";
TITLE2 J=CENTER COLOR=WHITE BCOLOR=BIB "&var";
TITLE5 COLOR=WHITE BCOLOR=BIB "Status As Of: %sysfunc(INPUTN(&gblEndStm,datetime19.),NLDATML20.)";
proc print data=WORK.APPEND_TABLE_0015 noobs LABEL;
OPTIONS NOCENTER;
VAR STATUS
CUSTOMERS
JOBS;
LABEL STATUS='STATUS:'
CUSTOMERS='CUSTOMERS:'
JOBS='JOBS:';
run;
TITLE1;
TITLE2;
TITLE5;
TITLE2 COLOR=WHITE BCOLOR=BIB 'Overall Dispatch Status Of Remaining Outage Jobs:';
TITLE3 '<img src=cid:pieDispatchVsNot>';
proc print data=WORK.qryDispatchedVsNot noobs LABEL;
OPTIONS NOCENTER;
VAR JOB_STATUS
TTL_CUST_OUT
TTL_JOBS;
LABEL JOB_STATUS='STATUS:'
TTL_CUST_OUT='CUSTOMERS:'
TTL_JOBS='JOBS:';
run;
TITLE2;
TITLE3;
TITLE6 COLOR=WHITE BCOLOR=BIB 'Outage Jobs By Priority:';
proc print data=WORK.qryOutByPrtyAllVsNot noobs LABEL;
OPTIONS NOCENTER;
VAR OUTAGE_PRIORITY
NOT_DISPATCH_CUST
NOT_DISPATCH_JOBS
ALL_CUST
ALL_JOBS;
LABEL OUTAGE_PRIORITY='PRIORITY:'
NOT_DISPATCH_CUST='PENDING DISPATCH CUST:'
NOT_DISPATCH_JOBS='PENDING DISPATCH JOBS:'
ALL_CUST='ALL CUST:'
ALL_JOBS='ALL JOBS:';
run;
TITLE6;
TITLE5 COLOR=WHITE BCOLOR=BIB 'Dispatch Status By Referral Group:';
proc print data=WORK.qryJobsCustDispatchByRef1 noobs LABEL;
OPTIONS NOCENTER;
VAR REFERRED_TO
CUST_NOT_DISPATCHED
JOBS_NOT_DISPATCHED
ALL_CUSTOMERS
ALL_JOBS;
LABEL REFERRED_TO='REF GRP:'
CUST_NOT_DISPATCHED='PENDING DISPATCH CUST.:'
JOBS_NOT_DISPATCHED='PENDING DISPATCH JOBS:'
ALL_CUSTOMERS='ALL CUST:'
ALL_JOBS='ALL JOBS:';
run;
TITLE5;
TITLE3 COLOR=WHITE BCOLOR=BIB 'Peak Customers/Jobs Out:';
proc print data=WORK.qryGetPeakOutages noobs LABEL;
OPTIONS NOCENTER;
VAR DATETIME_FROM
DATETIME_TO
RT_CUSTOMERS_STILL_OUT
RT_INCIDENTS_STILL_OUT;
LABEL DATETIME_FROM='FROM HOUR:'
DATETIME_TO='TO HOUR:'
RT_CUSTOMERS_STILL_OUT='CUSTOMERS:'
RT_INCIDENTS_STILL_OUT='JOBS:';
run;
TITLE3;
TITLE8 COLOR=WHITE BCOLOR=BIB 'Incoming Rate of Outage Jobs:';
TITLE9 COLOR=WHITE BCOLOR=BIB '(Thru Last 8 Completed Hours)';
TITLE10 '<img src=cid:graphincRate>';
proc print data=WORK.QRYINCRATELAST8HRS noobs LABEL;
OPTIONS NOCENTER;
VAR DATE_INTERVAL
DATETIME_TO
NEW_CUSTOMERS_OUT
NEW_INCIDENTS;
LABEL DATE_INTERVAL='FROM HOUR:'
DATETIME_TO='TO HOUR:'
NEW_CUSTOMERS_OUT='NEW CUST. OUT:'
NEW_INCIDENTS='NEW JOBS OUT:';
run;
TITLE8;
TITLE9;
TITLE10;
TITLE4 COLOR=WHITE BCOLOR=BIB 'TOP 10 Impacted Areas Currently Out:';
proc print data=WORK.GETCUROUTBYVLG2 noobs LABEL;
OPTIONS NOCENTER;
VAR VILLAGE
CUSTOMERS_OUT
INCIDENTS_OUT;
LABEL VILLAGE='VILLAGE:'
CUSTOMERS_OUT='CUSTOMERS:'
INCIDENTS_OUT='JOBS:';
run;
TITLE4;
ods _all_ close;
%end;
%else %return;
%mend sendMsg;
%sendMsg;
Is there a way to do this?