mirror of
https://github.com/sasjs/core.git
synced 2026-06-08 12:00:21 +00:00
73fd85d254
Fetches a caslib from a regular SAS libref
38 lines
872 B
SAS
38 lines
872 B
SAS
/**
|
|
@file mfv_getcaslib.sas
|
|
@brief Returns the CAS caslib name for a given SAS libref
|
|
@details Pure macro function. Reads sashelp.vlibnam and returns
|
|
the sysvalue where sysname='Caslib' for the given libref. This
|
|
is useful when the caslib name and libref name may differ.
|
|
|
|
Usage:
|
|
|
|
%put %mfv_getcaslib(lib=PUBLIC);
|
|
|
|
@param [in] lib SAS libref for which to return the CAS caslib name
|
|
|
|
@return Returns the CAS caslib name, or empty string if not found
|
|
|
|
**/
|
|
|
|
%macro mfv_getcaslib(lib);
|
|
|
|
%local dsid rc result;
|
|
|
|
%let dsid=%sysfunc(open(sashelp.vlibnam(
|
|
where=(libname="%upcase(&lib)" and sysname="Caslib")
|
|
)));
|
|
|
|
%if &dsid %then %do;
|
|
%let rc=%sysfunc(fetch(&dsid));
|
|
%if &rc=0 %then
|
|
%let result=%sysfunc(
|
|
getvarc(&dsid,%sysfunc(varnum(&dsid,SYSVALUE)))
|
|
);
|
|
%let rc=%sysfunc(close(&dsid));
|
|
%end;
|
|
|
|
&result
|
|
|
|
%mend mfv_getcaslib;
|