Veröffentlicht am :
Makro SASHELP

Makro mf_existfunction

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro sucht den Namen einer als Parameter übergebenen Funktion in der SASHELP.VFUNC-Systemansicht. Es gibt 1 zurück, wenn die Funktion gefunden wird, und 0, wenn nicht. Der Autor weist darauf hin, dass die Ausführung langsam sein kann, da das Öffnen der Tabelle sashelp.vfuncs erforderlich ist.
Datenanalyse

Type : SASHELP


Verwendet die Systemansicht sashelp.vfunc, um das Vorhandensein der Funktion zu überprüfen.

1 Codeblock
MACRO
Erklärung :
Das Makro öffnet die Tabelle SASHELP.VFUNC, gefiltert nach dem Namen der Funktion (in Großbuchstaben). Es versucht, eine Beobachtung mit %sysfunc(fetch) abzurufen. Wenn der Fetch 0 (Erfolg) zurückgibt, bedeutet dies, dass die Funktion existiert. Das boolesche Ergebnis (1 oder 0) wird über %sysevalf zurückgegeben.
Kopiert!
1%macro mf_existfunction(name)/*/STORE SOURCE*/;
2 
3 %local dsid rc exist;
4 %let dsid=%sysfunc(open(sashelp.vfunc(where=(fncname="%upcase(&name)"))));
5 %let exist=1;
6 %let exist=%sysfunc(fetch(&dsid, NOSET));
7 %let rc=%sysfunc(close(&dsid));
8 
9 %sysevalf(0 = &exist)
10 
11%mend mf_existfunction;
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.