1
0
mirror of https://github.com/sasjs/core.git synced 2026-01-05 16:40:06 +00:00

fix: diffs for format loads not showing in audit table

This commit is contained in:
munja
2022-03-15 15:20:25 +00:00
parent 582ec0a1f9
commit d7e2ff8ac9
2 changed files with 57 additions and 15 deletions

64
all.sas
View File

@@ -167,19 +167,17 @@ options noquotelenmax;
%put %mf_existfeature(PROCLUA); %put %mf_existfeature(PROCLUA);
@param feature the feature to detect. Leave blank to list all in log. @param [in] feature The feature to detect.
@return output returns 1 or 0 (or -1 if not found) @return output returns 1 or 0 (or -1 if not found)
<h4> SAS Macros </h4> <h4> SAS Macros </h4>
@li mf_getplatform.sas @li mf_getplatform.sas
@version 8 @version 8
@author Allan Bowe @author Allan Bowe
**/ **/
/** @cond */ /** @cond */
%macro mf_existfeature(feature %macro mf_existfeature(feature
)/*/STORE SOURCE*/; )/*/STORE SOURCE*/;
%let feature=%upcase(&feature); %let feature=%upcase(&feature);
@@ -187,7 +185,11 @@ options noquotelenmax;
%let platform=%mf_getplatform(); %let platform=%mf_getplatform();
%if &feature= %then %do; %if &feature= %then %do;
%put Supported features: PROCLUA; %put No feature was requested for detection;
%end;
%else %if &feature=COLCONSTRAINTS %then %do;
%if %substr(&sysver,1,1)=4 %then 0;
%else 1;
%end; %end;
%else %if &feature=PROCLUA %then %do; %else %if &feature=PROCLUA %then %do;
/* https://blogs.sas.com/content/sasdummy/2015/08/03/using-lua-within-your-sas-programs */ /* https://blogs.sas.com/content/sasdummy/2015/08/03/using-lua-within-your-sas-programs */
@@ -201,8 +203,8 @@ options noquotelenmax;
%put &sysmacroname: &feature not found; %put &sysmacroname: &feature not found;
%end; %end;
%mend mf_existfeature; %mend mf_existfeature;
/** @endcond */
/** @endcond *//** /**
@file @file
@brief Checks whether a fileref exists @brief Checks whether a fileref exists
@details You can probably do without this macro as it is just a one liner. @details You can probably do without this macro as it is just a one liner.
@@ -2192,7 +2194,7 @@ Usage:
%end; %end;
/* Stored Process Server web app context */ /* Stored Process Server web app context */
%if %symexist(_metaperson) %if %symexist(_metaport)
or "&SYSPROCESSNAME "="Compute Server " or "&SYSPROCESSNAME "="Compute Server "
or &mode=INCLUDE or &mode=INCLUDE
%then %do; %then %do;
@@ -2367,7 +2369,8 @@ Usage:
%end; %end;
%mend mp_abort; %mend mp_abort;
/** @endcond *//** /** @endcond */
/**
@file @file
@brief Append (concatenate) two or more files. @brief Append (concatenate) two or more files.
@details Will append one more more `appendrefs` (filerefs) to a `baseref`. @details Will append one more more `appendrefs` (filerefs) to a `baseref`.
@@ -8768,7 +8771,7 @@ run;
* First, extract only relevant formats from the catalog * First, extract only relevant formats from the catalog
*/ */
proc sql noprint; proc sql noprint;
select distinct fmtname into: fmtlist separated by ' ' from &libds; select distinct upcase(fmtname) into: fmtlist separated by ' ' from &libds;
%mp_cntlout(libcat=&libcat,fmtlist=&fmtlist,cntlout=&base_fmts) %mp_cntlout(libcat=&libcat,fmtlist=&fmtlist,cntlout=&base_fmts)
@@ -8778,8 +8781,11 @@ select distinct fmtname into: fmtlist separated by ' ' from &libds;
*/ */
%mddl_sas_cntlout(libds=&template) %mddl_sas_cntlout(libds=&template)
data &inlibds; data &inlibds;
length &delete_col $3;
if 0 then set &template; if 0 then set &template;
set &libds; set &libds;
if &delete_col='' then &delete_col='No';
fmtname=upcase(fmtname);
if missing(type) then do; if missing(type) then do;
if substr(fmtname,1,1)='$' then type='C'; if substr(fmtname,1,1)='$' then type='C';
else type='N'; else type='N';
@@ -8790,7 +8796,6 @@ data &inlibds;
end; end;
run; run;
/** /**
* Identify new records * Identify new records
*/ */
@@ -8897,7 +8902,7 @@ options ibufsize=&ibufsize;
%end; %end;
%mp_storediffs(&libcat-FC %mp_storediffs(&libcat-FC
,&inlibds ,&base_fmts
,FMTNAME START ,FMTNAME START
,delds=&outds_del ,delds=&outds_del
,modds=&outds_mod ,modds=&outds_mod
@@ -18922,6 +18927,41 @@ run;
) )
%mend ms_createfile; %mend ms_createfile;
/**
@file
@brief Deletes a file from SASjs Drive
@details Deletes a file from SASjs Drive, if it exists.
Example:
filename stpcode temp;
data _null_;
file stpcode;
put '%put hello world;';
run;
%ms_createfile(/some/stored/program.sas, inref=stpcode)
%ms_deletefile(/some/stored/program.sas)
@param [in] driveloc The full path to the file in SASjs Drive
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
**/
%macro ms_deletefile(driveloc
,mdebug=0
);
proc http method='DELETE'
url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do;
debug level=2;
%end;
run;
%mend ms_deletefile;
/** /**
@file @file
@brief Gets a file from SASjs Drive @brief Gets a file from SASjs Drive
@@ -18946,7 +18986,7 @@ run;
filename &outref temp; filename &outref temp;
proc http method='GET' out=&outref proc http method='GET' out=&outref
url="&_sasjs_apiserverurl/SASjsApi/drive/file?filePath=&driveloc"; url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do; %if &mdebug=1 %then %do;
debug level=2; debug level=2;
%end; %end;

View File

@@ -134,7 +134,7 @@ run;
* First, extract only relevant formats from the catalog * First, extract only relevant formats from the catalog
*/ */
proc sql noprint; proc sql noprint;
select distinct fmtname into: fmtlist separated by ' ' from &libds; select distinct upcase(fmtname) into: fmtlist separated by ' ' from &libds;
%mp_cntlout(libcat=&libcat,fmtlist=&fmtlist,cntlout=&base_fmts) %mp_cntlout(libcat=&libcat,fmtlist=&fmtlist,cntlout=&base_fmts)
@@ -144,8 +144,11 @@ select distinct fmtname into: fmtlist separated by ' ' from &libds;
*/ */
%mddl_sas_cntlout(libds=&template) %mddl_sas_cntlout(libds=&template)
data &inlibds; data &inlibds;
length &delete_col $3;
if 0 then set &template; if 0 then set &template;
set &libds; set &libds;
if &delete_col='' then &delete_col='No';
fmtname=upcase(fmtname);
if missing(type) then do; if missing(type) then do;
if substr(fmtname,1,1)='$' then type='C'; if substr(fmtname,1,1)='$' then type='C';
else type='N'; else type='N';
@@ -156,7 +159,6 @@ data &inlibds;
end; end;
run; run;
/** /**
* Identify new records * Identify new records
*/ */
@@ -263,7 +265,7 @@ options ibufsize=&ibufsize;
%end; %end;
%mp_storediffs(&libcat-FC %mp_storediffs(&libcat-FC
,&inlibds ,&base_fmts
,FMTNAME START ,FMTNAME START
,delds=&outds_del ,delds=&outds_del
,modds=&outds_mod ,modds=&outds_mod