1
0
mirror of https://github.com/sasjs/core.git synced 2025-12-10 22:14:35 +00:00
Files
core/meta/mm_getcols.sas
2021-04-03 21:30:51 +02:00

53 lines
1.3 KiB
SAS

/**
@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;