Publicado el :
Macro SASHELP

Macro AHGlibpath - Recuperación de la ruta física de una librería

Este código también está disponible en: Deutsch English Français
Esta macro analiza el nombre de la librería (o tabla) proporcionado. Excluye las librerías estándar (WORK, SASHELP, SASUSER). Para las otras librerías, consulta la vista SASHELP.VLIBNAM para extraer la ruta física (path) y la almacena en una variable macro especificada. Nota: El código parece contener una inconsistencia de variable (&thedsn vs &lib) y posibles errores de sintaxis (%upcase(lib) en lugar de &lib).
Análisis de datos

Type : SASHELP


Uso de la vista del sistema SASHELP.VLIBNAM para leer los metadatos de las librerías.

1 Bloque de código
DATA STEP
Explicación :
Definición de la macro. Lógica condicional para determinar el libref objetivo. Si no es una librería por defecto, ejecución de un DATA STEP _NULL_ para leer SASHELP.VLIBNAM y asignar la ruta a la macro-variable objetivo a través de CALL SYMPUT.
¡Copiado!
1%macro AHGlibpath(lib,into);
2%IF not %index(&thedsn,.) %THEN %let lib=Work;
3%ELSE %let lib=%scan(&lib,1,.);
4 
5%IF %upcase(lib)=WORK %THEN ;
6%ELSE %IF %upcase(lib)=SASHELP %THEN ;
7%ELSE %IF %upcase(lib)=SASUSER %THEN ;
8%ELSE
9%DO;
10DATA _null_;
11 SET sashelp.vlibnam(where=(upcase("&lib")=LIBNAME));
12 call symput("&into",path);
13RUN;
14%END;
15 
16%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.