Das Skript interagiert mit dem SAS-Metadatenserver für die Erstellung und Überprüfung des Ordners. Es verwendet die Systemoptionen `metaserver` und `metaport` für die Verbindung. Darüber hinaus führt es einen externen Systembefehl (`sas-make-folder`) über die `pipe`-Anweisung aus, was eine Interaktion mit der zugrunde liegenden Betriebssystemumgebung impliziert. Es verarbeitet keine traditionellen externen Datendateien (CSV, Excel usw.), die nicht vom Skript selbst oder den SASHELP-Bibliotheken verwaltet würden.
1 Codeblock
MACRO CALL / DATA STEP
Erklärung : Dieser Block initialisiert lokale Makrovariablen (`host`, `port`, `path`, `connx_string`, `msg`). Er ruft den Host und Port des SAS-Metadatenservers über die Funktion `getoption` ab. Anschließend konstruiert er die Verbindungszeichenfolge (`connx_string`), die die bereitgestellten Anmeldeinformationen enthält, und einen Pfad (`path`) zu einem externen Tool `sas-make-folder` (das Makro `%mf_loc` ist eine externe Abhängigkeit). Ein `DATA _NULL_`-Schritt wird mit der Anweisung `infile ... pipe` verwendet, um den externen Befehl `sas-make-folder` mit den definierten Parametern auszuführen, um den Metadatenordner zu erstellen. Die Ausgabe des Befehls wird über `putlog _infile_` an das SAS-Log geleitet.
Erklärung : Dieser Block überprüft die Erstellung des Ordners und handhabt Fehler. Ein `DATA _NULL_`-Schritt verwendet die Funktion `metadata_pathobj`, um den Metadatenserver nach dem Typ des existierenden Objekts am durch `&loc` angegebenen Speicherort abzufragen. Das Ergebnis, das den Objekttyp (z.B. 'Tree' für einen Ordner) angibt, wird über `call symputx` in der lokalen Makrovariablen `foldertype` gespeichert. Wenn `foldertype` nicht 'Tree' ist, wird das Makro `%mp_abort` (ein Abbruchmakro mit Fehlermeldung) aufgerufen, was darauf hinweist, dass der Speicherort nicht korrekt erstellt wurde.
Kopiert!
data _null_; /* check tree exists */
length type uri $256;
rc=metadata_pathobj("","&loc","Folder",type,uri);
call symputx('foldertype',type,'l');
run;
%let msg=Location (&loc) was not created!!;
%mp_abort(iftrue= (&foldertype ne Tree)
,mac=&_program..sas
,msg=%superq(msg)
)
1
DATA _null_; /* check tree exists */
2
LENGTH type uri $256;
3
rc=metadata_pathobj("","&loc","Folder",type,uri);
4
call symputx('foldertype',type,'l');
5
RUN;
6
%let msg=Location (&loc) was not created!!;
7
%mp_abort(iftrue= (&foldertype ne Tree)
8
,mac=&_program..sas
9
,msg=%superq(msg)
10
)
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.