Attention : Ce code nécessite des droits administrateur.
Le script commence par effacer les fenêtres DM (Display Manager) 'output' et 'log'. Il définit ensuite trois macros : 'startT' pour capturer la date et l'heure de début, 'endT' pour la date et l'heure de fin, et 'email' pour formater et envoyer un e-mail de notification. La macro 'email' configure les options SMTP et utilise une fileref EMAIL pour envoyer le message. Le script appelle ensuite 'startT' et 'endT', exécute un simple pas DATA 'Hello world!', puis envoie un e-mail de notification via la macro 'email'.
Analyse des données
Type : CREATION_INTERNE
Les données manipulées dans ce script (dates, heures, messages d'e-mail) sont générées dynamiquement ou sont des littéraux. Il n'y a pas de lecture de données externes ou de datasets SAS persistants.
1 Bloc de code
Commandes DM
Explication : Ces commandes effacent le contenu des fenêtres 'output' et 'log' du Display Manager (DM) dans l'environnement SAS.
Copié !
dm 'output;clear';
dm 'log;clear';
1
dm 'output;clear';
2
dm 'log;clear';
2 Bloc de code
MACRO STARTT
Explication : Cette macro définit deux variables macro, &startdate et &starttime, qui contiennent la date et l'heure actuelles formatées au moment de son exécution. Elle utilise un pas DATA _NULL_ car aucun dataset n'est créé.
Explication : Similaire à la macro startT, cette macro définit les variables macro &enddate et &endtime pour enregistrer la date et l'heure de fin de l'exécution.
Explication : Cette macro configure les options système pour l'envoi d'e-mails via SMTP, spécifiant l'expéditeur (EMAILID) et le serveur (EMAILHOST). Elle crée une fileref 'mymail' de type EMAIL, définit le destinataire (TO) et le sujet de l'e-mail en utilisant le paramètre 'dt' passé à la macro. Un pas DATA _NULL_ est ensuite utilisé pour écrire le corps du message dans le fichier lié à 'mymail', incluant les informations de début et de fin capturées précédemment.
Copié !
%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 Bloc de code
Appel de macros
Explication : Ces lignes appellent les macros StartT et EndT pour initialiser les variables macro de date et d'heure de début et de fin.
Copié !
%StartT;
%EndT;
1
%StartT;
2
%EndT;
6 Bloc de code
DATA STEP
Explication : Ce simple pas DATA écrit la chaîne "Hello world!" dans le log SAS. Il sert ici d'exemple de code à exécuter entre les horodatages de début et de fin.
Copié !
data _null_;
put "Hello world!";
run;
1
DATA _null_;
2
put "Hello world!";
3
RUN;
7 Bloc de code
Appel de macro
Explication : Cette ligne appelle la macro Email avec 'test' comme paramètre, ce qui déclenche l'envoi de l'e-mail de notification avec le sujet 'test finished' et les informations de temps d'exécution.
Copié !
%Email(test);
1
%Email(test);
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Created by: Kevin Fong, Date Created: 2/4/14
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.