Publicado el :
Macro EXTERNE

Macro dsc_echofile_tolog

Este código también está disponible en: Deutsch English Français
Esta macro toma como entrada una lista de filerefs separados por espacios. Verifica para cada fileref si es válido y está asociado a un archivo existente. Si es así, utiliza un paso DATA _NULL_ para leer el archivo línea por línea (con una longitud máxima de 32767 caracteres) y escribir el contenido en el log SAS©. Se utiliza principalmente para la depuración o para mantener un registro de archivos de configuración/logs externos en el informe de ejecución de SAS©.
Análisis de datos

Type : EXTERNE


La macro lee datos de archivos externos identificados por los filerefs pasados como parámetro (argumento 'fileRefs').

1 Bloque de código
DATA STEP
Explicación :
Definición de la macro. Itera sobre la lista de 'fileRefs', verifica su existencia a través de %sysfunc(fileref(...)), y luego ejecuta un DATA STEP _NULL_ para leer el contenido del archivo (infile) y escribirlo en el log (put).
¡Copiado!
1%macro dsc_echofile_tolog(fileRefs=);
2 
3 /* echo the file contents to log if file exists */
4 %IF %LENGTH(&fileRefs) > 0 %THEN
5 %DO;
6 %let i=1;
7 %DO %while (%scan(&fileRefs,&i,' ') ne );
8 %let fileRef=%scan(&fileRefs,&i);
9 /* if the fileref & its associated file exists? */
10 %IF %sysfunc(fileref(&fileRef)) = 0 %THEN
11 %DO;
12 DATA _null_;
13 LENGTH linetxt $32767;
14 IF _n_ = 1 THEN
15 DO;
16/* fileHeader=sasmsg("&msg_dset","_cxa_norm_19_note","noquote","&fileRef");*/
17/* put fileHeader;*/
18 END;
19 INFILE &fileRef. LENGTH=reclen ;
20 INPUT linetxt $varying32767. reclen ;
21 put linetxt;
22 RUN;
23 %END;
24 %let i=%eval(&i+1);
25 %END;/* %do %while */
26 %END;/*%if %length(&fileRefs)*/
27%mend;
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 : Copyright 2020, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.