Publicado el :
Macro CREATION_INTERNE

Prueba de recuperación de código de trabajo de SAS Viya

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script tiene como objetivo probar la macro `mv_getjobcode`. Procede en tres pasos: 1) Creación de un archivo que contiene código SAS© arbitrario y despliegue de este código como un Trabajo SAS© Viya a través de `mv_createjob`. 2) Recuperación del código de este Trabajo en una referencia de archivo a través de `mv_getjobcode`, mientras se monitorea la contaminación de las macro-variables con `mp_assertscope`. 3) Comparación del código recuperado con el código original a través de un paso DATA y validación final con `mp_assert`.
Análisis de datos

Type : CREATION_INTERNE


El script genera sus propios datos de prueba (código SAS almacenado en una variable) y utiliza archivos temporales del sistema.

1 Bloque de código
DATA STEP
Explicación :
Definición de una cadena de código SAS de prueba y escritura de esta cadena en un archivo temporal a través de un paso DATA _NULL_.
¡Copiado!
1%let incode=%str(DATA test; SET sashelp.class;RUN;);
2filename testref temp;
3DATA _null_;
4 file testref;
5 put "&incode";
6RUN;
2 Bloque de código
MACRO CALL
Explicación :
Llamada a la macro `mv_createjob` para crear un Trabajo SAS Viya en la ubicación de prueba especificada, que contiene el código definido previamente.
¡Copiado!
1%mv_createjob(
2 code=testref,
3 path=&mcTestAppLoc/services/temp,
4 name=some_job
5)
3 Bloque de código
MACRO CALL
Explicación :
Toma de una instantánea de las macro-variables, llamada a la función probada `mv_getjobcode` para recuperar el código del trabajo en el fileref 'mycode', y luego verificación de que no se ha creado ninguna macro-variable inesperada (fuga de alcance).
¡Copiado!
1%mp_assertscope(SNAPSHOT)
2%mv_getjobcode(
3 path=&mcTestAppLoc/services/temp,
4 name=some_job,
5 outref=mycode
6)
7%mp_assertscope(COMPARE,
8 ignorelist=MCLIB2_JADP1LEN MCLIB2_JADP2LEN MCLIB2_JADPNUM MCLIB2_JADVLEN
9 MCLIB2_JADP3LEN
10)
4 Bloque de código
DATA STEP Data
Explicación :
Lectura del código recuperado (fileref 'mycode') y comparación línea por línea con la cadena original almacenada en la macro-variable 'incode'. Si hay coincidencia, actualización del indicador de éxito.
¡Copiado!
1%let diditexist=NO;
2DATA work.test1;
3 INFILE mycode;
4 INPUT;
5 putlog _infile_;
6 line=_infile_;
7 check=symget('incode');
8 IF _infile_=symget('incode') THEN call symputx('diditexist','YES');
9RUN;
5 Bloque de código
MACRO CALL
Explicación :
Aserción final para validar que la prueba fue exitosa (el código fue recuperado correctamente).
¡Copiado!
1%mp_assert(
2 iftrue=(&diditexist=NO),
3 desc=Check IF the code that was sent was successfully retrieved
4)
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.