Szukaj…


Wprowadzenie

Istnieje kilka powodów, dla których możesz potrzebować funkcji poczty e-mail w SAS. Możliwe, że wysyłasz wiadomość e-mail, aby powiadomić kogoś, że proces przeszedł / nie powiódł się, możesz wysłać wiadomość e-mail zawierającą Zmienne makr, które pokazują, ile rekordów załadowano na końcu pliku danych, a może potrzebujesz wysłać pliki, które zawierają raporty. Cokolwiek potrzebujesz, istnieje kilka sposobów wysyłania wiadomości e-mail i plików w SAS.

Parametry

Tag / Atrybut Wartość
LRECL Ten parametr służy do definiowania długości rekordu podczas odczytu i zapisu plików. Rozwiązałem wiele problemów, ustawiając to na maksymalną wartość, czyli 32767. Jest bardzo możliwe, że ustawienie czegoś takiego na maksymalną wartość jest mniej wydajne, ale pod koniec dnia wykonuje zadanie za mnie bez odczuwalna utrata wydajności. (zakres dla LRECL to 1-32767)

Wysłanie podstawowej wiadomości e-mail za pomocą 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;

Dołączanie pliku programu Excel do wiadomości e-mail 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;

Wysyłanie wiadomości e-mail SAS z treścią HTML

Zanotuj typ wiadomości 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;

Jest bardzo możliwe, że po zbudowaniu wiadomości e-mail HTML w SAS okaże się, że HTML jest zniekształcony po otrzymaniu wiadomości e-mail. Wynika to z tego, że SAS wstawia przerwy do następnego wiersza w tekście twojego PUT. Przerwa została prawdopodobnie umieszczona w samym środku tekstu tagu. Jeśli tak się stanie, spróbuj przenieść tagi HTML. To może nie być ładne, ale może być konieczne, aby niektóre tagi dzieliły linię, aby tego uniknąć. To mi się przydarzyło i właśnie tak naprawiłem te problemy.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow