mirror of
https://github.com/sasjs/core.git
synced 2026-01-03 15:40:05 +00:00
chore: docs for mm_createfolder
This commit is contained in:
66
all.sas
66
all.sas
@@ -239,6 +239,66 @@ options noquotelenmax;
|
||||
%mend mf_existvarlist;
|
||||
|
||||
/** @endcond *//**
|
||||
@file
|
||||
@brief Returns the appLoc from the _program variable
|
||||
@details When working with SASjs apps, web services / tests / jobs are always
|
||||
deployed to a root (app) location in the SAS logical folder tree.
|
||||
|
||||
When building apps for use in other environments, you do not necessarily know
|
||||
where the backend services will be deployed. Therefore a function like this
|
||||
is handy in order to dynamically figure out the appLoc, and enable other
|
||||
services to be connected by a relative reference.
|
||||
|
||||
SASjs apps always have the same immediate substructure (one or more of the
|
||||
following):
|
||||
|
||||
@li /data
|
||||
@li /jobs
|
||||
@li /services
|
||||
@li /tests/jobs
|
||||
@li /tests/services
|
||||
@li /tests/macros
|
||||
|
||||
This function works by testing for the existence of any of the above in the
|
||||
automatic _program variable, and returning the part to the left of it.
|
||||
|
||||
Usage:
|
||||
|
||||
%put %mf_getapploc(&_program)
|
||||
|
||||
%put %mf_getapploc(/some/location/services/admin/myservice);
|
||||
%put %mf_getapploc(/some/location/jobs/extract/somejob/);
|
||||
%put %mf_getapploc(/some/location/tests/jobs/somejob/);
|
||||
|
||||
|
||||
@author Allan Bowe
|
||||
**/
|
||||
|
||||
%macro mf_getapploc(pgm);
|
||||
%if "&pgm"="" %then %do;
|
||||
%put &sysmacroname: No value provided;
|
||||
%return;
|
||||
%end;
|
||||
%local root;
|
||||
|
||||
/**
|
||||
* move up two levels to avoid matches on subfolder or service name
|
||||
*/
|
||||
%let root=%substr(&pgm,1,%length(&pgm)-%length(%scan(&pgm,-1,/))-1);
|
||||
%let root=%substr(&root,1,%length(&root)-%length(%scan(&root,-1,/))-1);
|
||||
|
||||
%if %index(&root,/tests/) %then %do;
|
||||
%let root=%substr(&root,1,%index(&root,/tests/)-1);
|
||||
%end;
|
||||
%else %if %index(&root,/services) %then %do;
|
||||
%let root=%substr(&root,1,%index(&root,/services)-1);
|
||||
%end;
|
||||
%else %if %index(&root,/jobs) %then %do;
|
||||
%let root=%substr(&root,1,%index(&root,/jobs)-1);
|
||||
%end;
|
||||
%else %put &sysmacroname: Could not find an app location from &pgm;
|
||||
&root
|
||||
%mend mf_getapploc ;/**
|
||||
@file
|
||||
@brief Returns a character attribute of a dataset.
|
||||
@details Can be used in open code, eg as follows:
|
||||
@@ -8307,10 +8367,10 @@ run;
|
||||
|
||||
usage:
|
||||
|
||||
%mm_createfolder(path=/some/meta/folder)
|
||||
%mm_createfolder(path=/some/meta/folder)
|
||||
|
||||
@param path= Name of the folder to create.
|
||||
@param mdebug= set DBG to 1 to disable DEBUG messages
|
||||
@param [in] path= Name of the folder to create.
|
||||
@param [in] mdebug= set DBG to 1 to disable DEBUG messages
|
||||
|
||||
@version 9.4
|
||||
@author Allan Bowe
|
||||
|
||||
Reference in New Issue
Block a user