Attention : Este código requiere privilegios de administrador.
El script comienza borrando las ventanas DM (Display Manager) 'output' y 'log'. Luego define tres macros: 'startT' para capturar la fecha y hora de inicio, 'endT' para la fecha y hora de finalización, y 'email' para formatear y enviar un correo electrónico de notificación. La macro 'email' configura las opciones SMTP y utiliza una referencia de archivo EMAIL para enviar el mensaje. El script luego llama a 'startT' y 'endT', ejecuta un paso DATA simple 'Hello world!', y finalmente envía un correo electrónico de notificación a través de la macro 'email'.
Análisis de datos
Type : CREATION_INTERNE
Los datos manipulados en este script (fechas, horas, mensajes de correo electrónico) se generan dinámicamente o son literales. No hay lectura de datos externos o conjuntos de datos SAS persistentes.
1 Bloque de código
Comandos DM
Explicación : Estos comandos borran el contenido de las ventanas 'output' y 'log' del Display Manager (DM) en el entorno SAS.
¡Copiado!
dm 'output;clear';
dm 'log;clear';
1
dm 'output;clear';
2
dm 'log;clear';
2 Bloque de código
MACRO STARTT
Explicación : Esta macro define dos variables macro, &startdate y &starttime, que contienen la fecha y hora actuales formateadas en el momento de su ejecución. Utiliza un paso DATA _NULL_ porque no se crea ningún conjunto de datos.
Explicación : Similar a la macro startT, esta macro define las variables macro &enddate y &endtime para registrar la fecha y hora de finalización de la ejecución.
Explicación : Esta macro configura las opciones del sistema para el envío de correos electrónicos a través de SMTP, especificando el remitente (EMAILID) y el servidor (EMAILHOST). Crea una referencia de archivo 'mymail' de tipo EMAIL, define el destinatario (TO) y el asunto del correo electrónico usando el parámetro 'dt' pasado a la macro. Luego se utiliza un paso DATA _NULL_ para escribir el cuerpo del mensaje en el archivo vinculado a 'mymail', incluyendo la información de inicio y fin capturada previamente.
¡Copiado!
%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 Bloque de código
Llamada a macros
Explicación : Estas líneas llaman a las macros StartT y EndT para inicializar las variables macro de fecha y hora de inicio y fin.
¡Copiado!
%StartT;
%EndT;
1
%StartT;
2
%EndT;
6 Bloque de código
PASO DATA
Explicación : Este simple paso DATA escribe la cadena "Hello world!" en el log de SAS. Aquí sirve como ejemplo de código a ejecutar entre las marcas de tiempo de inicio y fin.
¡Copiado!
data _null_;
put "Hello world!";
run;
1
DATA _null_;
2
put "Hello world!";
3
RUN;
7 Bloque de código
Llamada a macro
Explicación : Esta línea llama a la macro Email con 'test' como parámetro, lo que activa el envío del correo electrónico de notificación con el asunto 'test finished' y la información de tiempo de ejecución.
¡Copiado!
%Email(test);
1
%Email(test);
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Created by: Kevin Fong, Date Created: 2/4/14
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.