Veröffentlicht am :
Dienstprogramm INTERNE_ERSTELLUNG

Überprüfung der Existenz eines Ordners auf SAS Drive

Dieser Code ist auch verfügbar auf: English Español Français
Attention : Dieser Code erfordert Administratorrechte.
Das Makro `mfv_existfolder` nimmt einen Ordnerpfad als Parameter (`path`). Es verwendet die `filename`-Funktion mit dem `filesrvc`-Modul, um die Existenz des Ordners auf SAS© Drive zu prüfen. Das Standardverhalten der `filename`-Funktion ist es, den Wert von `&syscc` im Fehlerfall (Ordner nicht gefunden) zu ändern. Um dieses Verhalten zu kontrollieren, enthält das Makro eine explizite Rücksetzung von `&syscc` auf 0, wenn der Ordner nicht gefunden wird. Aufrufe des Makros `mf_abort` sind am Anfang und Ende vorhanden, um Fehlerbedingungen zu handhaben und einen sauberen Exit zu gewährleisten, falls `&syscc` vor oder nach der Ausführung des Hauptteils des Makros ein Problem anzeigt. Die Verwendung einer eindeutigen Dateireferenz (`%mf_getuniquefileref()`) stellt sicher, dass es keine Konflikte mit anderen Dateireferenzen gibt. Die Interaktion mit SAS© Drive und dem `filesrvc`-Modul kann Operationen beinhalten, die administrative Privilegien erfordern, daher die Klassifizierung 'admin: 1'.
Datenanalyse

Type : INTERNE_ERSTELLUNG


Das Makro verarbeitet nicht direkt Daten, sondern interagiert mit dem Dateisystem von SAS Drive (Metadaten zur Ordner-Existenz). Es werden innerhalb des Makros selbst keine externen Daten für die analytische Verarbeitung gelesen oder erstellt.

1 Codeblock
MACRO (mf_abort)
Erklärung :
Dieser Block überprüft den Wert der Systemvariablen `&syscc`. Wenn `&syscc` nicht Null ist (was auf einen vorherigen Fehler hinweist), wird das Makro `mf_abort` aufgerufen, um die Ausführung zu beenden und eine Fehlermeldung anzuzeigen. Dies stellt sicher, dass das Makro `mfv_existfolder` nicht ausgeführt wird, wenn die Umgebung bereits in einem Fehlerzustand ist.
Kopiert!
1%mf_abort(
2 iftrue=(&syscc ne 0),
3 msg=Cannot enter mfv_existfolder.sas with syscc=&syscc
4 )
2 Codeblock
MACRO
Erklärung :
Deklariert die lokalen Makrovariablen `fref`, `rc` und `var`. Die Variable `fref` wird anschließend über das Makro `mf_getuniquefileref` eine eindeutige Dateireferenz zugewiesen, um Konflikte zu vermeiden und die Einzigartigkeit der temporären Dateireferenz zu gewährleisten.
Kopiert!
1%local fref rc var;
2%let fref=%mf_getuniquefileref();
3 
3 Codeblock
MACRO
Erklärung :
Dieser Block ist das Herzstück des Makros. Er versucht, eine Dateireferenz (`fref`) einem Ordnerpfad (`&path`) auf SAS Drive mithilfe des `filesrvc`-Moduls zuzuweisen. Die `filename`-Funktion gibt 0 zurück, wenn die Zuweisung erfolgreich ist (was anzeigt, dass der Ordner existiert). Wenn der Ordner existiert, gibt das Makro den Wert '1' zurück. Wenn der Ordner nicht existiert, setzt die `filename`-Funktion `&syscc` auf einen Wert ungleich Null; das Makro setzt dann `&syscc` im `%else`-Block auf 0 zurück, um zu verhindern, dass dieser Fehler zukünftige Operationen beeinträchtigt. Die Variable `var` und die Dateireferenz werden nach Gebrauch bereinigt.
Kopiert!
1%IF %sysfunc(filename(fref,,filesrvc,folderPath="&path"))=0 %THEN %DO;
2 1
3 %let var=_FILESRVC_&fref._URI;
4 %let rc=%sysfunc(filename(fref));
5 %symdel &var;
6 %END;
7 %ELSE %DO;
8 0
9 %let syscc=0;
10 %END;
4 Codeblock
MACRO (mf_abort)
Erklärung :
Dieser Block überprüft den Wert von `&syscc` erneut, bevor das Makro beendet wird. Wenn `&syscc` ungleich Null ist, wird das Makro `mf_abort` aufgerufen, um einen Fehler zu signalisieren, der während der Ausführung des Hauptteils des Makros `mfv_existfolder` aufgetreten ist.
Kopiert!
1%mf_abort(
2 iftrue=(&syscc ne 0),
3 msg=Cannot leave mfv_existfolder.sas with syscc=&syscc
4 )
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 : Allan Bowe