Los datos provienen del SAS Metadata Server (SAS 9). El script utiliza las funciones de interfaz de metadatos (`metadata_resolve`, `metadata_getnobj`, `metadata_getattr`, `metadata_getnasn`) para extraer la información.
1 Bloque de código
OPTIONS
Explicación : Configuración de la conexión al servidor de metadatos de SAS 9. Se especifican las credenciales (aquí 'sasadm') y la dirección del servidor para permitir la consulta.
Explicación : Paso de datos principal que realiza la extracción. Inicializa una búsqueda de objetos 'Job' (Nota: la cadena de búsqueda `omsobj:Job?...` parece contener un artefacto de inyección de archivo en el prompt original, probablemente reemplazando ` @Id`). Luego, itera sobre cada trabajo encontrado para recuperar su nombre, el objeto de archivo fuente vinculado y el directorio de ese archivo, concatenando todo para formar la ruta `source`.
¡Copiado!
data source;
keep job_name source; /* Retain only the job name and it's source code full path. */
/* Initialize variables. */
length type id job_uri job_name file_uri file_name dir_uri path $ 50;
call missing (of _character_);
obj="omsobj:Job? @code_sas_json/_render_idcolumn.json contains '.'"; /* Search critera for Jobs. */
job_count=metadata_resolve(obj,type,id); /* Count all jobs. Only run loop if jobs exist. */
if job_count > 0 then do i=1 to job_count; /* Loop: For each job found, get attributes and associations. */
rc=metadata_getnobj(obj,i,job_uri);
rc=metadata_getattr(job_uri,"Name",job_name); /* Get job name. */
rc=metadata_getnasn(job_uri,"SourceCode",1,file_uri); /* Get file Metadata object id. */
rc=metadata_getattr(file_uri,"Name",file_name); /* Get file name. */
rc=metadata_getnasn(file_uri,"Directories",1,dir_uri); /* Get directory Metadata object id. */
rc=metadata_getattr(dir_uri,"DirectoryName",path); /* Get path to directory. */
source=catx('/',path,file_name); /* combine directory path and file name to create full path to file.*/
output;
end; /* End loop. */
else put "WARN: No jobs found in Metadata."; /* If no jobs are found, write a message to the log. */
run;
1
DATASOURCE;
2
3
keep job_name SOURCE; /* Retain only the job name and it's source code full path. */
4
5
/* Initialize variables. */
6
7
LENGTH type id job_uri job_name file_uri file_name dir_uri path $ 50;
8
call missing (of _character_);
9
10
obj="omsobj:Job? @code_sas_json/_render_idcolumn.json contains '.'"; /* Search critera for Jobs. */
11
12
job_count=metadata_resolve(obj,type,id); /* Count all jobs. Only run loop if jobs exist. */
13
14
IF job_count > 0 THENDO i=1 to job_count; /* Loop: For each job found, get attributes and associations. */
15
rc=metadata_getnobj(obj,i,job_uri);
16
rc=metadata_getattr(job_uri,"Name",job_name); /* Get job name. */
17
rc=metadata_getnasn(job_uri,"SourceCode",1,file_uri); /* Get file Metadata object id. */
18
rc=metadata_getattr(file_uri,"Name",file_name); /* Get file name. */
19
rc=metadata_getnasn(file_uri,"Directories",1,dir_uri); /* Get directory Metadata object id. */
20
rc=metadata_getattr(dir_uri,"DirectoryName",path); /* Get path to directory. */
21
SOURCE=catx('/',path,file_name); /* combine directory path and file name to create full path to file.*/
22
OUTPUT;
23
END; /* End loop. */
24
ELSE put "WARN: No jobs found in Metadata."; /* If no jobs are found, write a message to the log. */
25
RUN;
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.