Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b85f7bf1e |
No files matched your search
+2
-1
@@ -15,6 +15,7 @@
|
|||||||
"ignoreList":["sasjs/scratch"],
|
"ignoreList":["sasjs/scratch"],
|
||||||
"severityLevel": {
|
"severityLevel": {
|
||||||
"noUnusedMacros": "error",
|
"noUnusedMacros": "error",
|
||||||
"noUndeclaredMacros": "error"
|
"noUndeclaredMacros": "error",
|
||||||
|
"noBannedStrings": "error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -98,7 +98,7 @@ quit;
|
|||||||
where var_name='DC_MAXCELLS_WEBEDIT' and var_active=1 and &now lt tx_to;
|
where var_name='DC_MAXCELLS_WEBEDIT' and var_active=1 and &now lt tx_to;
|
||||||
|
|
||||||
/* Why the cell limit exists, kept out of var_desc - MPE_CONFIG.VAR_DESC
|
/* Why the cell limit exists, kept out of var_desc - MPE_CONFIG.VAR_DESC
|
||||||
is varchar(300), and a truncation WARNING aborts the build. A wide
|
is varchar(300), and a truncation aborts the build. A wide
|
||||||
table is expensive long before it is tall - 250 rows of a 1000 column
|
table is expensive long before it is tall - 250 rows of a 1000 column
|
||||||
table is a quarter of a million cells. */
|
table is a quarter of a million cells. */
|
||||||
insert into &dclib..mpe_config
|
insert into &dclib..mpe_config
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ Areas for optimisation
|
|||||||
@warning multitemporal loads (bitemporal for multiple points in business time)
|
@warning multitemporal loads (bitemporal for multiple points in business time)
|
||||||
are in experimental stage
|
are in experimental stage
|
||||||
|
|
||||||
|
@sasjslint {"noBannedStrings": false}
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
%macro bitemporal_dataloader(
|
%macro bitemporal_dataloader(
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
/* dc_dttmtfmt is the bitemporal cut-off used in the where= below - callers get
|
/* dc_dttmtfmt is the bitemporal cut-off used in the where= below - callers get
|
||||||
it from %mpeinit(). Unset, the filter degenerates to "lt tx_to" and the
|
it from %mpeinit(). Unset, the filter degenerates to "lt tx_to" and the
|
||||||
control-table step fails with a syntax error a long way from the cause. */
|
control-table step fails with a syntax fault a long way from the cause. */
|
||||||
%mp_abort(iftrue= (%length(&libds)=0 or %length(&dclib)=0 or %length(&dc_dttmtfmt)=0)
|
%mp_abort(iftrue= (%length(&libds)=0 or %length(&dclib)=0 or %length(&dc_dttmtfmt)=0)
|
||||||
,mac=&sysmacroname
|
,mac=&sysmacroname
|
||||||
,msg=%str(Missing: libds dclib dc_dttmtfmt)
|
,msg=%str(Missing: libds dclib dc_dttmtfmt)
|
||||||
|
|||||||
@@ -22,5 +22,5 @@
|
|||||||
|
|
||||||
%mp_assert(
|
%mp_assert(
|
||||||
iftrue=(&syscc = 0),
|
iftrue=(&syscc = 0),
|
||||||
desc=Checking error condition
|
desc=Checking the abort condition
|
||||||
)
|
)
|
||||||
@@ -704,7 +704,7 @@ run;
|
|||||||
%postdata()
|
%postdata()
|
||||||
|
|
||||||
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
||||||
(eg in a hook script run via mp_include) only records the error in
|
(eg in a hook script run via mp_include) only records the failure in
|
||||||
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
||||||
%mp_abort(mode=INCLUDE)
|
%mp_abort(mode=INCLUDE)
|
||||||
|
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ run;
|
|||||||
/* execute the dynamic code */
|
/* execute the dynamic code */
|
||||||
%mp_include(sascode)
|
%mp_include(sascode)
|
||||||
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
||||||
(eg in a hook script run via mp_include) only records the error in
|
(eg in a hook script run via mp_include) only records the failure in
|
||||||
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
||||||
%mp_abort(mode=INCLUDE)
|
%mp_abort(mode=INCLUDE)
|
||||||
|
|
||||||
|
|||||||
@@ -292,14 +292,14 @@ options mprint;
|
|||||||
,dc_dttmtfmt=&dc_dttmtfmt
|
,dc_dttmtfmt=&dc_dttmtfmt
|
||||||
)
|
)
|
||||||
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
||||||
(eg in a hook script run via mp_include) only records the error in
|
(eg in a hook script run via mp_include) only records the failure in
|
||||||
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
||||||
%mp_abort(mode=INCLUDE)
|
%mp_abort(mode=INCLUDE)
|
||||||
|
|
||||||
%mp_abort(
|
%mp_abort(
|
||||||
iftrue= (%sysfunc(fileexist(%sysfunc(pathname(work))/mf_abort.error)) ne 0)
|
iftrue= (%sysfunc(fileexist(%sysfunc(pathname(work))/mf_abort.error)) ne 0)
|
||||||
,mac=&_program
|
,mac=&_program
|
||||||
,msg=%nrstr(Problem occurred in &sysmacroname (mf_abort.error file found))
|
,msg=%nrstr(Problem occurred in &sysmacroname (abort marker file found))
|
||||||
)
|
)
|
||||||
|
|
||||||
%mp_abort(iftrue= (&syscc ne 0)
|
%mp_abort(iftrue= (&syscc ne 0)
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ run;
|
|||||||
,dc_dttmtfmt=&dc_dttmtfmt
|
,dc_dttmtfmt=&dc_dttmtfmt
|
||||||
)
|
)
|
||||||
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
/* mp_abort cannot exit cleanly from inside a %include, so an abort there
|
||||||
(eg in a hook script run via mp_include) only records the error in
|
(eg in a hook script run via mp_include) only records the failure in
|
||||||
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
work.mp_abort_errds. mode=INCLUDE picks that up and aborts properly here. */
|
||||||
%mp_abort(mode=INCLUDE)
|
%mp_abort(mode=INCLUDE)
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ data work.staging_ds;
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
/* publish error message */
|
/* publish abort message */
|
||||||
if err=1 then do;
|
if err=1 then do;
|
||||||
errmsg=catx(' ',xlmap_range_id,':',value_txt,'->',errmsg);
|
errmsg=catx(' ',xlmap_range_id,':',value_txt,'->',errmsg);
|
||||||
call symputx('errmsg',errmsg);
|
call symputx('errmsg',errmsg);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
@warning This STP self destructs! It will delete itself after a successful run
|
@warning This STP self destructs! It will delete itself after a successful run
|
||||||
to avoid being executed twice (and overwriting actual data)
|
to avoid being executed twice (and overwriting actual data)
|
||||||
|
|
||||||
|
@sasjslint {"noBannedStrings": false}
|
||||||
|
|
||||||
<h4> SAS Macros </h4>
|
<h4> SAS Macros </h4>
|
||||||
@li mf_getapploc.sas
|
@li mf_getapploc.sas
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
@warning This STP self destructs! It will delete itself after a successful run
|
@warning This STP self destructs! It will delete itself after a successful run
|
||||||
to avoid being executed twice (and overwriting actual data)
|
to avoid being executed twice (and overwriting actual data)
|
||||||
|
|
||||||
|
@sasjslint {"noBannedStrings": false}
|
||||||
|
|
||||||
<h4> SAS Macros </h4>
|
<h4> SAS Macros </h4>
|
||||||
@li mm_createlibrary.sas
|
@li mm_createlibrary.sas
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ run;
|
|||||||
|
|
||||||
%mp_abort(iftrue= (&syscc ne 0)
|
%mp_abort(iftrue= (&syscc ne 0)
|
||||||
,mac=buildtermsas9
|
,mac=buildtermsas9
|
||||||
,msg=%str(Some final error in &_program )
|
,msg=%str(Some final problem in &_program )
|
||||||
)
|
)
|
||||||
/* delete if successful */
|
/* delete if successful */
|
||||||
%mm_deletestp(target=&_program)
|
%mm_deletestp(target=&_program)
|
||||||
Reference in new issue
Block a user