Este programa realiza una serie de pruebas unitarias: 1. Simulación de una solicitud web entrante (FETCH) a través de macrovariables y verificación de la tabla resultante mediante `mp_assertdsobs`. 2. Generación de un flujo JSON complejo (Matrices y Objetos) a un archivo físico temporal mediante `mv_webout`. 3. Relectura del archivo JSON generado usando el motor `LIBNAME JSON` para validar la integridad y estructura de los datos producidos.
Análisis de datos
Type : CREACION_INTERNA
Todos los datos se simulan dentro del script (paso DATA, macrovariables) o son generados por las macros probadas.
1 Bloque de código
DATA STEP
Explicación : Inicialización del entorno de prueba: definición de macrovariables que simulan datos recibidos de una solicitud web (formato SASjs).
¡Copiado!
data _null_;
call symputx('sasjs1data','area:$char4.'!!'0d0a'x!!'Adak');
call symputx('sasjs_tables','areas');
run;
%put &=sasjs1data;
%let fref=%mf_getuniquefileref();
%global _metaperson;
data some datasets;
x=1;
run;
%mv_webout(OPEN,fref=&fref,stream=N)
%mv_webout(ARR,some,fref=&fref,stream=N)
%mv_webout(OBJ,datasets,fref=&fref,stream=N)
%mv_webout(CLOSE,fref=&fref,stream=N)
1
%let fref=%mf_getuniquefileref();
2
%global _metaperson;
3
DATA some datasets;
4
x=1;
5
RUN;
6
%mv_webout(OPEN,fref=&fref,stream=N)
7
%mv_webout(ARR,some,fref=&fref,stream=N)
8
%mv_webout(OBJ,datasets,fref=&fref,stream=N)
9
%mv_webout(CLOSE,fref=&fref,stream=N)
4 Bloque de código
DATA STEP
¡Copiado!
data _null_;
infile &fref;
input;
putlog _infile_;
run;
libname test JSON (&fref);
data root;
set test.root;
call symputx('checkval',sysvlong);
run;
data alldata;
set test.alldata;
run;
%mp_assert(
iftrue=(%str(&checkval)=%str(&sysvlong)),
desc=Check if the sysvlong value was created
)
1
DATA _null_;
2
INFILE &fref;
3
INPUT;
4
putlog _infile_;
5
RUN;
6
7
LIBNAME test JSON (&fref);
8
DATA root;
9
SET test.root;
10
call symputx('checkval',sysvlong);
11
RUN;
12
DATA alldata;
13
SET test.alldata;
14
RUN;
15
16
%mp_assert(
17
iftrue=(%str(&checkval)=%str(&sysvlong)),
18
desc=Check IF the sysvlong value was created
19
)
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.
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.