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

Compare commits

...

2 Commits

Author SHA1 Message Date
def0cc8476 fix: adding outds and parameters to mv_jobexecute 2020-11-29 21:55:21 +01:00
3a9029557e chore: doxygen updates 2020-11-29 21:06:39 +01:00
5 changed files with 88 additions and 32 deletions

53
all.sas
View File

@@ -12299,6 +12299,12 @@ libname &libref1 clear;
,name=somejob ,name=somejob
) )
Example with parameters:
%mv_jobexecute(path=/Public/folder
,name=somejob
,paramstring=%str("macvarname":"macvarvalue","answer":42)
)
@param access_token_var= The global macro variable to contain the access token @param access_token_var= The global macro variable to contain the access token
@param grant_type= valid values: @param grant_type= valid values:
@@ -12310,10 +12316,14 @@ libname &libref1 clear;
@param path= The SAS Drive path to the job being executed @param path= The SAS Drive path to the job being executed
@param name= The name of the job to execute @param name= The name of the job to execute
@param params= A macro quoted string to append to the URL @param paramstring= A JSON fragment with name:value pairs, eg: `"name":"value"`
or "name":"value","name2":42`. This will need to be wrapped in `%str()`.
@param contextName= Context name with which to run the job. @param contextName= Context name with which to run the job.
Default = `SAS Job Execution compute context` Default = `SAS Job Execution compute context`
@param outds= The output dataset containing links (Default=work.mv_jobexecute)
@version VIYA V.03.04 @version VIYA V.03.04
@author Allan Bowe, source: https://github.com/sasjs/core @author Allan Bowe, source: https://github.com/sasjs/core
@@ -12322,6 +12332,7 @@ libname &libref1 clear;
@li mp_abort.sas @li mp_abort.sas
@li mf_getplatform.sas @li mf_getplatform.sas
@li mf_getuniquefileref.sas @li mf_getuniquefileref.sas
@li mf_getuniquelibref.sas
@li mv_getfoldermembers.sas @li mv_getfoldermembers.sas
**/ **/
@@ -12331,6 +12342,8 @@ libname &libref1 clear;
,contextName=SAS Job Execution compute context ,contextName=SAS Job Execution compute context
,access_token_var=ACCESS_TOKEN ,access_token_var=ACCESS_TOKEN
,grant_type=sas_services ,grant_type=sas_services
,paramstring=0
,outds=work.mv_jobexecute
); );
%local oauth_bearer; %local oauth_bearer;
%if &grant_type=detect %then %do; %if &grant_type=detect %then %do;
@@ -12392,11 +12405,16 @@ run;
data _null_; data _null_;
file &fname0; file &fname0;
put '{"jobDefinitionUri": "'@@; length joburi contextname $128 paramstring $32765;
put "&joburi"@@; joburi=quote(trim(symget('joburi')));
put '","arguments":{"_contextName":"'@@; contextname=quote(trim(symget('contextname')));
put "&contextName"@@; paramstring=symget('paramstring');
put '"}}'; put '{"jobDefinitionUri":' joburi ;
put ' ,"arguments":{"_contextName":' contextname;
if paramstring ne "0" then do;
put ' ,' paramstring;
end;
put '}}';
run; run;
proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer
@@ -12408,18 +12426,27 @@ proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer
%end; %end;
; ;
run; run;
/*data _null_;infile &fname1;input;putlog _infile_;run;*/ %if &SYS_PROCHTTP_STATUS_CODE ne 200 and &SYS_PROCHTTP_STATUS_CODE ne 201 %then
%do;
%mp_abort(iftrue=( data _null_;infile &fname0;input;putlog _infile_;run;
&SYS_PROCHTTP_STATUS_CODE ne 200 and &SYS_PROCHTTP_STATUS_CODE ne 201 data _null_;infile &fname1;input;putlog _infile_;run;
%mp_abort(mac=&sysmacroname
,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
) )
,mac=&sysmacroname %end;
,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
) %local libref;
%let libref=%mf_getuniquelibref();
libname &libref JSON fileref=&fname1;
data &outds;
set &libref..links;
run;
/* clear refs */ /* clear refs */
filename &fname0 clear; filename &fname0 clear;
filename &fname1 clear; filename &fname1 clear;
libname &libref;
%mend;/** %mend;/**
@file mv_registerclient.sas @file mv_registerclient.sas

View File

@@ -24,7 +24,7 @@ LAYOUT_FILE = ./doxy/DoxygenLayout.xml
MAX_INITIALIZER_LINES = 0 MAX_INITIALIZER_LINES = 0
PROJECT_NAME = Macro Core PROJECT_NAME = Macro Core
PROJECT_LOGO = doxy/Macro_core_website_1.png PROJECT_LOGO = doxy/Macro_core_website_1.png
PROJECT_BRIEF = placeholder PROJECT_BRIEF = "Production Ready Macros for SAS Application Developers"
RECURSIVE = YES RECURSIVE = YES
REPEAT_BRIEF = NO REPEAT_BRIEF = NO
SHOW_NAMESPACES = NO SHOW_NAMESPACES = NO

View File

@@ -33,11 +33,11 @@ cd core.github.io
rm -r * rm -r *
mv $BUILD_FOLDER/out/doxy/* . mv $BUILD_FOLDER/out/doxy/* .
echo 'core.sasjs.io' > CNAME echo 'core.sasjs.io' > CNAME
git add * git add .
git commit -m "build.sh build on $(date +%F:%H:%M:%S)" git commit -m "build.sh build on $(date +%F:%H:%M:%S)"
git push git push
npx sitemap-generator-cli https://core.sasjs.io npx sitemap-generator-cli https://core.sasjs.io
git add * git add .
git commit -m "adding sitemap" git commit -m "adding sitemap"
git push git push

View File

@@ -1,6 +1,6 @@
<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <!-- HTML header for doxygen 1.8.17-->
<html xmlns="https://www.w3.org/1999/xhtml" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
@@ -41,7 +41,9 @@ $extrastylesheet
https://github.com/sasjs/core https://github.com/sasjs/core
</a> </a>
</div><!--END PROJECT_BRIEF--> </div>
<meta name="Description" content="$projectbrief">
<!--END PROJECT_BRIEF-->
</td> </td>
<!--END PROJECT_NAME--> <!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--> <!--BEGIN !PROJECT_NAME-->

View File

@@ -16,6 +16,12 @@
,name=somejob ,name=somejob
) )
Example with parameters:
%mv_jobexecute(path=/Public/folder
,name=somejob
,paramstring=%str("macvarname":"macvarvalue","answer":42)
)
@param access_token_var= The global macro variable to contain the access token @param access_token_var= The global macro variable to contain the access token
@param grant_type= valid values: @param grant_type= valid values:
@@ -27,10 +33,14 @@
@param path= The SAS Drive path to the job being executed @param path= The SAS Drive path to the job being executed
@param name= The name of the job to execute @param name= The name of the job to execute
@param params= A macro quoted string to append to the URL @param paramstring= A JSON fragment with name:value pairs, eg: `"name":"value"`
or "name":"value","name2":42`. This will need to be wrapped in `%str()`.
@param contextName= Context name with which to run the job. @param contextName= Context name with which to run the job.
Default = `SAS Job Execution compute context` Default = `SAS Job Execution compute context`
@param outds= The output dataset containing links (Default=work.mv_jobexecute)
@version VIYA V.03.04 @version VIYA V.03.04
@author Allan Bowe, source: https://github.com/sasjs/core @author Allan Bowe, source: https://github.com/sasjs/core
@@ -39,6 +49,7 @@
@li mp_abort.sas @li mp_abort.sas
@li mf_getplatform.sas @li mf_getplatform.sas
@li mf_getuniquefileref.sas @li mf_getuniquefileref.sas
@li mf_getuniquelibref.sas
@li mv_getfoldermembers.sas @li mv_getfoldermembers.sas
**/ **/
@@ -48,6 +59,8 @@
,contextName=SAS Job Execution compute context ,contextName=SAS Job Execution compute context
,access_token_var=ACCESS_TOKEN ,access_token_var=ACCESS_TOKEN
,grant_type=sas_services ,grant_type=sas_services
,paramstring=0
,outds=work.mv_jobexecute
); );
%local oauth_bearer; %local oauth_bearer;
%if &grant_type=detect %then %do; %if &grant_type=detect %then %do;
@@ -109,11 +122,16 @@ run;
data _null_; data _null_;
file &fname0; file &fname0;
put '{"jobDefinitionUri": "'@@; length joburi contextname $128 paramstring $32765;
put "&joburi"@@; joburi=quote(trim(symget('joburi')));
put '","arguments":{"_contextName":"'@@; contextname=quote(trim(symget('contextname')));
put "&contextName"@@; paramstring=symget('paramstring');
put '"}}'; put '{"jobDefinitionUri":' joburi ;
put ' ,"arguments":{"_contextName":' contextname;
if paramstring ne "0" then do;
put ' ,' paramstring;
end;
put '}}';
run; run;
proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer
@@ -125,17 +143,26 @@ proc http method='POST' in=&fname0 out=&fname1 &oauth_bearer
%end; %end;
; ;
run; run;
/*data _null_;infile &fname1;input;putlog _infile_;run;*/ %if &SYS_PROCHTTP_STATUS_CODE ne 200 and &SYS_PROCHTTP_STATUS_CODE ne 201 %then
%do;
%mp_abort(iftrue=( data _null_;infile &fname0;input;putlog _infile_;run;
&SYS_PROCHTTP_STATUS_CODE ne 200 and &SYS_PROCHTTP_STATUS_CODE ne 201 data _null_;infile &fname1;input;putlog _infile_;run;
%mp_abort(mac=&sysmacroname
,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
) )
,mac=&sysmacroname %end;
,msg=%str(&SYS_PROCHTTP_STATUS_CODE &SYS_PROCHTTP_STATUS_PHRASE)
) %local libref;
%let libref=%mf_getuniquelibref();
libname &libref JSON fileref=&fname1;
data &outds;
set &libref..links;
run;
/* clear refs */ /* clear refs */
filename &fname0 clear; filename &fname0 clear;
filename &fname1 clear; filename &fname1 clear;
libname &libref;
%mend; %mend;