使用SAS和Linux发送有关宏的电子邮件

使用SAS和Linux发送有关宏的电子邮件,sas,sas-macro,Sas,Sas Macro,我正在尝试从Linux内部使用SAS发送电子邮件,在电子邮件的正文中,我引用了一个宏 * store &a in macro for use in email; proc sql noprint; select tot_sendt into :a from tot; run; * sending email; filename m email subject="Report A is ready (%SYSFUNC(today(),ddmmyy10.))" to = ('m

我正在尝试从Linux内部使用SAS发送电子邮件,在电子邮件的正文中,我引用了一个宏

* store &a in macro for use in email; 
proc sql noprint;
    select tot_sendt into :a from tot;
run;


* sending email;
filename m email subject="Report A is ready (%SYSFUNC(today(),ddmmyy10.))"
to = ('myemail@email.com');

data _null_;
  file m;
  put 'Report A ready;
  put 'Totalt sent is:' &a; *a is a number stored in a macro;
run;
但是,此代码引发以下错误:test_pgm.log.140825.1227:错误:数据步骤组件对象失败。在编译阶段中止。 测试-pgm.log.140825.1227:错误557-185:变量集不是对象

我也试过了

  put 'Totalt sent is &a'; a is a number stored in a macro

它只是将&a写入电子邮件正文。

宏变量不会在单引号内解析

put "Totalt sent is &a" ;
应该有用


还要注意的是,您的首次看跌期权声明中缺少收盘单报价。

是的,这很有效!谢谢在单/双报价问题上花费一个小时-再次…供其他用户参考-我将使用我标记此副本的问题作为任何相同问题的“参考问题”。不要给它们添加新的答案,只要标记为重复即可。您可以通过搜索
[sas宏]单引号
轻松找到它。