Veröffentlicht am :
Macro EXTERNE

Makro dsc_echofile_tolog

Dieser Code ist auch verfügbar auf: English Español Français
Diese Makro nimmt als Eingabe eine Liste von durch Leerzeichen getrennten Filerefs. Es überprüft für jedes Fileref, ob es gültig ist und einem existierenden Datei zugeordnet ist. Falls dies der Fall ist, verwendet es einen DATA _NULL_ Schritt, um die Datei Zeile für Zeile (mit einer maximalen Länge von 32767 Zeichen) zu lesen und den Inhalt in das SAS©-Log zu schreiben. Es wird hauptsächlich zum Debuggen oder zur Aufbewahrung einer Spur von externen Konfigurations-/Log-Dateien im SAS©-Ausführungsbericht verwendet.
Datenanalyse

Type : EXTERNE


Das Makro liest Daten aus externen Dateien, die durch die als Parameter übergebenen Filerefs (Argument 'fileRefs') identifiziert werden.

1 Codeblock
DATA STEP
Erklärung :
Die Definition des Makros. Es durchläuft die Liste der 'fileRefs', überprüft deren Existenz über %sysfunc(fileref(...)) und führt dann einen DATA STEP _NULL_ aus, um den Inhalt der Datei (infile) zu lesen und in das Log (put) zu schreiben.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright 2020, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.