mirror of
https://github.com/sasjs/core.git
synced 2026-01-15 12:30:06 +00:00
fix: ensuring unique filerefs in mm_updatestpsourcecode macro. Marking previous placeholders as deprecated for future release.
This commit is contained in:
43
all.sas
43
all.sas
@@ -10301,16 +10301,15 @@ run;
|
|||||||
%end;
|
%end;
|
||||||
|
|
||||||
%mend;/**
|
%mend;/**
|
||||||
@file mm_updatestpservertype.sas
|
@file
|
||||||
@brief Updates a type 2 stored process to run on STP or WKS context
|
@brief Updates a type 2 stored process to run on STP or WKS context
|
||||||
@details Only works on Type 2 (9.3 compatible) STPs
|
@details Only works on Type 2 (9.3 compatible) STPs
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
%mm_updatestpservertype(target=/some/meta/path/myStoredProcess
|
%mm_updatestpservertype(target=/some/meta/path/myStoredProcess
|
||||||
,type=WKS)
|
,type=WKS)
|
||||||
|
|
||||||
<h4> SAS Macros </h4>
|
|
||||||
|
|
||||||
@param target= full path to the STP being deleted
|
@param target= full path to the STP being deleted
|
||||||
@param type= Either WKS or STP depending on whether Workspace or Stored Process
|
@param type= Either WKS or STP depending on whether Workspace or Stored Process
|
||||||
@@ -10375,31 +10374,40 @@ run;
|
|||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
%mm_updatestpsourcecode(stp=/my/metadata/path/mystpname
|
%mm_updatestpsourcecode(stp=/my/metadata/path/mystpname
|
||||||
,stpcode="/file/system/source.sas")
|
,stpcode="/file/system/source.sas")
|
||||||
|
|
||||||
|
@param [in] stp= the BIP Tree folder path plus Stored Process Name
|
||||||
@param stp= the BIP Tree folder path plus Stored Process Name
|
@param [in] stpcode= the source file (or fileref) containing the SAS code to load
|
||||||
@param stpcode= the source file (or fileref) containing the SAS code to load
|
|
||||||
into the stp. For multiple files, they should simply be concatenated first.
|
into the stp. For multiple files, they should simply be concatenated first.
|
||||||
@param minify= set to YES in order to strip comments, blank lines, and CRLFs.
|
@param [in] minify= set to YES in order to strip comments, blank lines, and CRLFs.
|
||||||
|
|
||||||
@param frefin= change default inref if it clashes with an existing one
|
@param frefin= deprecated - a unique fileref is now always used
|
||||||
@param frefout= change default outref if it clashes with an existing one
|
@param frefout= deprecated - a unique fileref is now always used
|
||||||
@param mDebug= set to 1 to show debug messages in the log
|
@param mDebug= set to 1 to show debug messages in the log
|
||||||
|
|
||||||
@version 9.3
|
@version 9.3
|
||||||
@author Allan Bowe
|
@author Allan Bowe
|
||||||
|
|
||||||
|
<h4> SAS Macros </h4>
|
||||||
|
@li mf_getuniquefileref.sas
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
%macro mm_updatestpsourcecode(stp=
|
%macro mm_updatestpsourcecode(stp=
|
||||||
,stpcode=
|
,stpcode=
|
||||||
,minify=NO
|
,minify=NO
|
||||||
|
,mdebug=0
|
||||||
|
/* deprecated */
|
||||||
,frefin=inmeta
|
,frefin=inmeta
|
||||||
,frefout=outmeta
|
,frefout=outmeta
|
||||||
,mdebug=0
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
%if &frefin ne inmeta or &frefout ne outmeta %then %do;
|
||||||
|
%put %str(WARN)ING: the frefin and frefout parameters will be deprecated in
|
||||||
|
an upcoming release.;
|
||||||
|
%end;
|
||||||
|
|
||||||
/* first, check if STP exists */
|
/* first, check if STP exists */
|
||||||
%local tsuri;
|
%local tsuri;
|
||||||
%let tsuri=stopifempty ;
|
%let tsuri=stopifempty ;
|
||||||
@@ -10437,7 +10445,9 @@ run;
|
|||||||
%return;
|
%return;
|
||||||
%end;
|
%end;
|
||||||
|
|
||||||
filename &frefin temp lrecl=32767;
|
%local frefin frefout;
|
||||||
|
%let frefin=%mf_getuniquefileref();
|
||||||
|
%let frefout=%mf_getuniquefileref();
|
||||||
|
|
||||||
/* write header XML */
|
/* write header XML */
|
||||||
data _null_;
|
data _null_;
|
||||||
@@ -10450,7 +10460,7 @@ run;
|
|||||||
/* write contents */
|
/* write contents */
|
||||||
%if %length(&stpcode)>2 %then %do;
|
%if %length(&stpcode)>2 %then %do;
|
||||||
data _null_;
|
data _null_;
|
||||||
file &frefin mod;
|
file &frefin lrecl=32767 mod;
|
||||||
infile &stpcode lrecl=32767;
|
infile &stpcode lrecl=32767;
|
||||||
length outstr $32767;
|
length outstr $32767;
|
||||||
input outstr ;
|
input outstr ;
|
||||||
@@ -10479,9 +10489,6 @@ data _null_;
|
|||||||
</UpdateMetadata>";
|
</UpdateMetadata>";
|
||||||
run;
|
run;
|
||||||
|
|
||||||
|
|
||||||
filename &frefout temp;
|
|
||||||
|
|
||||||
proc metadata in= &frefin out=&frefout;
|
proc metadata in= &frefin out=&frefout;
|
||||||
run;
|
run;
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
/**
|
/**
|
||||||
@file mm_updatestpservertype.sas
|
@file
|
||||||
@brief Updates a type 2 stored process to run on STP or WKS context
|
@brief Updates a type 2 stored process to run on STP or WKS context
|
||||||
@details Only works on Type 2 (9.3 compatible) STPs
|
@details Only works on Type 2 (9.3 compatible) STPs
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
%mm_updatestpservertype(target=/some/meta/path/myStoredProcess
|
%mm_updatestpservertype(target=/some/meta/path/myStoredProcess
|
||||||
,type=WKS)
|
,type=WKS)
|
||||||
|
|
||||||
<h4> SAS Macros </h4>
|
|
||||||
|
|
||||||
@param target= full path to the STP being deleted
|
@param target= full path to the STP being deleted
|
||||||
@param type= Either WKS or STP depending on whether Workspace or Stored Process
|
@param type= Either WKS or STP depending on whether Workspace or Stored Process
|
||||||
|
|||||||
@@ -6,31 +6,40 @@
|
|||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
%mm_updatestpsourcecode(stp=/my/metadata/path/mystpname
|
%mm_updatestpsourcecode(stp=/my/metadata/path/mystpname
|
||||||
,stpcode="/file/system/source.sas")
|
,stpcode="/file/system/source.sas")
|
||||||
|
|
||||||
|
@param [in] stp= the BIP Tree folder path plus Stored Process Name
|
||||||
@param stp= the BIP Tree folder path plus Stored Process Name
|
@param [in] stpcode= the source file (or fileref) containing the SAS code to load
|
||||||
@param stpcode= the source file (or fileref) containing the SAS code to load
|
|
||||||
into the stp. For multiple files, they should simply be concatenated first.
|
into the stp. For multiple files, they should simply be concatenated first.
|
||||||
@param minify= set to YES in order to strip comments, blank lines, and CRLFs.
|
@param [in] minify= set to YES in order to strip comments, blank lines, and CRLFs.
|
||||||
|
|
||||||
@param frefin= change default inref if it clashes with an existing one
|
@param frefin= deprecated - a unique fileref is now always used
|
||||||
@param frefout= change default outref if it clashes with an existing one
|
@param frefout= deprecated - a unique fileref is now always used
|
||||||
@param mDebug= set to 1 to show debug messages in the log
|
@param mDebug= set to 1 to show debug messages in the log
|
||||||
|
|
||||||
@version 9.3
|
@version 9.3
|
||||||
@author Allan Bowe
|
@author Allan Bowe
|
||||||
|
|
||||||
|
<h4> SAS Macros </h4>
|
||||||
|
@li mf_getuniquefileref.sas
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
%macro mm_updatestpsourcecode(stp=
|
%macro mm_updatestpsourcecode(stp=
|
||||||
,stpcode=
|
,stpcode=
|
||||||
,minify=NO
|
,minify=NO
|
||||||
|
,mdebug=0
|
||||||
|
/* deprecated */
|
||||||
,frefin=inmeta
|
,frefin=inmeta
|
||||||
,frefout=outmeta
|
,frefout=outmeta
|
||||||
,mdebug=0
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
%if &frefin ne inmeta or &frefout ne outmeta %then %do;
|
||||||
|
%put %str(WARN)ING: the frefin and frefout parameters will be deprecated in
|
||||||
|
an upcoming release.;
|
||||||
|
%end;
|
||||||
|
|
||||||
/* first, check if STP exists */
|
/* first, check if STP exists */
|
||||||
%local tsuri;
|
%local tsuri;
|
||||||
%let tsuri=stopifempty ;
|
%let tsuri=stopifempty ;
|
||||||
@@ -68,7 +77,9 @@ run;
|
|||||||
%return;
|
%return;
|
||||||
%end;
|
%end;
|
||||||
|
|
||||||
filename &frefin temp lrecl=32767;
|
%local frefin frefout;
|
||||||
|
%let frefin=%mf_getuniquefileref();
|
||||||
|
%let frefout=%mf_getuniquefileref();
|
||||||
|
|
||||||
/* write header XML */
|
/* write header XML */
|
||||||
data _null_;
|
data _null_;
|
||||||
@@ -81,7 +92,7 @@ run;
|
|||||||
/* write contents */
|
/* write contents */
|
||||||
%if %length(&stpcode)>2 %then %do;
|
%if %length(&stpcode)>2 %then %do;
|
||||||
data _null_;
|
data _null_;
|
||||||
file &frefin mod;
|
file &frefin lrecl=32767 mod;
|
||||||
infile &stpcode lrecl=32767;
|
infile &stpcode lrecl=32767;
|
||||||
length outstr $32767;
|
length outstr $32767;
|
||||||
input outstr ;
|
input outstr ;
|
||||||
@@ -110,9 +121,6 @@ data _null_;
|
|||||||
</UpdateMetadata>";
|
</UpdateMetadata>";
|
||||||
run;
|
run;
|
||||||
|
|
||||||
|
|
||||||
filename &frefout temp;
|
|
||||||
|
|
||||||
proc metadata in= &frefin out=&frefout;
|
proc metadata in= &frefin out=&frefout;
|
||||||
run;
|
run;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user