mirror of
https://github.com/sasjs/core.git
synced 2026-01-06 00:50:05 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c86d6163a | ||
|
|
d7233208f1 |
53
all.sas
53
all.sas
@@ -2194,7 +2194,7 @@ Usage:
|
|||||||
%end;
|
%end;
|
||||||
|
|
||||||
/* Stored Process Server web app context */
|
/* Stored Process Server web app context */
|
||||||
%if %symexist(_metaport)
|
%if %symexist(_METAFOLDER)
|
||||||
or "&SYSPROCESSNAME "="Compute Server "
|
or "&SYSPROCESSNAME "="Compute Server "
|
||||||
or &mode=INCLUDE
|
or &mode=INCLUDE
|
||||||
%then %do;
|
%then %do;
|
||||||
@@ -2270,12 +2270,14 @@ Usage:
|
|||||||
/* send response in SASjs JSON format */
|
/* send response in SASjs JSON format */
|
||||||
data _null_;
|
data _null_;
|
||||||
file _webout mod lrecl=32000 encoding='utf-8';
|
file _webout mod lrecl=32000 encoding='utf-8';
|
||||||
length msg $32767 ;
|
length msg syswarningtext syserrortext $32767 ;
|
||||||
sasdatetime=datetime();
|
sasdatetime=datetime();
|
||||||
msg=symget('msg');
|
msg=symget('msg');
|
||||||
%if &logline>0 %then %do;
|
%if &logline>0 %then %do;
|
||||||
msg=cats(msg,'\n\nLog Extract:\n',symget('logmsg'));
|
msg=cats(msg,'\n\nLog Extract:\n',symget('logmsg'));
|
||||||
%end;
|
%end;
|
||||||
|
/* escape the escapes */
|
||||||
|
msg=tranwrd(msg,'\','\\');
|
||||||
/* escape the quotes */
|
/* escape the quotes */
|
||||||
msg=tranwrd(msg,'"','\"');
|
msg=tranwrd(msg,'"','\"');
|
||||||
/* ditch the CRLFs as chrome complains */
|
/* ditch the CRLFs as chrome complains */
|
||||||
@@ -13358,8 +13360,8 @@ run;
|
|||||||
<h4> SAS Macros </h4>
|
<h4> SAS Macros </h4>
|
||||||
@li mp_abort.sas
|
@li mp_abort.sas
|
||||||
|
|
||||||
@param libref the libref (not name) of the metadata library
|
@param [in] libref The libref (not name) of the metadata library
|
||||||
@param mAbort= If not assigned, HARD will call %mp_abort(), SOFT will
|
@param [in] mAbort= If not assigned, HARD will call %mp_abort(), SOFT will
|
||||||
silently return
|
silently return
|
||||||
|
|
||||||
@returns libname statement
|
@returns libname statement
|
||||||
@@ -13373,11 +13375,11 @@ run;
|
|||||||
libref
|
libref
|
||||||
,mAbort=HARD
|
,mAbort=HARD
|
||||||
)/*/STORE SOURCE*/;
|
)/*/STORE SOURCE*/;
|
||||||
|
%local mp_abort msg;
|
||||||
|
%let mp_abort=0;
|
||||||
%if %sysfunc(libref(&libref)) %then %do;
|
%if %sysfunc(libref(&libref)) %then %do;
|
||||||
%local mp_abort msg; %let mp_abort=0;
|
|
||||||
data _null_;
|
data _null_;
|
||||||
length liburi LibName $200;
|
length liburi LibName msg $200;
|
||||||
call missing(of _all_);
|
call missing(of _all_);
|
||||||
nobj=metadata_getnobj("omsobj:SASLibrary?@Libref='&libref'",1,liburi);
|
nobj=metadata_getnobj("omsobj:SASLibrary?@Libref='&libref'",1,liburi);
|
||||||
if nobj=1 then do;
|
if nobj=1 then do;
|
||||||
@@ -13391,7 +13393,24 @@ run;
|
|||||||
* not always helpful though. One example, previously received:
|
* not always helpful though. One example, previously received:
|
||||||
* NOTE: Libref XX refers to the same library metadata as libref XX.
|
* NOTE: Libref XX refers to the same library metadata as libref XX.
|
||||||
*/
|
*/
|
||||||
call symputx('msg',sysmsg(),'l');
|
msg=sysmsg();
|
||||||
|
if msg=:'ERROR: Libref SAVE is not assigned.' then do;
|
||||||
|
msg=catx(" ",
|
||||||
|
"Could not assign %upcase(&libref).",
|
||||||
|
"Please check metadata permissions! Libname:",libname,
|
||||||
|
"Liburi:",liburi
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
else if msg="ERROR: User does not have appropriate authorization "!!
|
||||||
|
"level for library SAVE."
|
||||||
|
then do;
|
||||||
|
msg=catx(" ",
|
||||||
|
"ERROR: User does not have appropriate authorization level",
|
||||||
|
"for library %upcase(&libref), libname:",libname,
|
||||||
|
"Liburi:",liburi
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
call symputx('msg',msg,'l');
|
||||||
if "&mabort"='HARD' then call symputx('mp_abort',1,'l');
|
if "&mabort"='HARD' then call symputx('mp_abort',1,'l');
|
||||||
end;
|
end;
|
||||||
else do;
|
else do;
|
||||||
@@ -13410,22 +13429,18 @@ run;
|
|||||||
end;
|
end;
|
||||||
run;
|
run;
|
||||||
|
|
||||||
%if &mp_abort=1 %then %do;
|
%put NOTE: &msg;
|
||||||
%mp_abort(iftrue= (&mp_abort=1)
|
|
||||||
,mac=mm_assignlib.sas
|
|
||||||
,msg=&msg
|
|
||||||
)
|
|
||||||
%return;
|
|
||||||
%end;
|
|
||||||
%else %if %length(&msg)>2 %then %do;
|
|
||||||
%put NOTE: &msg;
|
|
||||||
%return;
|
|
||||||
%end;
|
|
||||||
|
|
||||||
%end;
|
%end;
|
||||||
%else %do;
|
%else %do;
|
||||||
%put NOTE: Library &libref is already assigned;
|
%put NOTE: Library &libref is already assigned;
|
||||||
%end;
|
%end;
|
||||||
|
|
||||||
|
%mp_abort(iftrue= (&mp_abort=1)
|
||||||
|
,mac=mm_assignlib.sas
|
||||||
|
,msg=%superq(msg)
|
||||||
|
)
|
||||||
|
|
||||||
%mend mm_assignlib;
|
%mend mm_assignlib;
|
||||||
/**
|
/**
|
||||||
@file
|
@file
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
%end;
|
%end;
|
||||||
|
|
||||||
/* Stored Process Server web app context */
|
/* Stored Process Server web app context */
|
||||||
%if %symexist(_metaport)
|
%if %symexist(_METAFOLDER)
|
||||||
or "&SYSPROCESSNAME "="Compute Server "
|
or "&SYSPROCESSNAME "="Compute Server "
|
||||||
or &mode=INCLUDE
|
or &mode=INCLUDE
|
||||||
%then %do;
|
%then %do;
|
||||||
@@ -161,12 +161,14 @@
|
|||||||
/* send response in SASjs JSON format */
|
/* send response in SASjs JSON format */
|
||||||
data _null_;
|
data _null_;
|
||||||
file _webout mod lrecl=32000 encoding='utf-8';
|
file _webout mod lrecl=32000 encoding='utf-8';
|
||||||
length msg $32767 ;
|
length msg syswarningtext syserrortext $32767 ;
|
||||||
sasdatetime=datetime();
|
sasdatetime=datetime();
|
||||||
msg=symget('msg');
|
msg=symget('msg');
|
||||||
%if &logline>0 %then %do;
|
%if &logline>0 %then %do;
|
||||||
msg=cats(msg,'\n\nLog Extract:\n',symget('logmsg'));
|
msg=cats(msg,'\n\nLog Extract:\n',symget('logmsg'));
|
||||||
%end;
|
%end;
|
||||||
|
/* escape the escapes */
|
||||||
|
msg=tranwrd(msg,'\','\\');
|
||||||
/* escape the quotes */
|
/* escape the quotes */
|
||||||
msg=tranwrd(msg,'"','\"');
|
msg=tranwrd(msg,'"','\"');
|
||||||
/* ditch the CRLFs as chrome complains */
|
/* ditch the CRLFs as chrome complains */
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
<h4> SAS Macros </h4>
|
<h4> SAS Macros </h4>
|
||||||
@li mp_abort.sas
|
@li mp_abort.sas
|
||||||
|
|
||||||
@param libref the libref (not name) of the metadata library
|
@param [in] libref The libref (not name) of the metadata library
|
||||||
@param mAbort= If not assigned, HARD will call %mp_abort(), SOFT will
|
@param [in] mAbort= If not assigned, HARD will call %mp_abort(), SOFT will
|
||||||
silently return
|
silently return
|
||||||
|
|
||||||
@returns libname statement
|
@returns libname statement
|
||||||
@@ -28,11 +28,11 @@
|
|||||||
libref
|
libref
|
||||||
,mAbort=HARD
|
,mAbort=HARD
|
||||||
)/*/STORE SOURCE*/;
|
)/*/STORE SOURCE*/;
|
||||||
|
%local mp_abort msg;
|
||||||
|
%let mp_abort=0;
|
||||||
%if %sysfunc(libref(&libref)) %then %do;
|
%if %sysfunc(libref(&libref)) %then %do;
|
||||||
%local mp_abort msg; %let mp_abort=0;
|
|
||||||
data _null_;
|
data _null_;
|
||||||
length liburi LibName $200;
|
length liburi LibName msg $200;
|
||||||
call missing(of _all_);
|
call missing(of _all_);
|
||||||
nobj=metadata_getnobj("omsobj:SASLibrary?@Libref='&libref'",1,liburi);
|
nobj=metadata_getnobj("omsobj:SASLibrary?@Libref='&libref'",1,liburi);
|
||||||
if nobj=1 then do;
|
if nobj=1 then do;
|
||||||
@@ -46,7 +46,24 @@
|
|||||||
* not always helpful though. One example, previously received:
|
* not always helpful though. One example, previously received:
|
||||||
* NOTE: Libref XX refers to the same library metadata as libref XX.
|
* NOTE: Libref XX refers to the same library metadata as libref XX.
|
||||||
*/
|
*/
|
||||||
call symputx('msg',sysmsg(),'l');
|
msg=sysmsg();
|
||||||
|
if msg=:'ERROR: Libref SAVE is not assigned.' then do;
|
||||||
|
msg=catx(" ",
|
||||||
|
"Could not assign %upcase(&libref).",
|
||||||
|
"Please check metadata permissions! Libname:",libname,
|
||||||
|
"Liburi:",liburi
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
else if msg="ERROR: User does not have appropriate authorization "!!
|
||||||
|
"level for library SAVE."
|
||||||
|
then do;
|
||||||
|
msg=catx(" ",
|
||||||
|
"ERROR: User does not have appropriate authorization level",
|
||||||
|
"for library %upcase(&libref), libname:",libname,
|
||||||
|
"Liburi:",liburi
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
call symputx('msg',msg,'l');
|
||||||
if "&mabort"='HARD' then call symputx('mp_abort',1,'l');
|
if "&mabort"='HARD' then call symputx('mp_abort',1,'l');
|
||||||
end;
|
end;
|
||||||
else do;
|
else do;
|
||||||
@@ -65,20 +82,16 @@
|
|||||||
end;
|
end;
|
||||||
run;
|
run;
|
||||||
|
|
||||||
%if &mp_abort=1 %then %do;
|
%put NOTE: &msg;
|
||||||
%mp_abort(iftrue= (&mp_abort=1)
|
|
||||||
,mac=mm_assignlib.sas
|
|
||||||
,msg=&msg
|
|
||||||
)
|
|
||||||
%return;
|
|
||||||
%end;
|
|
||||||
%else %if %length(&msg)>2 %then %do;
|
|
||||||
%put NOTE: &msg;
|
|
||||||
%return;
|
|
||||||
%end;
|
|
||||||
|
|
||||||
%end;
|
%end;
|
||||||
%else %do;
|
%else %do;
|
||||||
%put NOTE: Library &libref is already assigned;
|
%put NOTE: Library &libref is already assigned;
|
||||||
%end;
|
%end;
|
||||||
|
|
||||||
|
%mp_abort(iftrue= (&mp_abort=1)
|
||||||
|
,mac=mm_assignlib.sas
|
||||||
|
,msg=%superq(msg)
|
||||||
|
)
|
||||||
|
|
||||||
%mend mm_assignlib;
|
%mend mm_assignlib;
|
||||||
|
|||||||
@@ -4,11 +4,8 @@
|
|||||||
"base",
|
"base",
|
||||||
"ddl",
|
"ddl",
|
||||||
"fcmp",
|
"fcmp",
|
||||||
"meta",
|
|
||||||
"metax",
|
|
||||||
"server",
|
|
||||||
"viya",
|
|
||||||
"lua",
|
"lua",
|
||||||
|
"server",
|
||||||
"tests/crossplatform",
|
"tests/crossplatform",
|
||||||
"tests/ddl"
|
"tests/ddl"
|
||||||
],
|
],
|
||||||
@@ -39,6 +36,7 @@
|
|||||||
},
|
},
|
||||||
"appLoc": "/Public/temp/macrocore",
|
"appLoc": "/Public/temp/macrocore",
|
||||||
"macroFolders": [
|
"macroFolders": [
|
||||||
|
"viya",
|
||||||
"tests/viyaonly"
|
"tests/viyaonly"
|
||||||
],
|
],
|
||||||
"programFolders": [],
|
"programFolders": [],
|
||||||
@@ -58,6 +56,8 @@
|
|||||||
},
|
},
|
||||||
"appLoc": "/Shared Data/temp/macrocore",
|
"appLoc": "/Shared Data/temp/macrocore",
|
||||||
"macroFolders": [
|
"macroFolders": [
|
||||||
|
"meta",
|
||||||
|
"metax",
|
||||||
"tests/sas9only"
|
"tests/sas9only"
|
||||||
],
|
],
|
||||||
"programFolders": [],
|
"programFolders": [],
|
||||||
@@ -78,6 +78,7 @@
|
|||||||
},
|
},
|
||||||
"appLoc": "/sasjs/core",
|
"appLoc": "/sasjs/core",
|
||||||
"macroFolders": [
|
"macroFolders": [
|
||||||
|
"server",
|
||||||
"tests/serveronly"
|
"tests/serveronly"
|
||||||
],
|
],
|
||||||
"programFolders": [],
|
"programFolders": [],
|
||||||
@@ -102,6 +103,7 @@
|
|||||||
"serverType": "SASVIYA",
|
"serverType": "SASVIYA",
|
||||||
"appLoc": "/Public/temp/macrocore",
|
"appLoc": "/Public/temp/macrocore",
|
||||||
"macroFolders": [
|
"macroFolders": [
|
||||||
|
"viya",
|
||||||
"tests/viyaonly"
|
"tests/viyaonly"
|
||||||
],
|
],
|
||||||
"deployConfig": {
|
"deployConfig": {
|
||||||
@@ -110,4 +112,4 @@
|
|||||||
"contextName": "SAS Job Execution compute context"
|
"contextName": "SAS Job Execution compute context"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user