mirror of
https://github.com/sasjs/core.git
synced 2026-01-17 05:20:05 +00:00
feat: adding mf_getxengine macro for determining the engine of a sas fileref
This commit is contained in:
@@ -22,6 +22,9 @@
|
|||||||
@version 9.2
|
@version 9.2
|
||||||
@author Allan Bowe
|
@author Allan Bowe
|
||||||
|
|
||||||
|
<h4> Related Macros </h4>
|
||||||
|
@li mf_getxengine.sas
|
||||||
|
|
||||||
**/
|
**/
|
||||||
/** @cond */
|
/** @cond */
|
||||||
|
|
||||||
|
|||||||
43
base/mf_getxengine.sas
Normal file
43
base/mf_getxengine.sas
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Returns the engine type of a SAS fileref
|
||||||
|
@details Queries sashelp.vextfl to get the xengine value.
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
filename feng temp;
|
||||||
|
%put %mf_getxengine(feng);
|
||||||
|
|
||||||
|
returns:
|
||||||
|
> TEMP
|
||||||
|
|
||||||
|
@param fref The fileref to check
|
||||||
|
|
||||||
|
@returns The XENGINE value in sashelp.vextfl or 0 if not found.
|
||||||
|
|
||||||
|
@version 9.2
|
||||||
|
@author Allan Bowe
|
||||||
|
|
||||||
|
<h4> Related Macros </h4>
|
||||||
|
@li mf_getengine.sas
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
%macro mf_getxengine(fref
|
||||||
|
)/*/STORE SOURCE*/;
|
||||||
|
%local dsid engnum rc engine;
|
||||||
|
|
||||||
|
%let dsid=%sysfunc(
|
||||||
|
open(sashelp.vextfl(where=(fileref="%upcase(&fref)")),i)
|
||||||
|
);
|
||||||
|
%if (&dsid ^= 0) %then %do;
|
||||||
|
%let engnum=%sysfunc(varnum(&dsid,XENGINE));
|
||||||
|
%let rc=%sysfunc(fetch(&dsid));
|
||||||
|
%let engine=%sysfunc(getvarc(&dsid,&engnum));
|
||||||
|
%* put &fref. ENGINE is &engine.;
|
||||||
|
%let rc= %sysfunc(close(&dsid));
|
||||||
|
%end;
|
||||||
|
%else %let engine=0;
|
||||||
|
|
||||||
|
&engine
|
||||||
|
|
||||||
|
%mend;
|
||||||
Reference in New Issue
Block a user