mirror of
https://github.com/sasjs/core.git
synced 2026-01-18 22:10:06 +00:00
feat(*): recreate library as scoped package
This commit is contained in:
53
meta/mm_getcols.sas
Normal file
53
meta/mm_getcols.sas
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
@file
|
||||
@brief Creates a dataset with all metadata columns for a particular table
|
||||
@details
|
||||
|
||||
usage:
|
||||
|
||||
%mm_getcols(tableuri=A5X8AHW1.B40001S5)
|
||||
|
||||
@param outds the dataset to create that contains the list of columns
|
||||
@param uri the uri of the table for which to return columns
|
||||
|
||||
@returns outds dataset containing all columns, specifically:
|
||||
- colname
|
||||
- coluri
|
||||
- coldesc
|
||||
|
||||
@version 9.2
|
||||
@author Allan Bowe
|
||||
|
||||
**/
|
||||
|
||||
%macro mm_getcols(
|
||||
tableuri=
|
||||
,outds=work.mm_getcols
|
||||
)/*/STORE SOURCE*/;
|
||||
|
||||
data &outds;
|
||||
keep col: SAS:;
|
||||
length assoc uri coluri colname coldesc SASColumnType SASFormat SASInformat
|
||||
SASPrecision SASColumnLength $256;
|
||||
call missing (of _all_);
|
||||
uri=symget('tableuri');
|
||||
n=1;
|
||||
do while (metadata_getnasn(uri,'Columns',n,coluri)>0);
|
||||
rc3=metadata_getattr(coluri,"Name",colname);
|
||||
rc3=metadata_getattr(coluri,"Desc",coldesc);
|
||||
rc4=metadata_getattr(coluri,"SASColumnType",SASColumnType);
|
||||
rc5=metadata_getattr(coluri,"SASFormat",SASFormat);
|
||||
rc6=metadata_getattr(coluri,"SASInformat",SASInformat);
|
||||
rc7=metadata_getattr(coluri,"SASPrecision",SASPrecision);
|
||||
rc8=metadata_getattr(coluri,"SASColumnLength",SASColumnLength);
|
||||
output;
|
||||
call missing(colname,coldesc,SASColumnType,SASFormat,SASInformat
|
||||
,SASPrecision,SASColumnLength);
|
||||
n+1;
|
||||
end;
|
||||
run;
|
||||
proc sort;
|
||||
by colname;
|
||||
run;
|
||||
|
||||
%mend;
|
||||
Reference in New Issue
Block a user