Attention : Dieser Code erfordert Administratorrechte.
Das Skript beginnt damit, die DM (Display Manager)-Fenster 'output' und 'log' zu löschen. Anschließend definiert es drei Makros: 'startT' zum Erfassen von Startdatum und -uhrzeit, 'endT' für Enddatum und -uhrzeit, und 'email' zum Formatieren und Senden einer E-Mail-Benachrichtigung. Das Makro 'email' konfiguriert die SMTP-Optionen und verwendet eine Fileref EMAIL, um die Nachricht zu senden. Das Skript ruft dann 'startT' und 'endT' auf, führt einen einfachen DATA-Schritt 'Hello world!' aus und sendet anschließend eine E-Mail-Benachrichtigung über das Makro 'email'.
Datenanalyse
Type : CREATION_INTERNE
Die in diesem Skript manipulierten Daten (Datum, Uhrzeiten, E-Mail-Nachrichten) werden dynamisch generiert oder sind Literale. Es erfolgt keine externe Datenlesung oder Verwendung persistenter SAS-Datasets.
1 Codeblock
DM-Befehle
Erklärung : Diese Befehle löschen den Inhalt der 'output'- und 'log'-Fenster des Display Managers (DM) in der SAS-Umgebung.
Kopiert!
dm 'output;clear';
dm 'log;clear';
1
dm 'output;clear';
2
dm 'log;clear';
2 Codeblock
MACRO STARTT
Erklärung : Dieses Makro definiert zwei Makrovariablen, &startdate und &starttime, die das aktuelle formatierte Datum und die Uhrzeit zum Zeitpunkt ihrer Ausführung enthalten. Es verwendet einen DATA _NULL_-Schritt, da kein Dataset erstellt wird.
Erklärung : Ähnlich wie das Makro startT definiert dieses Makro die Makrovariablen &enddate und &endtime, um das Enddatum und die Enduhrzeit der Ausführung zu speichern.
Erklärung : Dieses Makro konfiguriert die Systemoptionen für den E-Mail-Versand über SMTP, wobei der Absender (EMAILID) und der Server (EMAILHOST) angegeben werden. Es erstellt eine Fileref 'mymail' vom Typ EMAIL, definiert den Empfänger (TO) und den Betreff der E-Mail unter Verwendung des an das Makro übergebenen Parameters 'dt'. Anschließend wird ein DATA _NULL_-Schritt verwendet, um den Nachrichtentext in die mit 'mymail' verknüpfte Datei zu schreiben, einschließlich der zuvor erfassten Start- und Endinformationen.
Kopiert!
%macro email(dt);
/* Set up the options for the email. */
OPTIONS EMAILSYS=smtp EMAILID="kfong @cornerstone.com"
EMAILHOST=CRDCEXCH10.cornerstone.com;
FILENAME mymail
EMAIL
TO = ("kfong @cornerstone.com")
SUBJECT="&dt. finished"
;
/* Send the email and define the message to send. */
DATA _NULL_;
FILE mymail;
PUT "Hello,";
PUT " ";
PUT "The code for &dt. has finished running.";
PUT "Start: &StartTime. &StartDate. ";
PUT "End: &EndTime. &EndDate. ";
RUN;
%mend;
/* Send the email and define the message to send. */
11
DATA _NULL_;
12
FILE mymail;
13
PUT "Hello,";
14
PUT " ";
15
PUT "The code for &dt. has finished running.";
16
PUT "Start: &StartTime. &StartDate. ";
17
PUT "End: &EndTime. &EndDate. ";
18
RUN;
19
%mend;
5 Codeblock
Makroaufruf
Erklärung : Diese Zeilen rufen die Makros StartT und EndT auf, um die Makrovariablen für Start- und Enddatum sowie -uhrzeit zu initialisieren.
Kopiert!
%StartT;
%EndT;
1
%StartT;
2
%EndT;
6 Codeblock
DATA STEP
Erklärung : Dieser einfache DATA-Schritt schreibt die Zeichenfolge "Hello world!" in das SAS-Log. Er dient hier als Beispielcode, der zwischen den Start- und Endzeitstempeln ausgeführt wird.
Kopiert!
data _null_;
put "Hello world!";
run;
1
DATA _null_;
2
put "Hello world!";
3
RUN;
7 Codeblock
Makroaufruf
Erklärung : Diese Zeile ruft das Makro Email mit 'test' als Parameter auf, was den Versand der E-Mail-Benachrichtigung mit dem Betreff 'test finished' und den Ausführungszeitinformationen auslöst.
Kopiert!
%Email(test);
1
%Email(test);
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Created by: Kevin Fong, Date Created: 2/4/14
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.