You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何整合两段SAS代码实现自动邮件发送并替换PUT内容?

解决方案:整合SAS代码实现自动发送检查结果邮件

要把两段代码整合,核心是把Code1的检查结果从日志输出转为可被邮件模块调用的内容,具体修改步骤如下:

1. 修正并改造Code1的宏,存储检查结果

原来的Code1存在两个问题:一是SQL语句未将计数结果存入宏变量,导致%if判断无效;二是仅在日志输出结果,无法直接用于邮件。我们需要修改宏,将每个分支的检查结果存入全局宏变量,方便后续邮件调用:

%macro Controle_QDD (Branche);
    /* 声明全局宏变量,用于存储所有分支的检查结果 */
    %global Email_Content;

    data SITMVT&Branche.;
        set Stock&Branche.;
        merge Stock&Branche. (in=A) Base&Branche. (in=B);
        by &Varlist.;
        if A and not B;
    run;

    proc sql noprint;
        /* 将计数结果存入宏变量&NB&Branche.,trimmed去除多余空格 */
        select count(*) into :NB&Branche. trimmed
        from SITMVT&Branche.;
    quit;

    /* 根据计数生成检查消息,并追加到全局宏变量中 */
    %if &NB&Branche. > 0 %then
        %let Email_Content = &Email_Content. Le contrôle QDD est OK pour SITMVT&Branche..<br>;
    %else
        %let Email_Content = &Email_Content. Le contrôle est KO pour SITMVT&Branche. Je vous invite à vérifier les résultats en exécutant le code.<br>;
%mend;

/* 初始化全局宏变量,避免空值导致的拼接问题 */
%let Email_Content = ;
%Controle_QDD(B);
%Controle_QDD(L);

2. 修改Code2的邮件模块,调用预存的检查结果

直接在邮件数据步中输出全局宏变量&Email_Content.的内容,替换原来的占位符:

filename mymail email FROM= "XXX"
TO=(
"XXX"
)
Cc=("XXX"
)
TYPE="text/html"
CONTENT_TYPE="text/html";

DATA _null_;
    FILE mymail SUBJECT="Controle QDD ";
    
    PUT 'Bonjour,';
    PUT '<br>';
    PUT '<br>';
    PUT '<br>';

    /* 输出预先生成的检查结果 */
    PUT "&Email_Content.";

    PUT '<br>';
    PUT 'Pour avis :-)';
    PUT '<br>';
    PUT '<br>';
    PUT '<i>Note: ce mail est généré automatiquement, merci de ne pas y répondre.</i> ';
    PUT '<br>';
    PUT 'Cordialement,';
RUN;

关键修改说明

  • 新增%global Email_Content;声明全局宏变量,确保宏内部生成的内容能被外部邮件模块访问
  • SQL语句添加into :NB&Branche. trimmed,将查询结果存入宏变量,解决原代码%if判断无效的问题
  • 初始化%let Email_Content = ;避免首次拼接时出现空值异常
  • 邮件数据步中直接调用&Email_Content.,将所有分支的检查结果插入邮件正文

内容的提问来源于stack exchange,提问作者nadal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 00:03:27