Recherche…


Introduction

Il existe plusieurs raisons pour lesquelles vous pourriez avoir besoin de fonctionnalités de messagerie dans SAS. Vous pourriez envoyer un courrier électronique pour informer une personne qu'un processus a réussi / échoué, vous pourriez envoyer un courrier électronique contenant des variables de macro qui indiquent combien d'enregistrements ont été chargés à la fin de votre flux de données, ou peut-être contenir des rapports. Quel que soit votre besoin, il existe plusieurs manières d’envoyer des e-mails et des fichiers dans SAS.

Paramètres

Tag / Attribut Valeur
LRECL Ce paramètre permet de définir la longueur de l'enregistrement lors de la lecture et de l'écriture de fichiers. J'ai résolu de nombreux problèmes en réglant simplement cette valeur à la valeur maximale, à savoir 32767. Il est très possible que définir une valeur similaire à sa valeur maximale soit moins efficace, mais au bout du compte, le travail est fait sans toute perte de performance ressentie. (la gamme pour LRECL est 1-32767)

Envoi d'un email texte de base avec SAS

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'Text/Plain';


Data _null_; File myEmail;
    PUT "Email content";
    PUT "&recordsCount loaded to your favorite table today!";
RUN;

Joindre un fichier Excel à votre messagerie SAS

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'Text/Plain'
    ATTACH = ("my/excel/file/path/file.extension" content_type="application/vnd.ms-excel" LRECL= 32767);


Data _null_; File myEmail;
    PUT "Email contentent";
    PUT "&recordsCount loaded to your favorite table today!";
RUN;

Envoi d'un email SAS avec un corps HTML

Prenez note du type d'e-mail: Type = 'text / html';

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'text/html';

Data _null_; File myEmail;
PUT "
<html>
    <head>
        <style>
            table, th, td {
                border: 1px solid black;
                   border-collapse: collapse;
            }
        </style>
    </head>
    <body>
        <p>Here is your email</p>
        <p>Go ahead, organize your data within an HTML table tag here!</p>
        <table>
            <tr>
                <th>
                    column 1
                </th>
                <th>
                    column 2
                </th>
            </tr>
            <tr>
                <td>
                    &countOfRecords1
                </td>
                <td>
                    &countOfRecords2
                </td>
            </tr>
        </table>
    </body>
</html>
";
RUN;

Il est très possible qu'après avoir créé un message HTML dans SAS, vous constatez que le code HTML est déformé lorsque vous recevez le courrier électronique. Ceci est le résultat de la mise en pause de SAS à la ligne suivante du texte de votre PUT. Une pause a probablement été placée au milieu d'un texte de votre tag. Si cela vous arrive, essayez de déplacer vos balises HTML. Ce n'est peut-être pas joli, mais vous devrez peut-être avoir des balises pour partager une ligne pour éviter que cela se produise. Cela m'est arrivé, et c'est exactement comme ça que j'ai résolu ce problème.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow