diff --git a/all.sas b/all.sas index 5cecae7..5a4b3de 100644 --- a/all.sas +++ b/all.sas @@ -6570,6 +6570,22 @@ drop table &dropds; %let lib=%upcase(&lib); %let ds=%upcase(&ds); +/** + * Cater for environments where sashelp.vcncolu is not available + */ +%if %sysfunc(exist(sashelp.vcncolu,view))=0 %then %do; + proc sql; + create table &outds( + libref char(8) + ,TABLE_NAME char(32) + ,constraint_type char(8) label='Constraint Type' + ,constraint_name char(32) label='Constraint Name' + ,column_name char(32) label='Column' + ,constraint_order num + ); + %return; +%end; + /** * Neither dictionary tables nor sashelp provides a constraint order column, * however they DO arrive in the correct order. So, create the col. diff --git a/base/mp_getconstraints.sas b/base/mp_getconstraints.sas index 78dfcd3..95eac49 100644 --- a/base/mp_getconstraints.sas +++ b/base/mp_getconstraints.sas @@ -40,6 +40,22 @@ %let lib=%upcase(&lib); %let ds=%upcase(&ds); +/** + * Cater for environments where sashelp.vcncolu is not available + */ +%if %sysfunc(exist(sashelp.vcncolu,view))=0 %then %do; + proc sql; + create table &outds( + libref char(8) + ,TABLE_NAME char(32) + ,constraint_type char(8) label='Constraint Type' + ,constraint_name char(32) label='Constraint Name' + ,column_name char(32) label='Column' + ,constraint_order num + ); + %return; +%end; + /** * Neither dictionary tables nor sashelp provides a constraint order column, * however they DO arrive in the correct order. So, create the col. diff --git a/sasjs/sasjsconfig.json b/sasjs/sasjsconfig.json index 9b74a44..cbc925f 100644 --- a/sasjs/sasjsconfig.json +++ b/sasjs/sasjsconfig.json @@ -43,7 +43,7 @@ }, { "name": "sas9", - "serverUrl": "https://sas.analytium.co.uk:8343", + "serverUrl": "", "serverType": "SAS9", "httpsAgentOptions": { "allowInsecureRequests": false @@ -65,7 +65,7 @@ }, { "name": "server", - "serverUrl": "https://sas.analytium.co.uk:5007", + "serverUrl": "", "serverType": "SASJS", "httpsAgentOptions": { "allowInsecureRequests": false @@ -78,7 +78,7 @@ }, { "name": "docsonly", - "serverType": "SAS9", + "serverType": "SASJS", "appLoc": "dummy", "macroFolders": [ "meta", diff --git a/tests/crossplatform/mp_getconstraints.test.sas b/tests/crossplatform/mp_getconstraints.test.sas index 1da4ebd..cac23d9 100644 --- a/tests/crossplatform/mp_getconstraints.test.sas +++ b/tests/crossplatform/mp_getconstraints.test.sas @@ -6,24 +6,52 @@ @li mf_nobs.sas @li mp_getconstraints.sas @li mp_assert.sas + @li mp_assertscope.sas **/ -proc sql; -create table work.example( - TX_FROM float format=datetime19., - DD_TYPE char(16), - DD_SOURCE char(2048), - DD_SHORTDESC char(256), - constraint pk primary key(tx_from, dd_type,dd_source), - constraint unq unique(tx_from, dd_type), - constraint nnn not null(DD_SHORTDESC) -); -%mp_getconstraints(lib=work,ds=example,outds=work.constraints) +%macro conditional(); -%mp_assert( - iftrue=(%mf_nobs(work.constraints)=6), - desc=Output table work.constraints created with correct number of records, - outds=work.test_results -) \ No newline at end of file +%if %sysfunc(exist(sashelp.vcncolu,view))=1 %then %do; + proc sql; + create table work.example( + TX_FROM float format=datetime19., + DD_TYPE char(16), + DD_SOURCE char(2048), + DD_SHORTDESC char(256), + constraint pk primary key(tx_from, dd_type,dd_source), + constraint unq unique(tx_from, dd_type), + constraint nnn not null(DD_SHORTDESC) + ); + %mp_assertscope(SNAPSHOT) + %mp_getconstraints(lib=work,ds=example,outds=work.constraints) + %mp_assertscope(COMPARE) + + %mp_assert( + iftrue=(%mf_nobs(work.constraints)=6), + desc=Output table work.constraints created with correct number of records, + outds=work.test_results + ) +%end; +%else %do; + proc sql; + create table work.example( + TX_FROM float format=datetime19., + DD_TYPE char(16), + DD_SOURCE char(2048), + DD_SHORTDESC char(256) + ); + %mp_assertscope(SNAPSHOT) + %mp_getconstraints(lib=work,ds=example,outds=work.constraints) + %mp_assertscope(COMPARE) + + %mp_assert( + iftrue=(%mf_nobs(work.constraints)=0), + desc=Empty table created as constraints not supported, + outds=work.test_results + ) +%end; +%mend conditional; + +%conditional()