Suche…


Einführung

Es gibt mehrere Gründe, warum Sie E-Mail-Funktionen in SAS benötigen. Sie könnten eine E-Mail senden, um jemanden darüber zu informieren, dass ein Prozess bestanden / nicht bestanden hat, Sie könnten eine E-Mail senden, die Makrovariablen enthält, aus denen hervorgeht, wie viele Datensätze am Ende Ihres Daten-Feeds geladen wurden, oder Sie müssen einige Dateien senden Berichte enthalten. Was auch immer Sie benötigen, Sie haben mehrere Möglichkeiten, E-Mails und Dateien in SAS zu versenden.

Parameter

Tag / Attribut Wert
LRECL Mit diesem Parameter wird die Datensatzlänge beim Lesen und Schreiben von Dateien festgelegt. Ich habe viele Probleme gelöst, indem ich diesen Wert auf den Maximalwert von 32767 gesetzt habe. Es ist sehr wahrscheinlich, dass das Setzen eines solchen Werts auf den Maximalwert weniger effizient ist, aber am Ende des Tages wird die Arbeit für mich erledigt jeder spürbare Leistungsverlust. (der Bereich für LRECL ist 1-32767)

Senden einer einfachen Text-E-Mail mit 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;

Anhängen einer Excel-Datei an Ihre SAS-E-Mail

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;

Senden einer SAS-E-Mail mit einem HTML-Text

Beachten Sie den E-Mail-Typ: 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;

Es ist sehr wahrscheinlich, dass Sie nach dem Erstellen einer HTML-E-Mail in SAS feststellen, dass der HTML-Code beim Empfang der E-Mail verzerrt ist. Dies ist darauf zurückzuführen, dass SAS die nächste Zeile im Text Ihres PUTs bricht. Wahrscheinlich wurde eine Pause mitten in einem Text Ihres Tags platziert. Sollte Ihnen dies passieren, verschieben Sie Ihre HTML-Tags. Es ist vielleicht nicht schön, aber Sie müssen möglicherweise einige Tags mit einer Zeile teilen, um dies zu vermeiden. Dies ist mir passiert und genau so habe ich diese Probleme behoben.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow