feat(mocks): emit the sas9 services through webout()
Build / Build-and-ng-test (pull_request) Successful in 6m42s
Lighthouse Checks / lighthouse (pull_request) Successful in 8m57s
Build / Build-and-test-development (pull_request) Canceled after 14m28s

The sasjs tree has emitted its responses through the runtime's webout()
since #461; the SAS 9 tree under sas/mocks/sas9/ still assigned every
captured payload to _webout, so its envelope was frozen at the 2022
recording and its values carried the separators a template literal eats.

All 35 services now call webout('OPEN') / webout('OBJ'|'ARR', name, rows)
/ webout('CLOSE'), with the three services that carry column metadata
passing { showmeta } and loading the guard from the new weboutGuard.js.

The payloads come from the captures read as JS produces them, with the
backslashes a template literal silently drops restored: 121 separator
values across 14 services - OMS URIs (OMSOBJ:<Class>\<repo>.<id>),
BUILTIN\Administrators, SAS\sasdemo and D:\... / C:\... paths.
This commit is contained in:
dc committed 2026-11-04 14:21:44 +00:00
1 parent 03cb3b9d37
commit 7be3f84073
37 files changed
+6263 -6425

No files matched your search

+2 -2
View File
@@ -147,11 +147,11 @@ The app will be at `http://localhost:4200`. It calls the JS mock services on por
### How the mocks work
Each `.js` file in `sas/mocks/sasjs/services/` corresponds to a real SAS service (e.g. `public/startupservice.js` mimics `services/public/startupservice.sas`). The JS runtime predeclares `fs` and `_webout`; the mock assigns a JSON string to `_webout` that matches the structure the real SAS service would return. Some mocks are stateful: they persist data to a `mock-storage/` folder on the SASjs Drive (e.g. `licence.json`, `users.json`, `filter.txt`) using the predeclared `fs` module.
Each `.js` file in `sas/mocks/sasjs/services/` corresponds to a real SAS service (e.g. `public/startupservice.js` mimics `services/public/startupservice.sas`). The JS runtime predeclares `fs` and `_webout`, and the services emit their members through the runtime's `webout()` - `webout('OPEN')`, one `webout('OBJ', name, rows)` (or `webout('ARR', name, rows)` for positional rows) per member, `webout('CLOSE')` - so the response envelope comes from the host and the file carries only what the SAS service returns. A few services still write the body themselves through `_webout`: the ones that emit plain text, CSV, DDL or HTML and set their own content headers (`admin/exportdb`, `admin/makedata`, `public/getrawdata`, `public/getddl`), and the lineage captures. Some mocks are stateful: they persist data to a `mock-storage/` folder on the SASjs Drive (e.g. `licence.json`, `users.json`, `filter.txt`) using the predeclared `fs` module.
The mock data includes sample tables (`DC996664.MPE_X_TEST`, `MPE_X_NEW`, `MPE_X_FORMULA_TEST`, etc.) with realistic columns, validation rules (HARDREGEX, SOFTREGEX, HARDSELECT, READONLY, HIDDEN, ROUND, NUMBER_FORMAT), and dropdown values. This is sufficient to exercise the full editor grid, approval workflow, viewer, and admin screens.
There is also a SAS 9 mock variant under `sas/mocks/sas9/` (target `sas9-mocks`) that mimics SAS 9 stored processes with the same JS approach but a different appLoc (`/User Folders/sasdemo/`).
There is also a SAS 9 mock variant under `sas/mocks/sas9/` (target `sas9-mocks`) that mimics SAS 9 stored processes with the same JS approach but a different appLoc (`/User Folders/sasdemo/`). Its services are fixed recordings of the SAS 9 responses, emitted through `webout()` in the same way; the payloads are the SAS 9 ones (metadata URIs, `BUILTIN\Administrators` owners, `D:\...` paths).
### Re-deploying after changes
@@ -1,28 +1,5 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:46"
, "fromsas":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/approvers/getapprovals"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80579DF8B43940ABDE0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:46:48.647000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [])
webout('CLOSE')
@@ -1,38 +1,17 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:43"
, "fromsas":
[
{
"TABLE_ID": "DC20220926T084322234_729360_2744",
"BASE_TABLE": "DC996664.MPE_X_TEST",
"SUBMITTED": " 2022-09-26 08:43:22",
"SUBMITTED_REASON_TXT": "",
"SUBMITTER": "sasdemo",
"REVIEWED": " 2022-09-26 08:43:52",
"STATUS": "APPROVED",
"REVIEWED_ON_DTTM": 1979801032.54,
"APPROVER": "sasdemo"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/approvers/gethistory"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD805772B147AE40AB1E0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:43:55.321000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [
{
TABLE_ID: 'DC20220926T084322234_729360_2744',
BASE_TABLE: 'DC996664.MPE_X_TEST',
SUBMITTED: ' 2022-09-26 08:43:22',
SUBMITTED_REASON_TXT: '',
SUBMITTER: 'sasdemo',
REVIEWED: ' 2022-09-26 08:43:52',
STATUS: 'APPROVED',
REVIEWED_ON_DTTM: 1979801032.54,
APPROVER: 'sasdemo'
}
])
webout('CLOSE')
@@ -1,37 +1,15 @@
_webout=`{"SYSDATE" : "27SEP22"
,"SYSTIME" : "07:56"
, "fromsas":
[
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [
{
"RESPONSE": "SUCCESS!",
"TABLE_ID": "DC20220927T075630819_560700_2598",
"REVIEWED_BY_NM": "sasdemo",
"BASE_TABLE": "DC996664.MPE_X_TEST",
"REVIEW_STATUS_ID": "REJECTED",
"REVIEWED_ON_DTTM": "27SEP22:07:56:53.47",
"REVIEW_REASON_TXT": "Test"
RESPONSE: 'SUCCESS!',
TABLE_ID: 'DC20220927T075630819_560700_2598',
REVIEWED_BY_NM: 'sasdemo',
BASE_TABLE: 'DC996664.MPE_X_TEST',
REVIEW_STATUS_ID: 'REJECTED',
REVIEWED_ON_DTTM: '27SEP22:07:56:53.47',
REVIEW_REASON_TXT: 'Test'
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/approvers/rejection"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80A91145F3B64092AC0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "25980"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-27T07:56:53.688000"
,"MEMSIZE" : "82GB"
}
`
])
webout('CLOSE')
@@ -1,32 +1,32 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:43"
, "stagetable":
[
{"PRIMARY_KEY_FIELD":0 ,"SOME_BESTNUM":44 ,"SOME_CHAR":"this is dummy datass" ,"SOME_DATE":42 ,"SOME_DATETIME":42 ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":42 ,"SOME_SHORTNUM":3 ,"SOME_TIME":42 ,"_____DELETE__THIS__RECORD_____":"No" }
]
, "fmt_stagetable":
[
{"PRIMARY_KEY_FIELD":"0" ,"SOME_BESTNUM":"44" ,"SOME_CHAR":"this is dummy datass" ,"SOME_DATE":"12FEB1960" ,"SOME_DATETIME":"01JAN1960:00:00:42" ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":"42" ,"SOME_SHORTNUM":"3" ,"SOME_TIME":"0:00:42" ,"_____DELETE__THIS__RECORD_____":"No" }
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/auditors/getstagetable"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80576B5820C540A6200000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : ""
,"END_DTTM" : "2022-09-26T08:43:25.714000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'stagetable', [
{
PRIMARY_KEY_FIELD: 0,
SOME_BESTNUM: 44,
SOME_CHAR: 'this is dummy datass',
SOME_DATE: 42,
SOME_DATETIME: 42,
SOME_DROPDOWN: 'Option 1',
SOME_NUM: 42,
SOME_SHORTNUM: 3,
SOME_TIME: 42,
_____DELETE__THIS__RECORD_____: 'No'
}
])
webout('OBJ', 'fmt_stagetable', [
{
PRIMARY_KEY_FIELD: '0',
SOME_BESTNUM: '44',
SOME_CHAR: 'this is dummy datass',
SOME_DATE: '12FEB1960',
SOME_DATETIME: '01JAN1960:00:00:42',
SOME_DROPDOWN: 'Option 1',
SOME_NUM: '42',
SOME_SHORTNUM: '3',
SOME_TIME: '0:00:42',
_____DELETE__THIS__RECORD_____: 'No'
}
])
webout('CLOSE')
+146 -143
View File
@@ -1,143 +1,146 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:43"
, "params":
[
{
"TABLE_ID": "DC20220926T084322234_729360_2744",
"SUBMIT_STATUS_CD": "SUBMITTED",
"BASE_LIB": "DC996664",
"BASE_DS": "MPE_X_TEST",
"SUBMITTED_BY_NM": "sasdemo",
"SUBMITTED_ON_DTTM": "26SEP22:08:43:22.38",
"SUBMITTED_REASON_TXT": "",
"INPUT_OBS": 1,
"INPUT_VARS": 10,
"NUM_OF_APPROVALS_REQUIRED": 1,
"NUM_OF_APPROVALS_REMAINING": 1,
"REVIEWED_BY_NM": "",
"REVIEWED_ON_DTTM": null,
"LIBDS": "DC996664.MPE_X_TEST",
"REVIEWED_ON": " .",
"DIFFTIME": "26SEP22:08:43:33.07",
"DIFFS_CSV": "tempDiffs_20220926_084334.csv",
"FILESIZE": " 456.0KB",
"FILESIZE_RAW": 466944,
"TRUNCATED": "NO",
"NUM_ADDED": 0,
"NUM_DELETED": 0,
"NUM_UPDATED": 1,
"SUBMITTED_ON": " 26SEP2022:08:43:22",
"ISAPPROVER": "YES"
}
]
, "cols":
[
{
"NAME": "PRIMARY_KEY_FIELD",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": ""
},
{
"NAME": "SOME_CHAR",
"TYPE": 2,
"LENGTH": 32767,
"FORMAT": ""
},
{
"NAME": "SOME_DROPDOWN",
"TYPE": 2,
"LENGTH": 128,
"FORMAT": ""
},
{
"NAME": "SOME_NUM",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": ""
},
{
"NAME": "SOME_DATE",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": "DATE"
},
{
"NAME": "SOME_DATETIME",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": "DATETIME"
},
{
"NAME": "SOME_TIME",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": "TIME"
},
{
"NAME": "SOME_SHORTNUM",
"TYPE": 1,
"LENGTH": 4,
"FORMAT": ""
},
{
"NAME": "SOME_BESTNUM",
"TYPE": 1,
"LENGTH": 8,
"FORMAT": "BEST"
}
]
, "submits":
[
]
, "deleted":
[
]
, "new":
[
]
, "updates":
[
{"PRIMARY_KEY_FIELD":0 ,"SOME_CHAR":"this is dummy datass" ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":42 ,"SOME_DATE":42 ,"SOME_DATETIME":42 ,"SOME_TIME":42 ,"SOME_SHORTNUM":3 ,"SOME_BESTNUM":44 }
]
, "originals":
[
{"PRIMARY_KEY_FIELD":0 ,"SOME_CHAR":"this is dummy data" ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":42 ,"SOME_DATE":42 ,"SOME_DATETIME":42 ,"SOME_TIME":42 ,"SOME_SHORTNUM":3 ,"SOME_BESTNUM":44 }
]
, "fmt_deleted":
[
]
, "fmt_new":
[
]
, "fmt_updates":
[
{"PRIMARY_KEY_FIELD":"0" ,"SOME_CHAR":"this is dummy datass" ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":"42" ,"SOME_DATE":"12FEB1960" ,"SOME_DATETIME":"01JAN1960:00:00:42" ,"SOME_TIME":"0:00:42" ,"SOME_SHORTNUM":"3" ,"SOME_BESTNUM":"44" }
]
, "fmt_originals":
[
{"PRIMARY_KEY_FIELD":"0" ,"SOME_CHAR":"this is dummy data" ,"SOME_DROPDOWN":"Option 1" ,"SOME_NUM":"42" ,"SOME_DATE":"12FEB1960" ,"SOME_DATETIME":"01JAN1960:00:00:42" ,"SOME_TIME":"0:00:42" ,"SOME_SHORTNUM":"3" ,"SOME_BESTNUM":"44" }
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/auditors/postdata"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80576D34BC6A406AE00000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "21468"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:43:40.967000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'params', [
{
TABLE_ID: 'DC20220926T084322234_729360_2744',
SUBMIT_STATUS_CD: 'SUBMITTED',
BASE_LIB: 'DC996664',
BASE_DS: 'MPE_X_TEST',
SUBMITTED_BY_NM: 'sasdemo',
SUBMITTED_ON_DTTM: '26SEP22:08:43:22.38',
SUBMITTED_REASON_TXT: '',
INPUT_OBS: 1,
INPUT_VARS: 10,
NUM_OF_APPROVALS_REQUIRED: 1,
NUM_OF_APPROVALS_REMAINING: 1,
REVIEWED_BY_NM: '',
REVIEWED_ON_DTTM: null,
LIBDS: 'DC996664.MPE_X_TEST',
REVIEWED_ON: ' .',
DIFFTIME: '26SEP22:08:43:33.07',
DIFFS_CSV: 'tempDiffs_20220926_084334.csv',
FILESIZE: ' 456.0KB',
FILESIZE_RAW: 466944,
TRUNCATED: 'NO',
NUM_ADDED: 0,
NUM_DELETED: 0,
NUM_UPDATED: 1,
SUBMITTED_ON: ' 26SEP2022:08:43:22',
ISAPPROVER: 'YES'
}
])
webout('OBJ', 'cols', [
{
NAME: 'PRIMARY_KEY_FIELD',
TYPE: 1,
LENGTH: 8,
FORMAT: ''
},
{
NAME: 'SOME_CHAR',
TYPE: 2,
LENGTH: 32767,
FORMAT: ''
},
{
NAME: 'SOME_DROPDOWN',
TYPE: 2,
LENGTH: 128,
FORMAT: ''
},
{
NAME: 'SOME_NUM',
TYPE: 1,
LENGTH: 8,
FORMAT: ''
},
{
NAME: 'SOME_DATE',
TYPE: 1,
LENGTH: 8,
FORMAT: 'DATE'
},
{
NAME: 'SOME_DATETIME',
TYPE: 1,
LENGTH: 8,
FORMAT: 'DATETIME'
},
{
NAME: 'SOME_TIME',
TYPE: 1,
LENGTH: 8,
FORMAT: 'TIME'
},
{
NAME: 'SOME_SHORTNUM',
TYPE: 1,
LENGTH: 4,
FORMAT: ''
},
{
NAME: 'SOME_BESTNUM',
TYPE: 1,
LENGTH: 8,
FORMAT: 'BEST'
}
])
webout('OBJ', 'submits', [])
webout('OBJ', 'deleted', [])
webout('OBJ', 'new', [])
webout('OBJ', 'updates', [
{
PRIMARY_KEY_FIELD: 0,
SOME_CHAR: 'this is dummy datass',
SOME_DROPDOWN: 'Option 1',
SOME_NUM: 42,
SOME_DATE: 42,
SOME_DATETIME: 42,
SOME_TIME: 42,
SOME_SHORTNUM: 3,
SOME_BESTNUM: 44
}
])
webout('OBJ', 'originals', [
{
PRIMARY_KEY_FIELD: 0,
SOME_CHAR: 'this is dummy data',
SOME_DROPDOWN: 'Option 1',
SOME_NUM: 42,
SOME_DATE: 42,
SOME_DATETIME: 42,
SOME_TIME: 42,
SOME_SHORTNUM: 3,
SOME_BESTNUM: 44
}
])
webout('OBJ', 'fmt_deleted', [])
webout('OBJ', 'fmt_new', [])
webout('OBJ', 'fmt_updates', [
{
PRIMARY_KEY_FIELD: '0',
SOME_CHAR: 'this is dummy datass',
SOME_DROPDOWN: 'Option 1',
SOME_NUM: '42',
SOME_DATE: '12FEB1960',
SOME_DATETIME: '01JAN1960:00:00:42',
SOME_TIME: '0:00:42',
SOME_SHORTNUM: '3',
SOME_BESTNUM: '44'
}
])
webout('OBJ', 'fmt_originals', [
{
PRIMARY_KEY_FIELD: '0',
SOME_CHAR: 'this is dummy data',
SOME_DROPDOWN: 'Option 1',
SOME_NUM: '42',
SOME_DATE: '12FEB1960',
SOME_DATETIME: '01JAN1960:00:00:42',
SOME_TIME: '0:00:42',
SOME_SHORTNUM: '3',
SOME_BESTNUM: '44'
}
])
webout('CLOSE')
+517 -340
View File
@@ -1,317 +1,469 @@
const nodePath = require('path')
const appLoc = nodePath.join(..._program.split('services')[0].split('/'))
const sasjsRoot = nodePath.resolve(weboutPath, '..', '..', '..')
eval(
fs.readFileSync(
nodePath.resolve(
sasjsRoot,
'drive',
'files',
appLoc,
'services',
'weboutGuard.js'
),
'utf8'
)
)
function makeRows(n) {
const dropdowns = ["Option 1", "Option 2", "Option 3"]
const hardselects = ["Alpha", "Bravo", "Charlie"]
// SOME_NUM is a HARDSELECT_HOOK column — values must come from the dynamic
// validation service (editors/getdynamiccolvals.js -> `other`). Use a subset
// of those valid values so the cells pass validation.
const someNumValues = [
0.00105564761956, 0.00521895988156, 0.0058409725343, 0.00613050395908,
0.01305025071513, 0.01442142483518, 0.02422838845487, 0.0256445333481,
0.02624525922641, 0.02891322459509, 0.02972866503043, 0.03103561933666,
0.03150132113671, 0.03522355064527, 0.03529406247441, 0.03975785711768,
0.04319973664507, 0.04521169189606, 0.04787342951068, 0.04948144222119
]
const rows = []
for (let i = 0; i < n; i++) {
rows.push({
PRIMARY_KEY_FIELD: i,
SOME_CHAR: "dummy data row " + i,
SOME_DROPDOWN: dropdowns[i % dropdowns.length],
SOME_HARDSELECT: hardselects[i % hardselects.length],
SOME_NUM: someNumValues[i % someNumValues.length],
SOME_DATE: "1960-02-12",
SOME_DATETIME: "1960-01-01 00:00:42",
SOME_TIME: "00:00:42",
SOME_SHORTNUM: (i % 99) + 1,
SOME_BESTNUM: (i % 90) + 10,
// demo columns for the newer DQ rule types
READONLY_COL: "Readonly default",
HIDDEN_COL: "Hidden default",
ROUND_COL: Number((i + 1 + i / 7).toFixed(5)), // rounds on edit
NUMFMT_COL: 1000 + i * 12.5 // shown as EUR
})
}
return rows
const dropdowns = ['Option 1', 'Option 2', 'Option 3']
const hardselects = ['Alpha', 'Bravo', 'Charlie']
// SOME_NUM is a HARDSELECT_HOOK column — values must come from the dynamic
// validation service (editors/getdynamiccolvals.js -> `other`). Use a subset
// of those valid values so the cells pass validation.
const someNumValues = [
0.00105564761956, 0.00521895988156, 0.0058409725343, 0.00613050395908,
0.01305025071513, 0.01442142483518, 0.02422838845487, 0.0256445333481,
0.02624525922641, 0.02891322459509, 0.02972866503043, 0.03103561933666,
0.03150132113671, 0.03522355064527, 0.03529406247441, 0.03975785711768,
0.04319973664507, 0.04521169189606, 0.04787342951068, 0.04948144222119
]
const rows = []
for (let i = 0; i < n; i++) {
rows.push({
PRIMARY_KEY_FIELD: i,
SOME_CHAR: 'dummy data row ' + i,
SOME_DROPDOWN: dropdowns[i % dropdowns.length],
SOME_HARDSELECT: hardselects[i % hardselects.length],
SOME_NUM: someNumValues[i % someNumValues.length],
SOME_DATE: '1960-02-12',
SOME_DATETIME: '1960-01-01 00:00:42',
SOME_TIME: '00:00:42',
SOME_SHORTNUM: (i % 99) + 1,
SOME_BESTNUM: (i % 90) + 10,
// demo columns for the newer DQ rule types
READONLY_COL: 'Readonly default',
HIDDEN_COL: 'Hidden default',
ROUND_COL: Number((i + 1 + i / 7).toFixed(5)), // rounds on edit
NUMFMT_COL: 1000 + i * 12.5 // shown as EUR
})
}
return rows
}
// The members this service returns; the envelope comes from the runtime.
const data = {
SYSDATE: "26SEP22",
SYSTIME: "08:30",
approvers: [
{ PERSONNAME: "sasdemo", EMAIL: "sasdemo", USERID: "sasdemo" }
],
cols: [
{
NAME: "PRIMARY_KEY_FIELD",
LABEL: "PRIMARY_KEY_FIELD",
FMTNAME: "",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_BESTNUM",
LABEL: "SOME_BESTNUM",
FMTNAME: "BEST",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_CHAR",
LABEL: "SOME_CHAR",
FMTNAME: "",
DDTYPE: "C",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_DATE",
LABEL: "SOME_DATE",
FMTNAME: "DATE",
DDTYPE: "DATE",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_DATETIME",
LABEL: "SOME_DATETIME",
FMTNAME: "DATETIME",
DDTYPE: "DATETIME",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_DROPDOWN",
LABEL: "SOME_DROPDOWN",
FMTNAME: "",
DDTYPE: "C",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_HARDSELECT",
LABEL: "SOME_HARDSELECT",
FMTNAME: "",
DDTYPE: "C",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_NUM",
LABEL: "SOME_NUM",
FMTNAME: "",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_SHORTNUM",
LABEL: "SOME_SHORTNUM",
FMTNAME: "",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "SOME_TIME",
LABEL: "SOME_TIME",
FMTNAME: "TIME",
DDTYPE: "TIME",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "",
LONGDESC: ""
},
{
NAME: "READONLY_COL",
LABEL: "READONLY_COL",
FMTNAME: "",
DDTYPE: "C",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "Read-only: default value inserted on add-row, not editable",
LONGDESC: ""
},
{
NAME: "HIDDEN_COL",
LABEL: "HIDDEN_COL",
FMTNAME: "",
DDTYPE: "C",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "Hidden: invisible in grid but submitted; default on add-row",
LONGDESC: ""
},
{
NAME: "ROUND_COL",
LABEL: "ROUND_COL",
FMTNAME: "",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "Round: edited values rounded Excel-style to 2 decimals",
LONGDESC: ""
},
{
NAME: "NUMFMT_COL",
LABEL: "NUMFMT_COL",
FMTNAME: "",
DDTYPE: "N",
CLS_RULE: "READ",
MEMLABEL: "",
DESC: "Number format: displayed as EUR currency (value unchanged)",
LONGDESC: ""
}
],
dqdata: [
{ BASE_COL: "SOME_DROPDOWN", RULE_VALUE: "SOME_DROPDOWN", RULE_DATA: "Option 1", SELECTBOX_ORDER: 1 },
{ BASE_COL: "SOME_DROPDOWN", RULE_VALUE: "SOME_DROPDOWN", RULE_DATA: "Option 2", SELECTBOX_ORDER: 2 },
{ BASE_COL: "SOME_DROPDOWN", RULE_VALUE: "SOME_DROPDOWN", RULE_DATA: "Option 3", SELECTBOX_ORDER: 2 },
{
BASE_COL: "SOME_DROPDOWN",
RULE_VALUE: "SOME_DROPDOWN",
RULE_DATA: "This is a long option. This option is very long. It is optional, though.",
SELECTBOX_ORDER: 3
},
{ BASE_COL: "SOME_HARDSELECT", RULE_VALUE: "SOME_HARDSELECT", RULE_DATA: "Alpha", SELECTBOX_ORDER: 1 },
{ BASE_COL: "SOME_HARDSELECT", RULE_VALUE: "SOME_HARDSELECT", RULE_DATA: "Bravo", SELECTBOX_ORDER: 2 },
{ BASE_COL: "SOME_HARDSELECT", RULE_VALUE: "SOME_HARDSELECT", RULE_DATA: "Charlie", SELECTBOX_ORDER: 3 }
],
dqrules: [
{ BASE_COL: "PRIMARY_KEY_FIELD", RULE_TYPE: "NOTNULL", RULE_VALUE: "", X: 0 },
{ BASE_COL: "SOME_NUM", RULE_TYPE: "HARDSELECT_HOOK", RULE_VALUE: "services/validations/mpe_x_test.some_num", X: 0 },
{ BASE_COL: "SOME_HARDSELECT", RULE_TYPE: "HARDSELECT", RULE_VALUE: "", X: 0 },
{ BASE_COL: "READONLY_COL", RULE_TYPE: "READONLY", RULE_VALUE: "Readonly default", X: 0 },
{ BASE_COL: "HIDDEN_COL", RULE_TYPE: "HIDDEN", RULE_VALUE: "Hidden default", X: 0 },
{ BASE_COL: "ROUND_COL", RULE_TYPE: "ROUND", RULE_VALUE: "2", X: 0 },
{ BASE_COL: "NUMFMT_COL", RULE_TYPE: "NUMBER_FORMAT", RULE_VALUE: '{"style":"currency","currency":"EUR"}', X: 0 }
],
dsmeta: [
{ ODS_TABLE: "ATTRIBUTES", NAME: "Data Set Name", VALUE: "DC996664.MPE_X_TEST" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Observations", VALUE: "496" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Member Type", VALUE: "DATA" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Variables", VALUE: "9" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Engine", VALUE: "V9" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Indexes", VALUE: "1" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Created", VALUE: "09/26/2022 08:24:39" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Integrity Constraints", VALUE: "1" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Last Modified", VALUE: "09/26/2022 08:24:45" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Observation Length", VALUE: "32947" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Protection", VALUE: " ." },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Deleted Observations", VALUE: "0" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Data Set Type", VALUE: " ." },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Compressed", VALUE: "CHAR" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Label", VALUE: " ." },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Reuse Space", VALUE: "NO" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Data Representation", VALUE: "WINDOWS_64" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Point to Observations", VALUE: "YES" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Encoding", VALUE: "wlatin1 Western (Windows)" },
{ ODS_TABLE: "ATTRIBUTES", NAME: "Sorted", VALUE: "NO" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Data Set Page Size", VALUE: "262144" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Number of Data Set Pages", VALUE: "3" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Index File Page Size", VALUE: "4096" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Number of Index File Pages", VALUE: "4" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Number of Data Set Repairs", VALUE: "0" },
{ ODS_TABLE: "ENGINEHOST", NAME: "ExtendObsCounter", VALUE: "YES" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Filename", VALUE: "C:DataControllerDC996664mpe_x_test.sas7bdat" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Release Created", VALUE: "9.0401M7" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Host Created", VALUE: "X64_DSRV16" },
{ ODS_TABLE: "ENGINEHOST", NAME: "Owner Name", VALUE: "BUILTINAdministrators" },
{ ODS_TABLE: "ENGINEHOST", NAME: "File Size", VALUE: " 1MB" },
{ ODS_TABLE: "ENGINEHOST", NAME: "File Size (bytes)", VALUE: "1048576" }
],
maxvarlengths: [
{ NAME: "PRIMARY_KEY_FIELD", MAXLEN: 4 },
{ NAME: "some_char", MAXLEN: 591 },
{ NAME: "some_dropdown", MAXLEN: 8 },
{ NAME: "some_hardselect", MAXLEN: 7 },
{ NAME: "some_num", MAXLEN: 8 },
{ NAME: "some_date", MAXLEN: 10 },
{ NAME: "some_datetime", MAXLEN: 19 },
{ NAME: "some_time", MAXLEN: 8 },
{ NAME: "some_shortnum", MAXLEN: 3 },
{ NAME: "some_bestnum", MAXLEN: 3 },
{ NAME: "readonly_col", MAXLEN: 16 },
{ NAME: "hidden_col", MAXLEN: 14 },
{ NAME: "round_col", MAXLEN: 8 },
{ NAME: "numfmt_col", MAXLEN: 8 }
],
query: [],
sasdata: makeRows(100),
$sasdata: {
vars: {
PRIMARY_KEY_FIELD: { format: "best.", label: "PRIMARY_KEY_FIELD", length: "8", type: "num" },
SOME_CHAR: { format: "$32767.", label: "SOME_CHAR", length: "32767", type: "char" },
SOME_DROPDOWN: { format: "$128.", label: "SOME_DROPDOWN", length: "128", type: "char" },
SOME_HARDSELECT: { format: "$128.", label: "SOME_HARDSELECT", length: "128", type: "char" },
SOME_NUM: { format: "best.", label: "SOME_NUM", length: "8", type: "num" },
SOME_DATE: { format: "$200.", label: "SOME_DATE", length: "200", type: "char" },
SOME_DATETIME: { format: "$200.", label: "SOME_DATETIME", length: "200", type: "char" },
SOME_TIME: { format: "$200.", label: "SOME_TIME", length: "200", type: "char" },
SOME_SHORTNUM: { format: "best.", label: "SOME_SHORTNUM", length: "4", type: "num" },
SOME_BESTNUM: { format: "BEST.", label: "SOME_BESTNUM", length: "8", type: "num" },
READONLY_COL: { format: "$200.", label: "READONLY_COL", length: "200", type: "char" },
HIDDEN_COL: { format: "$200.", label: "HIDDEN_COL", length: "200", type: "char" },
ROUND_COL: { format: "best.", label: "ROUND_COL", length: "8", type: "num" },
NUMFMT_COL: { format: "best.", label: "NUMFMT_COL", length: "8", type: "num" }
}
approvers: [{ PERSONNAME: 'sasdemo', EMAIL: 'sasdemo', USERID: 'sasdemo' }],
cols: [
{
NAME: 'PRIMARY_KEY_FIELD',
LABEL: 'PRIMARY_KEY_FIELD',
FMTNAME: '',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
sasparams: [
{
COLHEADERS: "PRIMARY_KEY_FIELD,SOME_CHAR,SOME_DROPDOWN,SOME_HARDSELECT,SOME_NUM,SOME_DATE,SOME_DATETIME,SOME_TIME,SOME_SHORTNUM,SOME_BESTNUM,READONLY_COL,HIDDEN_COL,ROUND_COL,NUMFMT_COL",
FILTER_TEXT: "",
PKCNT: 1,
PK: "PRIMARY_KEY_FIELD",
DTVARS: " SOME_DATE",
DTTMVARS: " SOME_DATETIME",
TMVARS: " SOME_TIME",
COLTYPE: "{\"data\":\"PRIMARY_KEY_FIELD\",\"type\":\"numeric\",\"format\":\"0\"},{\"data\":\"SOME_CHAR\"},{\"data\":\"SOME_DROPDOWN\"},{\"data\":\"SOME_HARDSELECT\"},{\"data\":\"SOME_NUM\",\"type\":\"numeric\",\"format\":\"0\"},{\"data\":\"SOME_DATE\",\"type\":\"date\"},{\"data\":\"SOME_DATETIME\",\"type\":\"datetime\"},{\"data\":\"SOME_TIME\",\"type\":\"time\"},{\"data\":\"SOME_SHORTNUM\",\"type\":\"numeric\",\"format\":\"0\"},{\"data\":\"SOME_BESTNUM\",\"type\":\"numeric\",\"format\":\"0\"},{\"data\":\"READONLY_COL\"},{\"data\":\"HIDDEN_COL\"},{\"data\":\"ROUND_COL\",\"type\":\"numeric\",\"format\":\"0\"},{\"data\":\"NUMFMT_COL\",\"type\":\"numeric\",\"format\":\"0\"}",
LOADTYPE: "UPDATE",
RK_FLAG: 0,
CLS_FLAG: 0
}
],
xl_rules: [],
_DEBUG: "",
_METAUSER: "sasdemo@SAS",
_METAPERSON: "sasdemo",
_PROGRAM: "/Projects/app/dc/services/editors/getdata",
AUTOEXEC: "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas",
MF_GETUSER: "sasdemo",
SYSCC: "0",
SYSENCODING: "wlatin1",
SYSERRORTEXT: "",
SYSHOSTNAME: "SAS",
SYSPROCESSID: "41DD8056A491DB23409E940000000000",
SYSPROCESSMODE: "SAS Stored Process Server",
SYSPROCESSNAME: "",
SYSJOBID: "27448",
SYSSCPL: "X64_DSRV16",
SYSSITE: "123",
SYSUSERID: "sassrv",
SYSVLONG: "9.04.01M7P080520",
SYSWARNINGTEXT: "ENCODING option ignored for files opened with RECFM=N.",
END_DTTM: "2022-09-26T08:30:13.853000",
MEMSIZE: "46GB"
{
NAME: 'SOME_BESTNUM',
LABEL: 'SOME_BESTNUM',
FMTNAME: 'BEST',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_CHAR',
LABEL: 'SOME_CHAR',
FMTNAME: '',
DDTYPE: 'C',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_DATE',
LABEL: 'SOME_DATE',
FMTNAME: 'DATE',
DDTYPE: 'DATE',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_DATETIME',
LABEL: 'SOME_DATETIME',
FMTNAME: 'DATETIME',
DDTYPE: 'DATETIME',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_DROPDOWN',
LABEL: 'SOME_DROPDOWN',
FMTNAME: '',
DDTYPE: 'C',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_HARDSELECT',
LABEL: 'SOME_HARDSELECT',
FMTNAME: '',
DDTYPE: 'C',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_NUM',
LABEL: 'SOME_NUM',
FMTNAME: '',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_SHORTNUM',
LABEL: 'SOME_SHORTNUM',
FMTNAME: '',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'SOME_TIME',
LABEL: 'SOME_TIME',
FMTNAME: 'TIME',
DDTYPE: 'TIME',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: '',
LONGDESC: ''
},
{
NAME: 'READONLY_COL',
LABEL: 'READONLY_COL',
FMTNAME: '',
DDTYPE: 'C',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: 'Read-only: default value inserted on add-row, not editable',
LONGDESC: ''
},
{
NAME: 'HIDDEN_COL',
LABEL: 'HIDDEN_COL',
FMTNAME: '',
DDTYPE: 'C',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: 'Hidden: invisible in grid but submitted; default on add-row',
LONGDESC: ''
},
{
NAME: 'ROUND_COL',
LABEL: 'ROUND_COL',
FMTNAME: '',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: 'Round: edited values rounded Excel-style to 2 decimals',
LONGDESC: ''
},
{
NAME: 'NUMFMT_COL',
LABEL: 'NUMFMT_COL',
FMTNAME: '',
DDTYPE: 'N',
CLS_RULE: 'READ',
MEMLABEL: '',
DESC: 'Number format: displayed as EUR currency (value unchanged)',
LONGDESC: ''
}
],
dqdata: [
{
BASE_COL: 'SOME_DROPDOWN',
RULE_VALUE: 'SOME_DROPDOWN',
RULE_DATA: 'Option 1',
SELECTBOX_ORDER: 1
},
{
BASE_COL: 'SOME_DROPDOWN',
RULE_VALUE: 'SOME_DROPDOWN',
RULE_DATA: 'Option 2',
SELECTBOX_ORDER: 2
},
{
BASE_COL: 'SOME_DROPDOWN',
RULE_VALUE: 'SOME_DROPDOWN',
RULE_DATA: 'Option 3',
SELECTBOX_ORDER: 2
},
{
BASE_COL: 'SOME_DROPDOWN',
RULE_VALUE: 'SOME_DROPDOWN',
RULE_DATA:
'This is a long option. This option is very long. It is optional, though.',
SELECTBOX_ORDER: 3
},
{
BASE_COL: 'SOME_HARDSELECT',
RULE_VALUE: 'SOME_HARDSELECT',
RULE_DATA: 'Alpha',
SELECTBOX_ORDER: 1
},
{
BASE_COL: 'SOME_HARDSELECT',
RULE_VALUE: 'SOME_HARDSELECT',
RULE_DATA: 'Bravo',
SELECTBOX_ORDER: 2
},
{
BASE_COL: 'SOME_HARDSELECT',
RULE_VALUE: 'SOME_HARDSELECT',
RULE_DATA: 'Charlie',
SELECTBOX_ORDER: 3
}
],
dqrules: [
{
BASE_COL: 'PRIMARY_KEY_FIELD',
RULE_TYPE: 'NOTNULL',
RULE_VALUE: '',
X: 0
},
{
BASE_COL: 'SOME_NUM',
RULE_TYPE: 'HARDSELECT_HOOK',
RULE_VALUE: 'services/validations/mpe_x_test.some_num',
X: 0
},
{
BASE_COL: 'SOME_HARDSELECT',
RULE_TYPE: 'HARDSELECT',
RULE_VALUE: '',
X: 0
},
{
BASE_COL: 'READONLY_COL',
RULE_TYPE: 'READONLY',
RULE_VALUE: 'Readonly default',
X: 0
},
{
BASE_COL: 'HIDDEN_COL',
RULE_TYPE: 'HIDDEN',
RULE_VALUE: 'Hidden default',
X: 0
},
{ BASE_COL: 'ROUND_COL', RULE_TYPE: 'ROUND', RULE_VALUE: '2', X: 0 },
{
BASE_COL: 'NUMFMT_COL',
RULE_TYPE: 'NUMBER_FORMAT',
RULE_VALUE: '{"style":"currency","currency":"EUR"}',
X: 0
}
],
dsmeta: [
{
ODS_TABLE: 'ATTRIBUTES',
NAME: 'Data Set Name',
VALUE: 'DC996664.MPE_X_TEST'
},
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Observations', VALUE: '496' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Member Type', VALUE: 'DATA' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Variables', VALUE: '9' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Engine', VALUE: 'V9' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Indexes', VALUE: '1' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Created', VALUE: '09/26/2022 08:24:39' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Integrity Constraints', VALUE: '1' },
{
ODS_TABLE: 'ATTRIBUTES',
NAME: 'Last Modified',
VALUE: '09/26/2022 08:24:45'
},
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Observation Length', VALUE: '32947' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Protection', VALUE: ' .' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Deleted Observations', VALUE: '0' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Data Set Type', VALUE: ' .' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Compressed', VALUE: 'CHAR' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Label', VALUE: ' .' },
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Reuse Space', VALUE: 'NO' },
{
ODS_TABLE: 'ATTRIBUTES',
NAME: 'Data Representation',
VALUE: 'WINDOWS_64'
},
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Point to Observations', VALUE: 'YES' },
{
ODS_TABLE: 'ATTRIBUTES',
NAME: 'Encoding',
VALUE: 'wlatin1 Western (Windows)'
},
{ ODS_TABLE: 'ATTRIBUTES', NAME: 'Sorted', VALUE: 'NO' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Data Set Page Size', VALUE: '262144' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Number of Data Set Pages', VALUE: '3' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Index File Page Size', VALUE: '4096' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Number of Index File Pages', VALUE: '4' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Number of Data Set Repairs', VALUE: '0' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'ExtendObsCounter', VALUE: 'YES' },
{
ODS_TABLE: 'ENGINEHOST',
NAME: 'Filename',
VALUE: 'C:DataControllerDC996664mpe_x_test.sas7bdat'
},
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Release Created', VALUE: '9.0401M7' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'Host Created', VALUE: 'X64_DSRV16' },
{
ODS_TABLE: 'ENGINEHOST',
NAME: 'Owner Name',
VALUE: 'BUILTINAdministrators'
},
{ ODS_TABLE: 'ENGINEHOST', NAME: 'File Size', VALUE: ' 1MB' },
{ ODS_TABLE: 'ENGINEHOST', NAME: 'File Size (bytes)', VALUE: '1048576' }
],
maxvarlengths: [
{ NAME: 'PRIMARY_KEY_FIELD', MAXLEN: 4 },
{ NAME: 'some_char', MAXLEN: 591 },
{ NAME: 'some_dropdown', MAXLEN: 8 },
{ NAME: 'some_hardselect', MAXLEN: 7 },
{ NAME: 'some_num', MAXLEN: 8 },
{ NAME: 'some_date', MAXLEN: 10 },
{ NAME: 'some_datetime', MAXLEN: 19 },
{ NAME: 'some_time', MAXLEN: 8 },
{ NAME: 'some_shortnum', MAXLEN: 3 },
{ NAME: 'some_bestnum', MAXLEN: 3 },
{ NAME: 'readonly_col', MAXLEN: 16 },
{ NAME: 'hidden_col', MAXLEN: 14 },
{ NAME: 'round_col', MAXLEN: 8 },
{ NAME: 'numfmt_col', MAXLEN: 8 }
],
query: [],
sasdata: makeRows(100),
$sasdata: {
vars: {
PRIMARY_KEY_FIELD: {
format: 'best.',
label: 'PRIMARY_KEY_FIELD',
length: '8',
type: 'num'
},
SOME_CHAR: {
format: '$32767.',
label: 'SOME_CHAR',
length: '32767',
type: 'char'
},
SOME_DROPDOWN: {
format: '$128.',
label: 'SOME_DROPDOWN',
length: '128',
type: 'char'
},
SOME_HARDSELECT: {
format: '$128.',
label: 'SOME_HARDSELECT',
length: '128',
type: 'char'
},
SOME_NUM: {
format: 'best.',
label: 'SOME_NUM',
length: '8',
type: 'num'
},
SOME_DATE: {
format: '$200.',
label: 'SOME_DATE',
length: '200',
type: 'char'
},
SOME_DATETIME: {
format: '$200.',
label: 'SOME_DATETIME',
length: '200',
type: 'char'
},
SOME_TIME: {
format: '$200.',
label: 'SOME_TIME',
length: '200',
type: 'char'
},
SOME_SHORTNUM: {
format: 'best.',
label: 'SOME_SHORTNUM',
length: '4',
type: 'num'
},
SOME_BESTNUM: {
format: 'BEST.',
label: 'SOME_BESTNUM',
length: '8',
type: 'num'
},
READONLY_COL: {
format: '$200.',
label: 'READONLY_COL',
length: '200',
type: 'char'
},
HIDDEN_COL: {
format: '$200.',
label: 'HIDDEN_COL',
length: '200',
type: 'char'
},
ROUND_COL: {
format: 'best.',
label: 'ROUND_COL',
length: '8',
type: 'num'
},
NUMFMT_COL: {
format: 'best.',
label: 'NUMFMT_COL',
length: '8',
type: 'num'
}
}
},
sasparams: [
{
COLHEADERS:
'PRIMARY_KEY_FIELD,SOME_CHAR,SOME_DROPDOWN,SOME_HARDSELECT,SOME_NUM,SOME_DATE,SOME_DATETIME,SOME_TIME,SOME_SHORTNUM,SOME_BESTNUM,READONLY_COL,HIDDEN_COL,ROUND_COL,NUMFMT_COL',
FILTER_TEXT: '',
PKCNT: 1,
PK: 'PRIMARY_KEY_FIELD',
DTVARS: ' SOME_DATE',
DTTMVARS: ' SOME_DATETIME',
TMVARS: ' SOME_TIME',
COLTYPE:
'{"data":"PRIMARY_KEY_FIELD","type":"numeric","format":"0"},{"data":"SOME_CHAR"},{"data":"SOME_DROPDOWN"},{"data":"SOME_HARDSELECT"},{"data":"SOME_NUM","type":"numeric","format":"0"},{"data":"SOME_DATE","type":"date"},{"data":"SOME_DATETIME","type":"datetime"},{"data":"SOME_TIME","type":"time"},{"data":"SOME_SHORTNUM","type":"numeric","format":"0"},{"data":"SOME_BESTNUM","type":"numeric","format":"0"},{"data":"READONLY_COL"},{"data":"HIDDEN_COL"},{"data":"ROUND_COL","type":"numeric","format":"0"},{"data":"NUMFMT_COL","type":"numeric","format":"0"}',
LOADTYPE: 'UPDATE',
RK_FLAG: 0,
CLS_FLAG: 0
}
],
xl_rules: []
}
// The DQ-rule demo columns (HARDSELECT / READONLY / HIDDEN / ROUND /
@@ -320,46 +472,71 @@ const data = {
// columns). Mirror of the SASJS mock (editors/getdata.js). The demo tables are
// built lazily (below) so we don't clone the large MPE_X_TEST payload unless
// MPE_X_NEW is actually requested.
const RULE_DEMO_COLS = ['SOME_HARDSELECT', 'READONLY_COL', 'HIDDEN_COL', 'ROUND_COL', 'NUMFMT_COL']
const RULE_DEMO_COLS = [
'SOME_HARDSELECT',
'READONLY_COL',
'HIDDEN_COL',
'ROUND_COL',
'NUMFMT_COL'
]
function stripRuleCols(t) {
const uc = new Set(RULE_DEMO_COLS)
const lc = new Set(RULE_DEMO_COLS.map((c) => c.toLowerCase()))
const uc = new Set(RULE_DEMO_COLS)
const lc = new Set(RULE_DEMO_COLS.map((c) => c.toLowerCase()))
t.cols = t.cols.filter((c) => !uc.has(c.NAME))
t.dqdata = t.dqdata.filter((d) => !uc.has(d.BASE_COL))
t.dqrules = t.dqrules.filter((r) => !uc.has(r.BASE_COL))
t.maxvarlengths = t.maxvarlengths.filter((m) => !lc.has((m.NAME || '').toLowerCase()))
RULE_DEMO_COLS.forEach((c) => delete t.$sasdata.vars[c])
t.sasdata = t.sasdata.map((row) => {
const r = { ...row }
RULE_DEMO_COLS.forEach((c) => delete r[c])
return r
})
t.sasparams = t.sasparams.map((p) => {
const headers = p.COLHEADERS.split(',').filter((h) => !uc.has(h))
const coltype = JSON.parse('[' + p.COLTYPE + ']')
.filter((o) => !uc.has(o.data))
.map((o) => JSON.stringify(o))
.join(',')
return { ...p, COLHEADERS: headers.join(','), COLTYPE: coltype }
})
return t
t.cols = t.cols.filter((c) => !uc.has(c.NAME))
t.dqdata = t.dqdata.filter((d) => !uc.has(d.BASE_COL))
t.dqrules = t.dqrules.filter((r) => !uc.has(r.BASE_COL))
t.maxvarlengths = t.maxvarlengths.filter(
(m) => !lc.has((m.NAME || '').toLowerCase())
)
RULE_DEMO_COLS.forEach((c) => delete t.$sasdata.vars[c])
t.sasdata = t.sasdata.map((row) => {
const r = { ...row }
RULE_DEMO_COLS.forEach((c) => delete r[c])
return r
})
t.sasparams = t.sasparams.map((p) => {
const headers = p.COLHEADERS.split(',').filter((h) => !uc.has(h))
const coltype = JSON.parse('[' + p.COLTYPE + ']')
.filter((o) => !uc.has(o.data))
.map((o) => JSON.stringify(o))
.join(',')
return { ...p, COLHEADERS: headers.join(','), COLTYPE: coltype }
})
return t
}
const _reqFile =
typeof _WEBIN_FILEREF1 !== 'undefined' && _WEBIN_FILEREF1 ? _WEBIN_FILEREF1.toString() : ''
typeof _WEBIN_FILEREF1 !== 'undefined' && _WEBIN_FILEREF1
? _WEBIN_FILEREF1.toString()
: ''
let _out
if (_reqFile.includes('MPE_X_NEW')) {
// MPE_X_NEW: full clone of MPE_X_TEST that retains the rule columns.
_out = JSON.parse(JSON.stringify(data))
_out.dsmeta = _out.dsmeta.map((m) =>
m.NAME === 'Data Set Name' ? { ...m, VALUE: m.VALUE.replace('MPE_X_TEST', 'MPE_X_NEW') } : m
)
// MPE_X_NEW: full clone of MPE_X_TEST that retains the rule columns.
_out = JSON.parse(JSON.stringify(data))
_out.dsmeta = _out.dsmeta.map((m) =>
m.NAME === 'Data Set Name'
? { ...m, VALUE: m.VALUE.replace('MPE_X_TEST', 'MPE_X_NEW') }
: m
)
} else {
// MPE_X_TEST: strip the rule columns so it matches the excel upload fixtures.
_out = stripRuleCols(data)
// MPE_X_TEST: strip the rule columns so it matches the excel upload fixtures.
_out = stripRuleCols(data)
}
_webout = JSON.stringify(_out)
webout('OPEN')
webout('OBJ', 'approvers', _out.approvers)
webout('OBJ', 'cols', _out.cols)
webout('OBJ', 'dqdata', _out.dqdata)
webout('OBJ', 'dqrules', _out.dqrules)
webout('OBJ', 'dsmeta', _out.dsmeta)
webout('OBJ', 'maxvarlengths', _out.maxvarlengths)
webout('OBJ', 'query', _out.query)
webout('OBJ', 'sasdata', _out.sasdata, { showmeta: _out.$sasdata })
requireMemberMetadata(weboutPath, 'sasdata')
webout('OBJ', 'sasparams', _out.sasparams)
webout('OBJ', 'xl_rules', _out.xl_rules)
webout('CLOSE')
@@ -1,6 +1,5 @@
// The members this service returns; the envelope comes from the runtime.
const data = {
SYSDATE: '29SEP22',
SYSTIME: '11:51',
dynamic_values: [
{
DISPLAY_INDEX: 1,
@@ -1988,29 +1987,10 @@ const data = {
RAW_VALUE_CHAR: '',
FORCED_VALUE: null
}
],
_DEBUG: '',
_METAUSER: 'sasdemo@SAS',
_METAPERSON: 'sasdemo',
_PROGRAM: '/Projects/app/dc/services/editors/getdynamiccolvals',
AUTOEXEC:
'D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas',
MF_GETUSER: 'sasdemo',
SYSCC: '0',
SYSENCODING: 'wlatin1',
SYSERRORTEXT: '',
SYSHOSTNAME: 'SAS',
SYSPROCESSID: '41DD815F932A6E9840B6ED0000000000',
SYSPROCESSMODE: 'SAS Stored Process Server',
SYSPROCESSNAME: '',
SYSJOBID: '14432',
SYSSCPL: 'X64_DSRV16',
SYSSITE: '123',
SYSUSERID: 'sassrv',
SYSVLONG: '9.04.01M7P080520',
SYSWARNINGTEXT: 'ENCODING option ignored for files opened with RECFM=N.',
END_DTTM: '2022-09-29T11:51:41.486000',
MEMSIZE: '93GB'
]
}
_webout = JSON.stringify(data)
webout('OPEN')
webout('OBJ', 'dynamic_values', data.dynamic_values)
webout('OBJ', 'dynamic_extended_values', data.dynamic_extended_values)
webout('CLOSE')
@@ -1,28 +1,5 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:46"
, "fromsas":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/editors/getsubmits"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80579E87CED940AC8C0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:46:50.549000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [])
webout('CLOSE')
@@ -1,32 +1,10 @@
_webout=`{"SYSDATE" : "29SEP22"
,"SYSTIME" : "11:57"
, "sasparams":
[
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'sasparams', [
{
"STATUS": "SUCCESS",
"DSID": "DC20220929T115713486_609542_1443"
STATUS: 'SUCCESS',
DSID: 'DC20220929T115713486_609542_1443'
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/editors/loadfile"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD815FE643C6A840C0278000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "14432"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-29T11:57:14.118000"
,"MEMSIZE" : "93GB"
}
`
])
webout('CLOSE')
@@ -1,32 +1,11 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:43"
, "sasparams":
[
{
"STATUS": "SUCCESS",
"DSID": "DC20220926T084322234_729360_2744",
"URL": "http://SAS.demo.sas.com:80/SASStoredProcess?_program=/Projects/app/dc/services/editors/getlog&table=DC20220926T084322234_729360_2744"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/editors/stagedata"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80576A63958140A31C0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:43:24.624000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'sasparams', [
{
STATUS: 'SUCCESS',
DSID: 'DC20220926T084322234_729360_2744',
URL: 'http://SAS.demo.sas.com:80/SASStoredProcess?_program=/Projects/app/dc/services/editors/getlog&table=DC20220926T084322234_729360_2744'
}
])
webout('CLOSE')
@@ -1,57 +1,30 @@
_webout=`{"SYSDATE" : "29MAR23"
,"SYSTIME" : "08:33"
, "fromsas":
[
{
"STRING": "digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = \\"t\\";"
},
{
"STRING": "label=<<table><tr> <td align='text' colspan='4' >REVERSE Lineage for <b>COUNTRY_NM</b></td></tr> <tr><td align='right'>Library:<br /></td><td align='left'>Digital</td> <td align='right'>Generated by:</td><td align='left'>sasdemo</td> </tr> <tr><td align='right'>Table:</td><td align='left'>DIGITAL_ACTIVITY_PATH_ANALYSIS</td> <td align='right'>Generated on:</td><td align='left'> 29MAR2023:08:33:42</td></tr> </table>>"
},
{
"STRING": "x [label=\\"No lineage found\\" shape=Mdiamond]}"
}
]
, "clickableids":
[
]
, "info":
[
{
"COLURI": "",
"COLNAME": "COUNTRY_NM",
"TABURI": "OMSOBJ:PhysicalTable\A59LNVZG.BR00001O",
"TABNAME": "DIGITAL_ACTIVITY_PATH_ANALYSIS",
"LIBURI": "OMSOBJ:SASLibrary\A59LNVZG.B500000E",
"LIBREF": "Digital",
"RC": 0
}
]
, "flatdata":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS-AAP"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc2/services/lineage/fetchcollineage"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS-AAP"
,"SYSPROCESSID" : "41DDBCFBD96EE979408F300000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "25672"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "70068130"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M8P011823"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2023-03-29T08:33:42.390000"
,"MEMSIZE" : "44GB"
}
`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [
{
STRING:
'digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = "t";'
},
{
STRING:
"label=<<table><tr> <td align='text' colspan='4' >REVERSE Lineage for <b>COUNTRY_NM</b></td></tr> <tr><td align='right'>Library:<br /></td><td align='left'>Digital</td> <td align='right'>Generated by:</td><td align='left'>sasdemo</td> </tr> <tr><td align='right'>Table:</td><td align='left'>DIGITAL_ACTIVITY_PATH_ANALYSIS</td> <td align='right'>Generated on:</td><td align='left'> 29MAR2023:08:33:42</td></tr> </table>>"
},
{
STRING: 'x [label="No lineage found" shape=Mdiamond]}'
}
])
webout('OBJ', 'clickableids', [])
webout('OBJ', 'info', [
{
COLURI: '',
COLNAME: 'COUNTRY_NM',
TABURI: 'OMSOBJ:PhysicalTable\\A59LNVZG.BR00001O',
TABNAME: 'DIGITAL_ACTIVITY_PATH_ANALYSIS',
LIBURI: 'OMSOBJ:SASLibrary\\A59LNVZG.B500000E',
LIBREF: 'Digital',
RC: 0
}
])
webout('OBJ', 'flatdata', [])
webout('CLOSE')
@@ -1,45 +1,15 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:54"
, "finalfinal":
[
]
, "info":
[
{
"TABLEID": "A59LNVZG.BR00002J",
"TABLENAME": "MPE_DATALOADS",
"LIBURI": "OMSOBJ:SASLibrary\A59LNVZG.B500000K",
"LIBREF": "DC996664"
}
]
, "flatdata":
[
]
, "idlookup":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/lineage/fetchtablelineage"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD805811AA4DD340C4BD8000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:54:31.395000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'finalfinal', [])
webout('OBJ', 'info', [
{
TABLEID: 'A59LNVZG.BR00002J',
TABLENAME: 'MPE_DATALOADS',
LIBURI: 'OMSOBJ:SASLibrary\\A59LNVZG.B500000K',
LIBREF: 'DC996664'
}
])
webout('OBJ', 'flatdata', [])
webout('OBJ', 'idlookup', [])
webout('CLOSE')
@@ -1,57 +1,30 @@
_webout=`{"SYSDATE" : "29MAR23"
,"SYSTIME" : "09:26"
, "fromsas":
[
{
"STRING": "digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = \\"t\\";"
},
{
"STRING": "label=<<table><tr> <td align='text' colspan='4' >REVERSE Lineage for <b>duration</b></td></tr> <tr><td align='right'>Library:<br /></td><td align='left'></td> <td align='right'>Generated by:</td><td align='left'>sasdemo</td> </tr> <tr><td align='right'>Table:</td><td align='left'>WEBTEST4</td> <td align='right'>Generated on:</td><td align='left'> 29MAR2023:09:26:26</td></tr> </table>>"
},
{
"STRING": "x [label=\\"No lineage found\\" shape=Mdiamond]}"
}
]
, "clickableids":
[
]
, "info":
[
{
"COLURI": "",
"COLNAME": "duration",
"TABURI": "OMSOBJ:PhysicalTable\A59LNVZG.BR000024",
"TABNAME": "WEBTEST4",
"LIBURI": "OMSOBJ:DatabaseSchema\A59LNVZG.BJ000001",
"LIBREF": "",
"RC": -2
}
]
, "flatdata":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS-AAP"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc2/services/lineage/fetchcollineage"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS-AAP"
,"SYSPROCESSID" : "41DDBCFEF06F1AA040AA980000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "25672"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "70068130"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M8P011823"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2023-03-29T09:26:26.387000"
,"MEMSIZE" : "44GB"
}
`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [
{
STRING:
'digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = "t";'
},
{
STRING:
"label=<<table><tr> <td align='text' colspan='4' >REVERSE Lineage for <b>duration</b></td></tr> <tr><td align='right'>Library:<br /></td><td align='left'></td> <td align='right'>Generated by:</td><td align='left'>sasdemo</td> </tr> <tr><td align='right'>Table:</td><td align='left'>WEBTEST4</td> <td align='right'>Generated on:</td><td align='left'> 29MAR2023:09:26:26</td></tr> </table>>"
},
{
STRING: 'x [label="No lineage found" shape=Mdiamond]}'
}
])
webout('OBJ', 'clickableids', [])
webout('OBJ', 'info', [
{
COLURI: '',
COLNAME: 'duration',
TABURI: 'OMSOBJ:PhysicalTable\\A59LNVZG.BR000024',
TABNAME: 'WEBTEST4',
LIBURI: 'OMSOBJ:DatabaseSchema\\A59LNVZG.BJ000001',
LIBREF: '',
RC: -2
}
])
webout('OBJ', 'flatdata', [])
webout('CLOSE')
@@ -1,73 +1,30 @@
_webout=`{
"SYSDATE" : "26SEP22"
, "SYSTIME" : "08:54"
, "fromsas":
[
{
"STRING": "digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = \\"t\\";"
},
{
"STRING": "label=<<table>
< tr >
<td align='text' colspan='4'>REVERSE Lineage for <b>changed_records</b></td>
</tr>
<tr>
<td align='right'>Library:<br /></td>
<td align='left'>DC996664</td>
<td align='right'>Generated by:</td>
<td align='left'>sasdemo</td>
</tr>
<tr>
<td align='right'>Table:</td>
<td align='left'>MPE_DATALOADS</td>
<td align='right'>Generated on:</td>
<td align='left'> 26SEP2022:08:54:38</td>
</tr>
</table >> "
},
{
"STRING": "x [label=\\"No lineage found\\" shape=Mdiamond]}"
}
]
, "clickableids":
[
]
, "info":
[
{
"COLURI": "",
"COLNAME": "changed_records",
"TABURI": "OMSOBJ:PhysicalTable\A59LNVZG.BR00002J",
"TABNAME": "MPE_DATALOADS",
"LIBURI": "OMSOBJ:SASLibrary\A59LNVZG.B500000K",
"LIBREF": "DC996664",
"RC": 0
}
]
, "flatdata":
[
]
, "_DEBUG" : ""
, "_METAUSER": "sasdemo@SAS"
, "_METAPERSON": "sasdemo"
, "_PROGRAM" : "/Projects/app/dc/services/lineage/fetchcollineage"
, "AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
, "MF_GETUSER" : "sasdemo"
, "SYSCC" : "0"
, "SYSENCODING" : "wlatin1"
, "SYSERRORTEXT" : ""
, "SYSHOSTNAME" : "SAS"
, "SYSPROCESSID" : "41DD8058137FCED940C5250000000000"
, "SYSPROCESSMODE" : "SAS Stored Process Server"
, "SYSPROCESSNAME" : ""
, "SYSJOBID" : "27448"
, "SYSSCPL" : "X64_DSRV16"
, "SYSSITE" : "123"
, "SYSUSERID" : "sassrv"
, "SYSVLONG" : "9.04.01M7P080520"
, "SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
, "END_DTTM" : "2022-09-26T08:54:39.013000"
, "MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'fromsas', [
{
STRING:
'digraph G { concentrate=true; node [style=filled,shape=plain]; labelloc = "t";'
},
{
STRING:
"label=<<table>\n< tr >\n<td align='text' colspan='4'>REVERSE Lineage for <b>changed_records</b></td>\n</tr>\n<tr>\n<td align='right'>Library:<br /></td>\n<td align='left'>DC996664</td>\n<td align='right'>Generated by:</td>\n<td align='left'>sasdemo</td>\n</tr>\n<tr>\n<td align='right'>Table:</td>\n<td align='left'>MPE_DATALOADS</td>\n<td align='right'>Generated on:</td>\n<td align='left'> 26SEP2022:08:54:38</td>\n</tr>\n</table >> "
},
{
STRING: 'x [label="No lineage found" shape=Mdiamond]}'
}
])
webout('OBJ', 'clickableids', [])
webout('OBJ', 'info', [
{
COLURI: '',
COLNAME: 'changed_records',
TABURI: 'OMSOBJ:PhysicalTable\\A59LNVZG.BR00002J',
TABNAME: 'MPE_DATALOADS',
LIBURI: 'OMSOBJ:SASLibrary\\A59LNVZG.B500000K',
LIBREF: 'DC996664',
RC: 0
}
])
webout('OBJ', 'flatdata', [])
webout('CLOSE')
@@ -1,121 +1,96 @@
_webout=`{"SYSDATE" : "29MAR23"
,"SYSTIME" : "09:26"
, "finalfinal":
[
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'finalfinal', [
{
"LINE": "strict digraph \\"nolib.WEBTEST4\\" {"
LINE: 'strict digraph "nolib.WEBTEST4" {'
},
{
"LINE": "rankdir=LR; nodesep=0.5; node [shape = octagon];"
LINE: 'rankdir=LR; nodesep=0.5; node [shape = octagon];'
},
{
"LINE": "subgraph cluster_libs { label=\\"Libraries\\";"
LINE: 'subgraph cluster_libs { label="Libraries";'
},
{
"LINE": "SANKEY [label=\\"SANKEY\\"; style=\\"filled\\"; color=\\"#e6194b\\", shape = Mrecord, fontcolor=white]"
LINE: 'SANKEY [label="SANKEY"; style="filled"; color="#e6194b", shape = Mrecord, fontcolor=white]'
},
{
"LINE": "nolib [label=\\"nolib\\"; style=\\"filled\\"; color=\\"#3cb44b\\", shape = Mrecord, fontcolor=white]"
LINE: 'nolib [label="nolib"; style="filled"; color="#3cb44b", shape = Mrecord, fontcolor=white]'
},
{
"LINE": "}"
LINE: '}'
},
{
"LINE": "\\"A59LNVZG.BR000023\\" [label=\\"WEBTEST4\\", color=\\"#e6194b\\", shape=cylinder,style=filled,fontcolor=white];"
LINE: '"A59LNVZG.BR000023" [label="WEBTEST4", color="#e6194b", shape=cylinder,style=filled,fontcolor=white];'
},
{
"LINE": "\\"A59LNVZG.BR000024\\" [label=\\"WEBTEST4\\", color=\\"#3cb44b\\", shape=cylinder,style=filled,fontcolor=white];"
LINE: '"A59LNVZG.BR000024" [label="WEBTEST4", color="#3cb44b", shape=cylinder,style=filled,fontcolor=white];'
},
{
"LINE": "\\"A59LNVZG.BX00000E\\" [label=\\"WEBTEST4 - LOAD JOB 0109151127AM\\"];"
LINE: '"A59LNVZG.BX00000E" [label="WEBTEST4 - LOAD JOB 0109151127AM"];'
},
{
"LINE": "\\"A59LNVZG.BR000023\\" -> \\"A59LNVZG.BX00000E\\" [color=\\"#e6194b\\"];"
LINE: '"A59LNVZG.BR000023" -> "A59LNVZG.BX00000E" [color="#e6194b"];'
},
{
"LINE": "\\"A59LNVZG.BR000024\\" -> \\"A59LNVZG.BX00000E\\" [color=\\"#3cb44b\\"];"
LINE: '"A59LNVZG.BR000024" -> "A59LNVZG.BX00000E" [color="#3cb44b"];'
},
{
"LINE": "\\"A59LNVZG.BX00000E\\" -> \\"A59LNVZG.BR000024\\" [color=\\"#3cb44b\\"];"
LINE: '"A59LNVZG.BX00000E" -> "A59LNVZG.BR000024" [color="#3cb44b"];'
},
{
"LINE": "}"
LINE: '}'
}
]
, "info":
[
])
webout('OBJ', 'info', [
{
"TABLEID": "A59LNVZG.BR000024",
"TABLENAME": "WEBTEST4",
"LIBURI": "OMSOBJ:DatabaseSchema\A59LNVZG.BJ000001",
"LIBREF": "nolib"
TABLEID: 'A59LNVZG.BR000024',
TABLENAME: 'WEBTEST4',
LIBURI: 'OMSOBJ:DatabaseSchema\\A59LNVZG.BJ000001',
LIBREF: 'nolib'
}
]
, "flatdata":
[
])
webout('OBJ', 'flatdata', [
{
"JOBID": "A59LNVZG.BX00000E",
"SRCTABLEID": "A59LNVZG.BR000023",
"TGTTABLEID": "A59LNVZG.BR000024",
"JOBNAME": "WEBTEST4 - LOAD JOB 0109151127AM",
"SRCTABLETYPE": "PhysicalTable",
"SRCTABLENAME": "WEBTEST4",
"SRCLIBREF": "SANKEY",
"TGTTABLETYPE": "PhysicalTable",
"TGTTABLENAME": "WEBTEST4",
"TGTLIBREF": "nolib"
JOBID: 'A59LNVZG.BX00000E',
SRCTABLEID: 'A59LNVZG.BR000023',
TGTTABLEID: 'A59LNVZG.BR000024',
JOBNAME: 'WEBTEST4 - LOAD JOB 0109151127AM',
SRCTABLETYPE: 'PhysicalTable',
SRCTABLENAME: 'WEBTEST4',
SRCLIBREF: 'SANKEY',
TGTTABLETYPE: 'PhysicalTable',
TGTTABLENAME: 'WEBTEST4',
TGTLIBREF: 'nolib'
},
{
"JOBID": "A59LNVZG.BX00000E",
"SRCTABLEID": "A59LNVZG.BR000024",
"TGTTABLEID": "A59LNVZG.BR000024",
"JOBNAME": "WEBTEST4 - LOAD JOB 0109151127AM",
"SRCTABLETYPE": "PhysicalTable",
"SRCTABLENAME": "WEBTEST4",
"SRCLIBREF": "nolib",
"TGTTABLETYPE": "PhysicalTable",
"TGTTABLENAME": "WEBTEST4",
"TGTLIBREF": "nolib"
JOBID: 'A59LNVZG.BX00000E',
SRCTABLEID: 'A59LNVZG.BR000024',
TGTTABLEID: 'A59LNVZG.BR000024',
JOBNAME: 'WEBTEST4 - LOAD JOB 0109151127AM',
SRCTABLETYPE: 'PhysicalTable',
SRCTABLENAME: 'WEBTEST4',
SRCLIBREF: 'nolib',
TGTTABLETYPE: 'PhysicalTable',
TGTTABLENAME: 'WEBTEST4',
TGTLIBREF: 'nolib'
}
]
, "idlookup":
[
])
webout('OBJ', 'idlookup', [
{
"METAID": "A59LNVZG.BR000023",
"METATYPE": "TABLE",
"METANAME": "SANKEY.WEBTEST4"
METAID: 'A59LNVZG.BR000023',
METATYPE: 'TABLE',
METANAME: 'SANKEY.WEBTEST4'
},
{
"METAID": "A59LNVZG.BR000024",
"METATYPE": "TABLE",
"METANAME": "nolib.WEBTEST4"
METAID: 'A59LNVZG.BR000024',
METATYPE: 'TABLE',
METANAME: 'nolib.WEBTEST4'
},
{
"METAID": "A59LNVZG.BX00000E",
"METATYPE": "JOB",
"METANAME": "WEBTEST4 - LOAD JOB 0109151127AM"
METAID: 'A59LNVZG.BX00000E',
METATYPE: 'JOB',
METANAME: 'WEBTEST4 - LOAD JOB 0109151127AM'
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS-AAP"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc2/services/lineage/fetchtablelineage"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS-AAP"
,"SYSPROCESSID" : "41DDBCFEEF35C28F40A7840000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "25672"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "70068130"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M8P011823"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2023-03-29T09:26:22.584000"
,"MEMSIZE" : "44GB"
}
`
])
webout('CLOSE')
@@ -1,82 +1,61 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:54"
, "metacols":
[
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L8",
"COLNAME": "changed_records",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001LA",
"COLNAME": "deleted_records",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L5",
"COLNAME": "dsn",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001LB",
"COLNAME": "duration",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L6",
"COLNAME": "etlsource",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L4",
"COLNAME": "libref",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L7",
"COLNAME": "loadtype",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001LE",
"COLNAME": "mac_ver",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001L9",
"COLNAME": "new_records",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001LD",
"COLNAME": "processed_dttm",
"COLDESC": ""
},
{
"COLURI": "OMSOBJ:Column\A59LNVZG.BT0001LC",
"COLNAME": "user_nm",
"COLDESC": ""
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/lineage/getmetacols"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8058115E041940C4910000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:54:29.833000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'metacols', [
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L8',
COLNAME: 'changed_records',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001LA',
COLNAME: 'deleted_records',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L5',
COLNAME: 'dsn',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001LB',
COLNAME: 'duration',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L6',
COLNAME: 'etlsource',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L4',
COLNAME: 'libref',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L7',
COLNAME: 'loadtype',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001LE',
COLNAME: 'mac_ver',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001L9',
COLNAME: 'new_records',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001LD',
COLNAME: 'processed_dttm',
COLDESC: ''
},
{
COLURI: 'OMSOBJ:Column\\A59LNVZG.BT0001LC',
COLNAME: 'user_nm',
COLDESC: ''
}
])
webout('CLOSE')
@@ -1,41 +1,20 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:53"
, "metatables":
[
{
"LIBNAME": "Sankey",
"SERVERCONTEXT": "SASApp",
"AUTHDOMAIN": "",
"PATH_SCHEMA": "D:\MyDemo\Sankey",
"TABLEURI": "OMSOBJ:PhysicalTable\A59LNVZG.BR000023",
"ID": "A59LNVZG.B600000M",
"LIBDESC": "",
"LIBREF": "sankey",
"ENGINE": "BASE",
"ISDBMSLIBNAME": "0",
"ISPREASSIGNED": "0",
"TABLENAME": "WEBTEST4"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/lineage/getmetatables"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8058084D916840C4690000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:53:53.567000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'metatables', [
{
LIBNAME: 'Sankey',
SERVERCONTEXT: 'SASApp',
AUTHDOMAIN: '',
PATH_SCHEMA: 'D:\\MyDemo\\Sankey',
TABLEURI: 'OMSOBJ:PhysicalTable\\A59LNVZG.BR000023',
ID: 'A59LNVZG.B600000M',
LIBDESC: '',
LIBREF: 'sankey',
ENGINE: 'BASE',
ISDBMSLIBNAME: '0',
ISPREASSIGNED: '0',
TABLENAME: 'WEBTEST4'
}
])
webout('CLOSE')
@@ -1,100 +1,78 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:50"
, "attributes":
[
{
"TYPE": "Attr",
"NAME": "ChangeState",
"VALUE": ""
},
{
"TYPE": "Attr",
"NAME": "Desc",
"VALUE": "Input Stream."
},
{
"TYPE": "Attr",
"NAME": "Id",
"VALUE": "A59LNVZG.BW000001"
},
{
"TYPE": "Attr",
"NAME": "IsHidden",
"VALUE": "0"
},
{
"TYPE": "Attr",
"NAME": "LockedBy",
"VALUE": ""
},
{
"TYPE": "Attr",
"NAME": "MetadataCreated",
"VALUE": "19Aug2020:11:12:46"
},
{
"TYPE": "Attr",
"NAME": "MetadataUpdated",
"VALUE": "19Aug2020:11:12:46"
},
{
"TYPE": "Attr",
"NAME": "Name",
"VALUE": "instream"
},
{
"TYPE": "Attr",
"NAME": "Protocol",
"VALUE": ""
},
{
"TYPE": "Attr",
"NAME": "PublicType",
"VALUE": ""
},
{
"TYPE": "Attr",
"NAME": "UsageVersion",
"VALUE": "0"
},
{
"TYPE": "Prop",
"NAME": "MultiPass",
"VALUE": "1"
}
]
, "associations":
[
{
"ASSOC": "Properties",
"ASSOCURI": "OMSOBJ:Property\A59LNVZG.AC0003EG",
"NAME": "MultiPass"
},
{
"ASSOC": "Reports",
"ASSOCURI": "OMSOBJ:Report\A59LNVZG.BV000001",
"NAME": "instream"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/metanav/metadetails"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057D94B645A40C1608000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:50:45.706000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'attributes', [
{
TYPE: 'Attr',
NAME: 'ChangeState',
VALUE: ''
},
{
TYPE: 'Attr',
NAME: 'Desc',
VALUE: 'Input Stream.'
},
{
TYPE: 'Attr',
NAME: 'Id',
VALUE: 'A59LNVZG.BW000001'
},
{
TYPE: 'Attr',
NAME: 'IsHidden',
VALUE: '0'
},
{
TYPE: 'Attr',
NAME: 'LockedBy',
VALUE: ''
},
{
TYPE: 'Attr',
NAME: 'MetadataCreated',
VALUE: '19Aug2020:11:12:46'
},
{
TYPE: 'Attr',
NAME: 'MetadataUpdated',
VALUE: '19Aug2020:11:12:46'
},
{
TYPE: 'Attr',
NAME: 'Name',
VALUE: 'instream'
},
{
TYPE: 'Attr',
NAME: 'Protocol',
VALUE: ''
},
{
TYPE: 'Attr',
NAME: 'PublicType',
VALUE: ''
},
{
TYPE: 'Attr',
NAME: 'UsageVersion',
VALUE: '0'
},
{
TYPE: 'Prop',
NAME: 'MultiPass',
VALUE: '1'
}
])
webout('OBJ', 'associations', [
{
ASSOC: 'Properties',
ASSOCURI: 'OMSOBJ:Property\\A59LNVZG.AC0003EG',
NAME: 'MultiPass'
},
{
ASSOC: 'Reports',
ASSOCURI: 'OMSOBJ:Report\\A59LNVZG.BV000001',
NAME: 'instream'
}
])
webout('CLOSE')
@@ -1,31 +1,10 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:50"
, "objects":
[
{
"ID": "A59LNVZG.BW000001",
"NAME": "instream"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/metanav/metaobjects"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057D89978D540C1368000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:50:42.814000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'objects', [
{
ID: 'A59LNVZG.BW000001',
NAME: 'instream'
}
])
webout('CLOSE')
@@ -1,35 +1,14 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:50"
, "outrepos":
[
{
"ID": "A0000001.A573PBI4",
"NAME": "BILineage"
},
{
"ID": "A0000001.A59LNVZG",
"NAME": "Foundation"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/metanav/metarepos"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "4"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057D3E04189409F380000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "21468"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:50:23.895000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'outrepos', [
{
ID: 'A0000001.A573PBI4',
NAME: 'BILineage'
},
{
ID: 'A0000001.A59LNVZG',
NAME: 'Foundation'
}
])
webout('CLOSE')
+361 -382
View File
@@ -1,382 +1,361 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:50"
, "types":
[
{
"ID": "AccessControlEntry",
"DESC": "Access control entry",
"HASSUBTYPES": "0"
},
{
"ID": "AccessControlTemplate",
"DESC": "Access control template",
"HASSUBTYPES": "0"
},
{
"ID": "Action",
"DESC": "Action",
"HASSUBTYPES": "0"
},
{
"ID": "AnalyticContext",
"DESC": "Analytic context",
"HASSUBTYPES": "0"
},
{
"ID": "ApplicationAction",
"DESC": "Application action",
"HASSUBTYPES": "0"
},
{
"ID": "AssociationProperty",
"DESC": "Association property",
"HASSUBTYPES": "0"
},
{
"ID": "AttributeProperty",
"DESC": "Attribute property",
"HASSUBTYPES": "0"
},
{
"ID": "AuthenticationDomain",
"DESC": "Authentication domain",
"HASSUBTYPES": "0"
},
{
"ID": "ClassifierMap",
"DESC": "Classifier map",
"HASSUBTYPES": "1"
},
{
"ID": "Column",
"DESC": "Column",
"HASSUBTYPES": "1"
},
{
"ID": "Condition",
"DESC": "Condition",
"HASSUBTYPES": "0"
},
{
"ID": "ConditionActionSet",
"DESC": "Condition action set",
"HASSUBTYPES": "0"
},
{
"ID": "ConfiguredComponent",
"DESC": "Configured component",
"HASSUBTYPES": "1"
},
{
"ID": "CustomAssociation",
"DESC": "Custom association",
"HASSUBTYPES": "0"
},
{
"ID": "DatabaseCatalog",
"DESC": "Database catalog",
"HASSUBTYPES": "0"
},
{
"ID": "DatabaseSchema",
"DESC": "Database schema",
"HASSUBTYPES": "0"
},
{
"ID": "DeployedComponent",
"DESC": "Deployed component",
"HASSUBTYPES": "1"
},
{
"ID": "Directory",
"DESC": "Directory",
"HASSUBTYPES": "1"
},
{
"ID": "Document",
"DESC": "Document",
"HASSUBTYPES": "0"
},
{
"ID": "Extension",
"DESC": "Extension",
"HASSUBTYPES": "0"
},
{
"ID": "ExternalIdentity",
"DESC": "External identity",
"HASSUBTYPES": "0"
},
{
"ID": "FavoritesContainer",
"DESC": "Favorites container",
"HASSUBTYPES": "0"
},
{
"ID": "File",
"DESC": "File",
"HASSUBTYPES": "1"
},
{
"ID": "Group",
"DESC": "Group",
"HASSUBTYPES": "1"
},
{
"ID": "ITChannel",
"DESC": "IT channel",
"HASSUBTYPES": "0"
},
{
"ID": "IdentityGroup",
"DESC": "Identity group",
"HASSUBTYPES": "0"
},
{
"ID": "Index",
"DESC": "Index",
"HASSUBTYPES": "0"
},
{
"ID": "InternalLogin",
"DESC": "Internal login",
"HASSUBTYPES": "0"
},
{
"ID": "Job",
"DESC": "Job",
"HASSUBTYPES": "0"
},
{
"ID": "Keyword",
"DESC": "Keyword",
"HASSUBTYPES": "0"
},
{
"ID": "LogicalServer",
"DESC": "Logical server",
"HASSUBTYPES": "0"
},
{
"ID": "Login",
"DESC": "Login",
"HASSUBTYPES": "0"
},
{
"ID": "Machine",
"DESC": "Machine",
"HASSUBTYPES": "0"
},
{
"ID": "NamedService",
"DESC": "Named service",
"HASSUBTYPES": "0"
},
{
"ID": "OLAPSchema",
"DESC": "OLAP schema",
"HASSUBTYPES": "0"
},
{
"ID": "PSColumnLayoutComponent",
"DESC": "PS column layout component",
"HASSUBTYPES": "0"
},
{
"ID": "PSPortalPage",
"DESC": "PS portal page",
"HASSUBTYPES": "0"
},
{
"ID": "PSPortlet",
"DESC": "PS portlet",
"HASSUBTYPES": "0"
},
{
"ID": "Permission",
"DESC": "Permission",
"HASSUBTYPES": "0"
},
{
"ID": "Person",
"DESC": "People",
"HASSUBTYPES": "0"
},
{
"ID": "PhysicalTable",
"DESC": "Physical table",
"HASSUBTYPES": "1"
},
{
"ID": "Prompt",
"DESC": "Prompt",
"HASSUBTYPES": "0"
},
{
"ID": "PromptGroup",
"DESC": "Prompt group",
"HASSUBTYPES": "0"
},
{
"ID": "Property",
"DESC": "Property",
"HASSUBTYPES": "0"
},
{
"ID": "PropertyGroup",
"DESC": "Property group",
"HASSUBTYPES": "0"
},
{
"ID": "PropertySet",
"DESC": "Property set",
"HASSUBTYPES": "0"
},
{
"ID": "PropertyType",
"DESC": "Property type",
"HASSUBTYPES": "0"
},
{
"ID": "Prototype",
"DESC": "Prototype",
"HASSUBTYPES": "0"
},
{
"ID": "Report",
"DESC": "Report",
"HASSUBTYPES": "0"
},
{
"ID": "ResponsibleParty",
"DESC": "Responsible party",
"HASSUBTYPES": "0"
},
{
"ID": "SASClientConnection",
"DESC": "SAS client connection",
"HASSUBTYPES": "0"
},
{
"ID": "SASLibrary",
"DESC": "SAS library",
"HASSUBTYPES": "1"
},
{
"ID": "SASPassword",
"DESC": "SAS password",
"HASSUBTYPES": "0"
},
{
"ID": "Search",
"DESC": "Search",
"HASSUBTYPES": "0"
},
{
"ID": "SecurityRuleScheme",
"DESC": "Security rule scheme",
"HASSUBTYPES": "0"
},
{
"ID": "SecurityTypeContainmentRule",
"DESC": "Security type containment rule",
"HASSUBTYPES": "0"
},
{
"ID": "ServerComponent",
"DESC": "Server component",
"HASSUBTYPES": "1"
},
{
"ID": "ServerContext",
"DESC": "Server context",
"HASSUBTYPES": "0"
},
{
"ID": "ServiceComponent",
"DESC": "Service component",
"HASSUBTYPES": "0"
},
{
"ID": "ServiceType",
"DESC": "Service type",
"HASSUBTYPES": "0"
},
{
"ID": "SoftwareComponent",
"DESC": "Software component",
"HASSUBTYPES": "1"
},
{
"ID": "Stream",
"DESC": "Stream",
"HASSUBTYPES": "0"
},
{
"ID": "TCPIPConnection",
"DESC": "TCPIP connection",
"HASSUBTYPES": "0"
},
{
"ID": "TextStore",
"DESC": "Text store",
"HASSUBTYPES": "0"
},
{
"ID": "Timestamp",
"DESC": "Timestamp",
"HASSUBTYPES": "0"
},
{
"ID": "Transformation",
"DESC": "Transformation",
"HASSUBTYPES": "1"
},
{
"ID": "TransformationActivity",
"DESC": "Transformation activity",
"HASSUBTYPES": "0"
},
{
"ID": "TransformationStep",
"DESC": "Transformation step",
"HASSUBTYPES": "1"
},
{
"ID": "Tree",
"DESC": "Metadata Trees",
"HASSUBTYPES": "0"
},
{
"ID": "TypeDefinition",
"DESC": "Type definition",
"HASSUBTYPES": "0"
},
{
"ID": "UniqueKey",
"DESC": "Unique key",
"HASSUBTYPES": "0"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/metanav/metatypes"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057D3E020C540C10F8000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:50:23.928000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'types', [
{
ID: 'AccessControlEntry',
DESC: 'Access control entry',
HASSUBTYPES: '0'
},
{
ID: 'AccessControlTemplate',
DESC: 'Access control template',
HASSUBTYPES: '0'
},
{
ID: 'Action',
DESC: 'Action',
HASSUBTYPES: '0'
},
{
ID: 'AnalyticContext',
DESC: 'Analytic context',
HASSUBTYPES: '0'
},
{
ID: 'ApplicationAction',
DESC: 'Application action',
HASSUBTYPES: '0'
},
{
ID: 'AssociationProperty',
DESC: 'Association property',
HASSUBTYPES: '0'
},
{
ID: 'AttributeProperty',
DESC: 'Attribute property',
HASSUBTYPES: '0'
},
{
ID: 'AuthenticationDomain',
DESC: 'Authentication domain',
HASSUBTYPES: '0'
},
{
ID: 'ClassifierMap',
DESC: 'Classifier map',
HASSUBTYPES: '1'
},
{
ID: 'Column',
DESC: 'Column',
HASSUBTYPES: '1'
},
{
ID: 'Condition',
DESC: 'Condition',
HASSUBTYPES: '0'
},
{
ID: 'ConditionActionSet',
DESC: 'Condition action set',
HASSUBTYPES: '0'
},
{
ID: 'ConfiguredComponent',
DESC: 'Configured component',
HASSUBTYPES: '1'
},
{
ID: 'CustomAssociation',
DESC: 'Custom association',
HASSUBTYPES: '0'
},
{
ID: 'DatabaseCatalog',
DESC: 'Database catalog',
HASSUBTYPES: '0'
},
{
ID: 'DatabaseSchema',
DESC: 'Database schema',
HASSUBTYPES: '0'
},
{
ID: 'DeployedComponent',
DESC: 'Deployed component',
HASSUBTYPES: '1'
},
{
ID: 'Directory',
DESC: 'Directory',
HASSUBTYPES: '1'
},
{
ID: 'Document',
DESC: 'Document',
HASSUBTYPES: '0'
},
{
ID: 'Extension',
DESC: 'Extension',
HASSUBTYPES: '0'
},
{
ID: 'ExternalIdentity',
DESC: 'External identity',
HASSUBTYPES: '0'
},
{
ID: 'FavoritesContainer',
DESC: 'Favorites container',
HASSUBTYPES: '0'
},
{
ID: 'File',
DESC: 'File',
HASSUBTYPES: '1'
},
{
ID: 'Group',
DESC: 'Group',
HASSUBTYPES: '1'
},
{
ID: 'ITChannel',
DESC: 'IT channel',
HASSUBTYPES: '0'
},
{
ID: 'IdentityGroup',
DESC: 'Identity group',
HASSUBTYPES: '0'
},
{
ID: 'Index',
DESC: 'Index',
HASSUBTYPES: '0'
},
{
ID: 'InternalLogin',
DESC: 'Internal login',
HASSUBTYPES: '0'
},
{
ID: 'Job',
DESC: 'Job',
HASSUBTYPES: '0'
},
{
ID: 'Keyword',
DESC: 'Keyword',
HASSUBTYPES: '0'
},
{
ID: 'LogicalServer',
DESC: 'Logical server',
HASSUBTYPES: '0'
},
{
ID: 'Login',
DESC: 'Login',
HASSUBTYPES: '0'
},
{
ID: 'Machine',
DESC: 'Machine',
HASSUBTYPES: '0'
},
{
ID: 'NamedService',
DESC: 'Named service',
HASSUBTYPES: '0'
},
{
ID: 'OLAPSchema',
DESC: 'OLAP schema',
HASSUBTYPES: '0'
},
{
ID: 'PSColumnLayoutComponent',
DESC: 'PS column layout component',
HASSUBTYPES: '0'
},
{
ID: 'PSPortalPage',
DESC: 'PS portal page',
HASSUBTYPES: '0'
},
{
ID: 'PSPortlet',
DESC: 'PS portlet',
HASSUBTYPES: '0'
},
{
ID: 'Permission',
DESC: 'Permission',
HASSUBTYPES: '0'
},
{
ID: 'Person',
DESC: 'People',
HASSUBTYPES: '0'
},
{
ID: 'PhysicalTable',
DESC: 'Physical table',
HASSUBTYPES: '1'
},
{
ID: 'Prompt',
DESC: 'Prompt',
HASSUBTYPES: '0'
},
{
ID: 'PromptGroup',
DESC: 'Prompt group',
HASSUBTYPES: '0'
},
{
ID: 'Property',
DESC: 'Property',
HASSUBTYPES: '0'
},
{
ID: 'PropertyGroup',
DESC: 'Property group',
HASSUBTYPES: '0'
},
{
ID: 'PropertySet',
DESC: 'Property set',
HASSUBTYPES: '0'
},
{
ID: 'PropertyType',
DESC: 'Property type',
HASSUBTYPES: '0'
},
{
ID: 'Prototype',
DESC: 'Prototype',
HASSUBTYPES: '0'
},
{
ID: 'Report',
DESC: 'Report',
HASSUBTYPES: '0'
},
{
ID: 'ResponsibleParty',
DESC: 'Responsible party',
HASSUBTYPES: '0'
},
{
ID: 'SASClientConnection',
DESC: 'SAS client connection',
HASSUBTYPES: '0'
},
{
ID: 'SASLibrary',
DESC: 'SAS library',
HASSUBTYPES: '1'
},
{
ID: 'SASPassword',
DESC: 'SAS password',
HASSUBTYPES: '0'
},
{
ID: 'Search',
DESC: 'Search',
HASSUBTYPES: '0'
},
{
ID: 'SecurityRuleScheme',
DESC: 'Security rule scheme',
HASSUBTYPES: '0'
},
{
ID: 'SecurityTypeContainmentRule',
DESC: 'Security type containment rule',
HASSUBTYPES: '0'
},
{
ID: 'ServerComponent',
DESC: 'Server component',
HASSUBTYPES: '1'
},
{
ID: 'ServerContext',
DESC: 'Server context',
HASSUBTYPES: '0'
},
{
ID: 'ServiceComponent',
DESC: 'Service component',
HASSUBTYPES: '0'
},
{
ID: 'ServiceType',
DESC: 'Service type',
HASSUBTYPES: '0'
},
{
ID: 'SoftwareComponent',
DESC: 'Software component',
HASSUBTYPES: '1'
},
{
ID: 'Stream',
DESC: 'Stream',
HASSUBTYPES: '0'
},
{
ID: 'TCPIPConnection',
DESC: 'TCPIP connection',
HASSUBTYPES: '0'
},
{
ID: 'TextStore',
DESC: 'Text store',
HASSUBTYPES: '0'
},
{
ID: 'Timestamp',
DESC: 'Timestamp',
HASSUBTYPES: '0'
},
{
ID: 'Transformation',
DESC: 'Transformation',
HASSUBTYPES: '1'
},
{
ID: 'TransformationActivity',
DESC: 'Transformation activity',
HASSUBTYPES: '0'
},
{
ID: 'TransformationStep',
DESC: 'Transformation step',
HASSUBTYPES: '1'
},
{
ID: 'Tree',
DESC: 'Metadata Trees',
HASSUBTYPES: '0'
},
{
ID: 'TypeDefinition',
DESC: 'Type definition',
HASSUBTYPES: '0'
},
{
ID: 'UniqueKey',
DESC: 'Unique key',
HASSUBTYPES: '0'
}
])
webout('CLOSE')
@@ -1,47 +1,26 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:43"
, "jsparams":
[
{
"TABLE_ID": "DC20220926T084322234_729360_2744",
"SUBMIT_STATUS_CD": "SUBMITTED",
"BASE_LIB": "DC996664",
"BASE_DS": "MPE_X_TEST",
"SUBMITTED_BY_NM": "sasdemo",
"SUBMITTED_ON": "26SEP22:08:43:22.38",
"SUBMITTED_REASON_TXT": "",
"INPUT_OBS": 1,
"INPUT_VARS": 10,
"NUM_OF_APPROVALS_REQUIRED": 1,
"NUM_OF_APPROVALS_REMAINING": 1,
"REVIEWED_BY_NM": "",
"REVIEWED_ON": null,
"TABLE_NM": "DC996664.MPE_X_TEST",
"BASE_TABLE": "DC996664.MPE_X_TEST",
"REVIEWED_ON_DTTM": " .",
"SUBMITTED_ON_DTTM": " 26SEP2022:08:43:22",
"LIB_ENGINE": "V9"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/getchangeinfo"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD80576B36041940A5600000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:43:25.235000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'jsparams', [
{
TABLE_ID: 'DC20220926T084322234_729360_2744',
SUBMIT_STATUS_CD: 'SUBMITTED',
BASE_LIB: 'DC996664',
BASE_DS: 'MPE_X_TEST',
SUBMITTED_BY_NM: 'sasdemo',
SUBMITTED_ON: '26SEP22:08:43:22.38',
SUBMITTED_REASON_TXT: '',
INPUT_OBS: 1,
INPUT_VARS: 10,
NUM_OF_APPROVALS_REQUIRED: 1,
NUM_OF_APPROVALS_REMAINING: 1,
REVIEWED_BY_NM: '',
REVIEWED_ON: null,
TABLE_NM: 'DC996664.MPE_X_TEST',
BASE_TABLE: 'DC996664.MPE_X_TEST',
REVIEWED_ON_DTTM: ' .',
SUBMITTED_ON_DTTM: ' 26SEP2022:08:43:22',
LIB_ENGINE: 'V9'
}
])
webout('CLOSE')
+454 -138
View File
@@ -1,138 +1,454 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:49"
, "vals":
[
{"FORMATTED":"0" ,"UNFORMATTED":0 }
,{"FORMATTED":"1" ,"UNFORMATTED":1 }
,{"FORMATTED":"3" ,"UNFORMATTED":3 }
,{"FORMATTED":"4" ,"UNFORMATTED":4 }
,{"FORMATTED":"5" ,"UNFORMATTED":5 }
,{"FORMATTED":"6" ,"UNFORMATTED":6 }
,{"FORMATTED":"7" ,"UNFORMATTED":7 }
,{"FORMATTED":"8" ,"UNFORMATTED":8 }
,{"FORMATTED":"9" ,"UNFORMATTED":9 }
,{"FORMATTED":"10" ,"UNFORMATTED":10 }
,{"FORMATTED":"11" ,"UNFORMATTED":11 }
,{"FORMATTED":"12" ,"UNFORMATTED":12 }
,{"FORMATTED":"13" ,"UNFORMATTED":13 }
,{"FORMATTED":"14" ,"UNFORMATTED":14 }
,{"FORMATTED":"15" ,"UNFORMATTED":15 }
,{"FORMATTED":"16" ,"UNFORMATTED":16 }
,{"FORMATTED":"17" ,"UNFORMATTED":17 }
,{"FORMATTED":"18" ,"UNFORMATTED":18 }
,{"FORMATTED":"19" ,"UNFORMATTED":19 }
,{"FORMATTED":"20" ,"UNFORMATTED":20 }
,{"FORMATTED":"21" ,"UNFORMATTED":21 }
,{"FORMATTED":"22" ,"UNFORMATTED":22 }
,{"FORMATTED":"23" ,"UNFORMATTED":23 }
,{"FORMATTED":"24" ,"UNFORMATTED":24 }
,{"FORMATTED":"25" ,"UNFORMATTED":25 }
,{"FORMATTED":"26" ,"UNFORMATTED":26 }
,{"FORMATTED":"27" ,"UNFORMATTED":27 }
,{"FORMATTED":"28" ,"UNFORMATTED":28 }
,{"FORMATTED":"29" ,"UNFORMATTED":29 }
,{"FORMATTED":"30" ,"UNFORMATTED":30 }
,{"FORMATTED":"31" ,"UNFORMATTED":31 }
,{"FORMATTED":"32" ,"UNFORMATTED":32 }
,{"FORMATTED":"33" ,"UNFORMATTED":33 }
,{"FORMATTED":"34" ,"UNFORMATTED":34 }
,{"FORMATTED":"35" ,"UNFORMATTED":35 }
,{"FORMATTED":"36" ,"UNFORMATTED":36 }
,{"FORMATTED":"37" ,"UNFORMATTED":37 }
,{"FORMATTED":"38" ,"UNFORMATTED":38 }
,{"FORMATTED":"39" ,"UNFORMATTED":39 }
,{"FORMATTED":"40" ,"UNFORMATTED":40 }
,{"FORMATTED":"41" ,"UNFORMATTED":41 }
,{"FORMATTED":"42" ,"UNFORMATTED":42 }
,{"FORMATTED":"43" ,"UNFORMATTED":43 }
,{"FORMATTED":"44" ,"UNFORMATTED":44 }
,{"FORMATTED":"45" ,"UNFORMATTED":45 }
,{"FORMATTED":"46" ,"UNFORMATTED":46 }
,{"FORMATTED":"47" ,"UNFORMATTED":47 }
,{"FORMATTED":"48" ,"UNFORMATTED":48 }
,{"FORMATTED":"49" ,"UNFORMATTED":49 }
,{"FORMATTED":"50" ,"UNFORMATTED":50 }
,{"FORMATTED":"51" ,"UNFORMATTED":51 }
,{"FORMATTED":"52" ,"UNFORMATTED":52 }
,{"FORMATTED":"53" ,"UNFORMATTED":53 }
,{"FORMATTED":"54" ,"UNFORMATTED":54 }
,{"FORMATTED":"55" ,"UNFORMATTED":55 }
,{"FORMATTED":"56" ,"UNFORMATTED":56 }
,{"FORMATTED":"57" ,"UNFORMATTED":57 }
,{"FORMATTED":"58" ,"UNFORMATTED":58 }
,{"FORMATTED":"59" ,"UNFORMATTED":59 }
,{"FORMATTED":"60" ,"UNFORMATTED":60 }
,{"FORMATTED":"61" ,"UNFORMATTED":61 }
,{"FORMATTED":"62" ,"UNFORMATTED":62 }
,{"FORMATTED":"63" ,"UNFORMATTED":63 }
,{"FORMATTED":"64" ,"UNFORMATTED":64 }
,{"FORMATTED":"65" ,"UNFORMATTED":65 }
,{"FORMATTED":"66" ,"UNFORMATTED":66 }
,{"FORMATTED":"67" ,"UNFORMATTED":67 }
,{"FORMATTED":"68" ,"UNFORMATTED":68 }
,{"FORMATTED":"69" ,"UNFORMATTED":69 }
,{"FORMATTED":"70" ,"UNFORMATTED":70 }
,{"FORMATTED":"71" ,"UNFORMATTED":71 }
,{"FORMATTED":"72" ,"UNFORMATTED":72 }
,{"FORMATTED":"73" ,"UNFORMATTED":73 }
,{"FORMATTED":"74" ,"UNFORMATTED":74 }
,{"FORMATTED":"75" ,"UNFORMATTED":75 }
,{"FORMATTED":"76" ,"UNFORMATTED":76 }
,{"FORMATTED":"77" ,"UNFORMATTED":77 }
,{"FORMATTED":"78" ,"UNFORMATTED":78 }
,{"FORMATTED":"79" ,"UNFORMATTED":79 }
,{"FORMATTED":"80" ,"UNFORMATTED":80 }
,{"FORMATTED":"81" ,"UNFORMATTED":81 }
,{"FORMATTED":"82" ,"UNFORMATTED":82 }
,{"FORMATTED":"83" ,"UNFORMATTED":83 }
,{"FORMATTED":"84" ,"UNFORMATTED":84 }
,{"FORMATTED":"85" ,"UNFORMATTED":85 }
,{"FORMATTED":"86" ,"UNFORMATTED":86 }
,{"FORMATTED":"87" ,"UNFORMATTED":87 }
,{"FORMATTED":"88" ,"UNFORMATTED":88 }
,{"FORMATTED":"89" ,"UNFORMATTED":89 }
,{"FORMATTED":"90" ,"UNFORMATTED":90 }
,{"FORMATTED":"91" ,"UNFORMATTED":91 }
,{"FORMATTED":"92" ,"UNFORMATTED":92 }
,{"FORMATTED":"93" ,"UNFORMATTED":93 }
,{"FORMATTED":"94" ,"UNFORMATTED":94 }
,{"FORMATTED":"95" ,"UNFORMATTED":95 }
,{"FORMATTED":"96" ,"UNFORMATTED":96 }
,{"FORMATTED":"97" ,"UNFORMATTED":97 }
,{"FORMATTED":"98" ,"UNFORMATTED":98 }
,{"FORMATTED":"99" ,"UNFORMATTED":99 }
,{"FORMATTED":"100" ,"UNFORMATTED":100 }
]
, "$vals":{"vars":{
"FORMATTED" :{"format":"$12." ,"label":"FORMATTED" ,"length":"12" ,"type":"char" }
,"UNFORMATTED" :{"format":"best." ,"label":"UNFORMATTED" ,"length":"8" ,"type":"num" }
}}
, "meta":
[
{
"COLUMN": "SOME_BESTNUM",
"SASFORMAT": "BEST."
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/getcolvals"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057C8923D7140BEF70000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:49:39.137000"
,"MEMSIZE" : "46GB"
}`
const nodePath = require('path')
const appLoc = nodePath.join(..._program.split('services')[0].split('/'))
const sasjsRoot = nodePath.resolve(weboutPath, '..', '..', '..')
eval(
fs.readFileSync(
nodePath.resolve(
sasjsRoot,
'drive',
'files',
appLoc,
'services',
'weboutGuard.js'
),
'utf8'
)
)
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout(
'OBJ',
'vals',
[
{
FORMATTED: '0',
UNFORMATTED: 0
},
{
FORMATTED: '1',
UNFORMATTED: 1
},
{
FORMATTED: '3',
UNFORMATTED: 3
},
{
FORMATTED: '4',
UNFORMATTED: 4
},
{
FORMATTED: '5',
UNFORMATTED: 5
},
{
FORMATTED: '6',
UNFORMATTED: 6
},
{
FORMATTED: '7',
UNFORMATTED: 7
},
{
FORMATTED: '8',
UNFORMATTED: 8
},
{
FORMATTED: '9',
UNFORMATTED: 9
},
{
FORMATTED: '10',
UNFORMATTED: 10
},
{
FORMATTED: '11',
UNFORMATTED: 11
},
{
FORMATTED: '12',
UNFORMATTED: 12
},
{
FORMATTED: '13',
UNFORMATTED: 13
},
{
FORMATTED: '14',
UNFORMATTED: 14
},
{
FORMATTED: '15',
UNFORMATTED: 15
},
{
FORMATTED: '16',
UNFORMATTED: 16
},
{
FORMATTED: '17',
UNFORMATTED: 17
},
{
FORMATTED: '18',
UNFORMATTED: 18
},
{
FORMATTED: '19',
UNFORMATTED: 19
},
{
FORMATTED: '20',
UNFORMATTED: 20
},
{
FORMATTED: '21',
UNFORMATTED: 21
},
{
FORMATTED: '22',
UNFORMATTED: 22
},
{
FORMATTED: '23',
UNFORMATTED: 23
},
{
FORMATTED: '24',
UNFORMATTED: 24
},
{
FORMATTED: '25',
UNFORMATTED: 25
},
{
FORMATTED: '26',
UNFORMATTED: 26
},
{
FORMATTED: '27',
UNFORMATTED: 27
},
{
FORMATTED: '28',
UNFORMATTED: 28
},
{
FORMATTED: '29',
UNFORMATTED: 29
},
{
FORMATTED: '30',
UNFORMATTED: 30
},
{
FORMATTED: '31',
UNFORMATTED: 31
},
{
FORMATTED: '32',
UNFORMATTED: 32
},
{
FORMATTED: '33',
UNFORMATTED: 33
},
{
FORMATTED: '34',
UNFORMATTED: 34
},
{
FORMATTED: '35',
UNFORMATTED: 35
},
{
FORMATTED: '36',
UNFORMATTED: 36
},
{
FORMATTED: '37',
UNFORMATTED: 37
},
{
FORMATTED: '38',
UNFORMATTED: 38
},
{
FORMATTED: '39',
UNFORMATTED: 39
},
{
FORMATTED: '40',
UNFORMATTED: 40
},
{
FORMATTED: '41',
UNFORMATTED: 41
},
{
FORMATTED: '42',
UNFORMATTED: 42
},
{
FORMATTED: '43',
UNFORMATTED: 43
},
{
FORMATTED: '44',
UNFORMATTED: 44
},
{
FORMATTED: '45',
UNFORMATTED: 45
},
{
FORMATTED: '46',
UNFORMATTED: 46
},
{
FORMATTED: '47',
UNFORMATTED: 47
},
{
FORMATTED: '48',
UNFORMATTED: 48
},
{
FORMATTED: '49',
UNFORMATTED: 49
},
{
FORMATTED: '50',
UNFORMATTED: 50
},
{
FORMATTED: '51',
UNFORMATTED: 51
},
{
FORMATTED: '52',
UNFORMATTED: 52
},
{
FORMATTED: '53',
UNFORMATTED: 53
},
{
FORMATTED: '54',
UNFORMATTED: 54
},
{
FORMATTED: '55',
UNFORMATTED: 55
},
{
FORMATTED: '56',
UNFORMATTED: 56
},
{
FORMATTED: '57',
UNFORMATTED: 57
},
{
FORMATTED: '58',
UNFORMATTED: 58
},
{
FORMATTED: '59',
UNFORMATTED: 59
},
{
FORMATTED: '60',
UNFORMATTED: 60
},
{
FORMATTED: '61',
UNFORMATTED: 61
},
{
FORMATTED: '62',
UNFORMATTED: 62
},
{
FORMATTED: '63',
UNFORMATTED: 63
},
{
FORMATTED: '64',
UNFORMATTED: 64
},
{
FORMATTED: '65',
UNFORMATTED: 65
},
{
FORMATTED: '66',
UNFORMATTED: 66
},
{
FORMATTED: '67',
UNFORMATTED: 67
},
{
FORMATTED: '68',
UNFORMATTED: 68
},
{
FORMATTED: '69',
UNFORMATTED: 69
},
{
FORMATTED: '70',
UNFORMATTED: 70
},
{
FORMATTED: '71',
UNFORMATTED: 71
},
{
FORMATTED: '72',
UNFORMATTED: 72
},
{
FORMATTED: '73',
UNFORMATTED: 73
},
{
FORMATTED: '74',
UNFORMATTED: 74
},
{
FORMATTED: '75',
UNFORMATTED: 75
},
{
FORMATTED: '76',
UNFORMATTED: 76
},
{
FORMATTED: '77',
UNFORMATTED: 77
},
{
FORMATTED: '78',
UNFORMATTED: 78
},
{
FORMATTED: '79',
UNFORMATTED: 79
},
{
FORMATTED: '80',
UNFORMATTED: 80
},
{
FORMATTED: '81',
UNFORMATTED: 81
},
{
FORMATTED: '82',
UNFORMATTED: 82
},
{
FORMATTED: '83',
UNFORMATTED: 83
},
{
FORMATTED: '84',
UNFORMATTED: 84
},
{
FORMATTED: '85',
UNFORMATTED: 85
},
{
FORMATTED: '86',
UNFORMATTED: 86
},
{
FORMATTED: '87',
UNFORMATTED: 87
},
{
FORMATTED: '88',
UNFORMATTED: 88
},
{
FORMATTED: '89',
UNFORMATTED: 89
},
{
FORMATTED: '90',
UNFORMATTED: 90
},
{
FORMATTED: '91',
UNFORMATTED: 91
},
{
FORMATTED: '92',
UNFORMATTED: 92
},
{
FORMATTED: '93',
UNFORMATTED: 93
},
{
FORMATTED: '94',
UNFORMATTED: 94
},
{
FORMATTED: '95',
UNFORMATTED: 95
},
{
FORMATTED: '96',
UNFORMATTED: 96
},
{
FORMATTED: '97',
UNFORMATTED: 97
},
{
FORMATTED: '98',
UNFORMATTED: 98
},
{
FORMATTED: '99',
UNFORMATTED: 99
},
{
FORMATTED: '100',
UNFORMATTED: 100
}
],
{
showmeta: {
vars: {
FORMATTED: {
format: '$12.',
label: 'FORMATTED',
length: '12',
type: 'char'
},
UNFORMATTED: {
format: 'best.',
label: 'UNFORMATTED',
length: '8',
type: 'num'
}
}
}
}
)
requireMemberMetadata(weboutPath, 'vals')
webout('OBJ', 'meta', [
{
COLUMN: 'SOME_BESTNUM',
SASFORMAT: 'BEST.'
}
])
webout('CLOSE')
+146 -162
View File
@@ -1,162 +1,146 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "groups":
[
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001C",
"GROUPNAME": "BI Dashboard Administrators",
"GROUPDESC": "The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001D",
"GROUPNAME": "BI Dashboard Users",
"GROUPDESC": "The members of this group are allowed general viewing access of content for the SAS BI Dashboard product."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000P",
"GROUPNAME": "BI Web Services Users",
"GROUPDESC": "Allows members to create and delete SAS BI Web Services."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000T",
"GROUPNAME": "Data Management Administrators",
"GROUPDESC": "Administrative users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000W",
"GROUPNAME": "Data Management Business Approvers",
"GROUPDESC": "Business approvers of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000V",
"GROUPNAME": "Data Management Business Users",
"GROUPDESC": "Business users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000Y",
"GROUPNAME": "Data Management Executives",
"GROUPDESC": "Executive users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000X",
"GROUPNAME": "Data Management Power Users",
"GROUPDESC": "Power users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000U",
"GROUPNAME": "Data Management Stewards",
"GROUPDESC": "Steward users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001F",
"GROUPNAME": "Decision Manager Common Administrators",
"GROUPDESC": "Decision Manager Administrative Group"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001G",
"GROUPNAME": "Decision Manager Users",
"GROUPDESC": "Decision Manager Users Group"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000021",
"GROUPNAME": "Factory Miner Database Users",
"GROUPDESC": ""
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000002",
"GROUPNAME": "PUBLIC",
"GROUPDESC": "Everyone who can access the metadata server."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000008",
"GROUPNAME": "SAS General Servers",
"GROUPDESC": "Allows members to be used for launching stored process servers and pooled workspace servers."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000007",
"GROUPNAME": "SAS System Services",
"GROUPDESC": "Service identities that need access to server definitions or other system resources."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000003",
"GROUPNAME": "SASAdministrators",
"GROUPDESC": "Users who perform metadata administrative tasks."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000001",
"GROUPNAME": "SASUSERS",
"GROUPDESC": "Everyone who has a metadata identity. SASUSERS is a subset of PUBLIC."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001W",
"GROUPNAME": "SAS_EV_AppServer_Tier",
"GROUPDESC": "SAS Environment Manager App Server Tier Users"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001V",
"GROUPNAME": "SAS_EV_Guest",
"GROUPDESC": "SAS Environment Manager Guests"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001U",
"GROUPNAME": "SAS_EV_Super_User",
"GROUPDESC": "SAS Environment Manager Super Users"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000Q",
"GROUPNAME": "ThemeDesigner Administrators",
"GROUPDESC": ""
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000I",
"GROUPNAME": "Visual Analytics Data Administrators",
"GROUPDESC": "Visual Analytics Data Administrators"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000013",
"GROUPNAME": "Visual Analytics Users",
"GROUPDESC": "Registered users of SAS Visual Analytics."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000J",
"GROUPNAME": "Visual Data Builder Administrators",
"GROUPDESC": "Visual Data Builder Administrators"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001O",
"GROUPNAME": "mdlmgradminusers",
"GROUPDESC": "Administrative Users for Model Manager"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001P",
"GROUPNAME": "mdlmgradvusers",
"GROUPDESC": "Advanced Users for Model Manager"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001Q",
"GROUPNAME": "mdlmgrusers",
"GROUPDESC": "Limited write access users of Model Manager"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/getgroups"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057DE0624DD40C2100000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:04.736000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'groups', [
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001C',
GROUPNAME: 'BI Dashboard Administrators',
GROUPDESC:
'The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001D',
GROUPNAME: 'BI Dashboard Users',
GROUPDESC:
'The members of this group are allowed general viewing access of content for the SAS BI Dashboard product.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000P',
GROUPNAME: 'BI Web Services Users',
GROUPDESC: 'Allows members to create and delete SAS BI Web Services.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000T',
GROUPNAME: 'Data Management Administrators',
GROUPDESC: 'Administrative users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000W',
GROUPNAME: 'Data Management Business Approvers',
GROUPDESC: 'Business approvers of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000V',
GROUPNAME: 'Data Management Business Users',
GROUPDESC: 'Business users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000Y',
GROUPNAME: 'Data Management Executives',
GROUPDESC: 'Executive users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000X',
GROUPNAME: 'Data Management Power Users',
GROUPDESC: 'Power users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000U',
GROUPNAME: 'Data Management Stewards',
GROUPDESC: 'Steward users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001F',
GROUPNAME: 'Decision Manager Common Administrators',
GROUPDESC: 'Decision Manager Administrative Group'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001G',
GROUPNAME: 'Decision Manager Users',
GROUPDESC: 'Decision Manager Users Group'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000021',
GROUPNAME: 'Factory Miner Database Users',
GROUPDESC: ''
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000002',
GROUPNAME: 'PUBLIC',
GROUPDESC: 'Everyone who can access the metadata server.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000008',
GROUPNAME: 'SAS General Servers',
GROUPDESC:
'Allows members to be used for launching stored process servers and pooled workspace servers.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000007',
GROUPNAME: 'SAS System Services',
GROUPDESC:
'Service identities that need access to server definitions or other system resources.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000003',
GROUPNAME: 'SASAdministrators',
GROUPDESC: 'Users who perform metadata administrative tasks.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000001',
GROUPNAME: 'SASUSERS',
GROUPDESC:
'Everyone who has a metadata identity. SASUSERS is a subset of PUBLIC.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001W',
GROUPNAME: 'SAS_EV_AppServer_Tier',
GROUPDESC: 'SAS Environment Manager App Server Tier Users'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001V',
GROUPNAME: 'SAS_EV_Guest',
GROUPDESC: 'SAS Environment Manager Guests'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001U',
GROUPNAME: 'SAS_EV_Super_User',
GROUPDESC: 'SAS Environment Manager Super Users'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000Q',
GROUPNAME: 'ThemeDesigner Administrators',
GROUPDESC: ''
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000I',
GROUPNAME: 'Visual Analytics Data Administrators',
GROUPDESC: 'Visual Analytics Data Administrators'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000013',
GROUPNAME: 'Visual Analytics Users',
GROUPDESC: 'Registered users of SAS Visual Analytics.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000J',
GROUPNAME: 'Visual Data Builder Administrators',
GROUPDESC: 'Visual Data Builder Administrators'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001O',
GROUPNAME: 'mdlmgradminusers',
GROUPDESC: 'Administrative Users for Model Manager'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001P',
GROUPNAME: 'mdlmgradvusers',
GROUPDESC: 'Advanced Users for Model Manager'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001Q',
GROUPNAME: 'mdlmgrusers',
GROUPDESC: 'Limited write access users of Model Manager'
}
])
webout('CLOSE')
@@ -1,39 +1,17 @@
_webout=`{"SYSDATE" : "29SEP22"
,"SYSTIME" : "12:02"
, "libinfo":
[
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'libinfo', [
{
"ENGINE": "BASE",
"LIBNAME": "Data Controller(DC996664)",
"PATHS": "(\\"C:\DataController\DC996664\\")",
"PERMS": "",
"OWNERS": "BUILTIN\Administrators",
"SCHEMAS": "",
"LIBID": "A59LNVZG.B500000K",
"LIBSIZE": " 13MB",
"TABLE_CNT": 32
ENGINE: 'BASE',
LIBNAME: 'Data Controller(DC996664)',
PATHS: '("C:\\DataController\\DC996664")',
PERMS: '',
OWNERS: 'BUILTIN\\Administrators',
SCHEMAS: '',
LIBID: 'A59LNVZG.B500000K',
LIBSIZE: ' 13MB',
TABLE_CNT: 32
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/refreshlibinfo"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : "A connection to the LASR Analytic Server on 'SAS.demo.sas.com', port 10011, could not be made. Make sure that the host and port are correctly specified, that you are attempting to connect to a LASR Analytic Server of the correct vintage, and that the server is still running."
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD816037A1CAC140C2B00000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "14432"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-29T12:02:44.445000"
,"MEMSIZE" : "93GB"
}
`
])
webout('CLOSE')
@@ -1,126 +1,91 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:29"
, "sasdatasets":
[
{
"LIBREF": "DC996664",
"DSN": "MPE_ALERTS"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_COLUMN_LEVEL_SECURITY"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_CONFIG"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_DATADICTIONARY"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_EMAILS"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_EXCEL_CONFIG"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_GROUPS"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_LOCKANYTABLE"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_ROW_LEVEL_SECURITY"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_SECURITY"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_SELECTBOX"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_TABLES"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_VALIDATIONS"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_X_TEST"
},
{
"LIBREF": "DC996664",
"DSN": "MPE_X_NEW"
}
]
, "saslibs":
[
{
"LIBREF": "DC996664"
}
]
, "globvars":
[
{
"DCLIB": "DC996664",
"SAS9LINEAGE_ENABLED": 1,
"ISREGISTERED": 1,
"REGISTERCOUNT": 1,
"DC_ADMIN_GROUP": "Data Management Business Approvers",
"LICENCE_KEY": "",
"ACTIVATION_KEY": "",
"DC_RESTRICT_EDITRECORD": "NO",
"TIMEZONE": "Europe/London",
"SYSTIMEZONEIDENT": "Europe/London",
"SYSTIMEZONEOFFSET": "+0100"
}
]
,"xlmaps": [
[
"BASEL-CR2",
"",
"DC866788.MPE_XLMAP_DATA"
],
[
"BASEL-KM1",
"Basel 3 Key Metrics report",
"DC866788.MPE_XLMAP_DATA"
],
[
"SAMPLE",
"",
"DC866788.MPE_XLMAP_DATA"
]
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/startupservice"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8056944A8F5C409C500000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:29:06.092000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'sasdatasets', [
{
LIBREF: 'DC996664',
DSN: 'MPE_ALERTS'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_COLUMN_LEVEL_SECURITY'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_CONFIG'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_DATADICTIONARY'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_EMAILS'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_EXCEL_CONFIG'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_GROUPS'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_LOCKANYTABLE'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_ROW_LEVEL_SECURITY'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_SECURITY'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_SELECTBOX'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_TABLES'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_VALIDATIONS'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_X_TEST'
},
{
LIBREF: 'DC996664',
DSN: 'MPE_X_NEW'
}
])
webout('OBJ', 'saslibs', [
{
LIBREF: 'DC996664'
}
])
webout('OBJ', 'globvars', [
{
DCLIB: 'DC996664',
SAS9LINEAGE_ENABLED: 1,
ISREGISTERED: 1,
REGISTERCOUNT: 1,
DC_ADMIN_GROUP: 'Data Management Business Approvers',
LICENCE_KEY: '',
ACTIVATION_KEY: '',
DC_RESTRICT_EDITRECORD: 'NO',
TIMEZONE: 'Europe/London',
SYSTIMEZONEIDENT: 'Europe/London',
SYSTIMEZONEOFFSET: '+0100'
}
])
webout('ARR', 'xlmaps', [
['BASEL-CR2', '', 'DC866788.MPE_XLMAP_DATA'],
['BASEL-KM1', 'Basel 3 Key Metrics report', 'DC866788.MPE_XLMAP_DATA'],
['SAMPLE', '', 'DC866788.MPE_XLMAP_DATA']
])
webout('CLOSE')
@@ -1,32 +1,11 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:49"
, "result":
[
{
"FILTER_RK": 1,
"FILTER_HASH": "FFE9C1E5F7AEC3B71F315EF2FEFC2296",
"FILTER_TABLE": "DC996664.MPE_X_TEST"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/validatefilter"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057CAEDE35440BF960000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:49:48.696000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'result', [
{
FILTER_RK: 1,
FILTER_HASH: 'FFE9C1E5F7AEC3B71F315EF2FEFC2296',
FILTER_TABLE: 'DC996664.MPE_X_TEST'
}
])
webout('CLOSE')
File diff suppressed because it is too large. Load diff
+114 -135
View File
@@ -1,135 +1,114 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:48"
, "saslibs":
[
{
"LIBRARYID": "A59LNVZG.B500000F",
"LIBRARYNAME": "Catalog Sales",
"LIBRARYREF": "catsles",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000D",
"LIBRARYNAME": "Dash",
"LIBRARYREF": "dash",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000K",
"LIBRARYNAME": "Data Controller(DC996664)",
"LIBRARYREF": "DC996664",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000G",
"LIBRARYNAME": "Decision Optimization",
"LIBRARYREF": "DO",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000B",
"LIBRARYNAME": "DemoData",
"LIBRARYREF": "DemoData",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000E",
"LIBRARYNAME": "Digital_Intelligence",
"LIBRARYREF": "Digital",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000008",
"LIBRARYNAME": "Environment Manager Data Mart LASR",
"LIBRARYREF": "EVDMLA",
"ENGINE": "SASIOLA"
},
{
"LIBRARYID": "A59LNVZG.B500000C",
"LIBRARYNAME": "Orion Star",
"LIBRARYREF": "orstar",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000001",
"LIBRARYNAME": "SASApp - SASDATA",
"LIBRARYREF": "SASDATA",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000005",
"LIBRARYNAME": "SASApp - valib",
"LIBRARYREF": "valib",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000002",
"LIBRARYNAME": "SASApp - wrsdist",
"LIBRARYREF": "wrsdist",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000003",
"LIBRARYNAME": "SASApp - wrstemp",
"LIBRARYREF": "wrstemp",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000009",
"LIBRARYNAME": "STP Samples",
"LIBRARYREF": "stpsamp",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000I",
"LIBRARYNAME": "Sankey",
"LIBRARYREF": "sankey",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B500000J",
"LIBRARYNAME": "VA Solar Farm - Source Data",
"LIBRARYREF": "Solarsrc",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000006",
"LIBRARYNAME": "Visual Analytics LASR",
"LIBRARYREF": "VALIBLA",
"ENGINE": "SASIOLA"
},
{
"LIBRARYID": "A59LNVZG.B5000004",
"LIBRARYNAME": "Visual Analytics Public Data Provider",
"LIBRARYREF": "DPPUBLIC",
"ENGINE": "BASE"
},
{
"LIBRARYID": "A59LNVZG.B5000007",
"LIBRARYNAME": "Visual Analytics Public LASR",
"LIBRARYREF": "LASRLIB",
"ENGINE": "SASIOLA"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/viewlibs"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057B8E6D91740B9650000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:48:36.451000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'saslibs', [
{
LIBRARYID: 'A59LNVZG.B500000F',
LIBRARYNAME: 'Catalog Sales',
LIBRARYREF: 'catsles',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000D',
LIBRARYNAME: 'Dash',
LIBRARYREF: 'dash',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000K',
LIBRARYNAME: 'Data Controller(DC996664)',
LIBRARYREF: 'DC996664',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000G',
LIBRARYNAME: 'Decision Optimization',
LIBRARYREF: 'DO',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000B',
LIBRARYNAME: 'DemoData',
LIBRARYREF: 'DemoData',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000E',
LIBRARYNAME: 'Digital_Intelligence',
LIBRARYREF: 'Digital',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000008',
LIBRARYNAME: 'Environment Manager Data Mart LASR',
LIBRARYREF: 'EVDMLA',
ENGINE: 'SASIOLA'
},
{
LIBRARYID: 'A59LNVZG.B500000C',
LIBRARYNAME: 'Orion Star',
LIBRARYREF: 'orstar',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000001',
LIBRARYNAME: 'SASApp - SASDATA',
LIBRARYREF: 'SASDATA',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000005',
LIBRARYNAME: 'SASApp - valib',
LIBRARYREF: 'valib',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000002',
LIBRARYNAME: 'SASApp - wrsdist',
LIBRARYREF: 'wrsdist',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000003',
LIBRARYNAME: 'SASApp - wrstemp',
LIBRARYREF: 'wrstemp',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000009',
LIBRARYNAME: 'STP Samples',
LIBRARYREF: 'stpsamp',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000I',
LIBRARYNAME: 'Sankey',
LIBRARYREF: 'sankey',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B500000J',
LIBRARYNAME: 'VA Solar Farm - Source Data',
LIBRARYREF: 'Solarsrc',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000006',
LIBRARYNAME: 'Visual Analytics LASR',
LIBRARYREF: 'VALIBLA',
ENGINE: 'SASIOLA'
},
{
LIBRARYID: 'A59LNVZG.B5000004',
LIBRARYNAME: 'Visual Analytics Public Data Provider',
LIBRARYREF: 'DPPUBLIC',
ENGINE: 'BASE'
},
{
LIBRARYID: 'A59LNVZG.B5000007',
LIBRARYNAME: 'Visual Analytics Public LASR',
LIBRARYREF: 'LASRLIB',
ENGINE: 'SASIOLA'
}
])
webout('CLOSE')
+103 -127
View File
@@ -1,127 +1,103 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:48"
, "mptables":
[
{
"MEMNAME": "MPE_ALERTS"
},
{
"MEMNAME": "MPE_AUDIT"
},
{
"MEMNAME": "MPE_COLUMN_LEVEL_SECURITY"
},
{
"MEMNAME": "MPE_CONFIG"
},
{
"MEMNAME": "MPE_DATACATALOG_LIBS"
},
{
"MEMNAME": "MPE_DATACATALOG_TABS"
},
{
"MEMNAME": "MPE_DATACATALOG_VARS"
},
{
"MEMNAME": "MPE_DATADICTIONARY"
},
{
"MEMNAME": "MPE_DATALOADS"
},
{
"MEMNAME": "MPE_DATASTATUS_LIBS"
},
{
"MEMNAME": "MPE_DATASTATUS_TABS"
},
{
"MEMNAME": "MPE_EMAILS"
},
{
"MEMNAME": "MPE_EXCEL_CONFIG"
},
{
"MEMNAME": "MPE_FILTERANYTABLE"
},
{
"MEMNAME": "MPE_FILTERSOURCE"
},
{
"MEMNAME": "MPE_GROUPS"
},
{
"MEMNAME": "MPE_LINEAGE_COLS"
},
{
"MEMNAME": "MPE_LINEAGE_TABS"
},
{
"MEMNAME": "MPE_LOADS"
},
{
"MEMNAME": "MPE_LOCKANYTABLE"
},
{
"MEMNAME": "MPE_MAXKEYVALUES"
},
{
"MEMNAME": "MPE_REQUESTS"
},
{
"MEMNAME": "MPE_REVIEW"
},
{
"MEMNAME": "MPE_ROW_LEVEL_SECURITY"
},
{
"MEMNAME": "MPE_SECURITY"
},
{
"MEMNAME": "MPE_SELECTBOX"
},
{
"MEMNAME": "MPE_SIGNOFFS"
},
{
"MEMNAME": "MPE_SUBMIT"
},
{
"MEMNAME": "MPE_TABLES"
},
{
"MEMNAME": "MPE_USERS"
},
{
"MEMNAME": "MPE_VALIDATIONS"
},
{
"MEMNAME": "MPE_X_TEST"
}
]
, "libinfo":
[
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/public/viewtables"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057BAACBC6A40B9E70000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:48:43.748000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'mptables', [
{
MEMNAME: 'MPE_ALERTS'
},
{
MEMNAME: 'MPE_AUDIT'
},
{
MEMNAME: 'MPE_COLUMN_LEVEL_SECURITY'
},
{
MEMNAME: 'MPE_CONFIG'
},
{
MEMNAME: 'MPE_DATACATALOG_LIBS'
},
{
MEMNAME: 'MPE_DATACATALOG_TABS'
},
{
MEMNAME: 'MPE_DATACATALOG_VARS'
},
{
MEMNAME: 'MPE_DATADICTIONARY'
},
{
MEMNAME: 'MPE_DATALOADS'
},
{
MEMNAME: 'MPE_DATASTATUS_LIBS'
},
{
MEMNAME: 'MPE_DATASTATUS_TABS'
},
{
MEMNAME: 'MPE_EMAILS'
},
{
MEMNAME: 'MPE_EXCEL_CONFIG'
},
{
MEMNAME: 'MPE_FILTERANYTABLE'
},
{
MEMNAME: 'MPE_FILTERSOURCE'
},
{
MEMNAME: 'MPE_GROUPS'
},
{
MEMNAME: 'MPE_LINEAGE_COLS'
},
{
MEMNAME: 'MPE_LINEAGE_TABS'
},
{
MEMNAME: 'MPE_LOADS'
},
{
MEMNAME: 'MPE_LOCKANYTABLE'
},
{
MEMNAME: 'MPE_MAXKEYVALUES'
},
{
MEMNAME: 'MPE_REQUESTS'
},
{
MEMNAME: 'MPE_REVIEW'
},
{
MEMNAME: 'MPE_ROW_LEVEL_SECURITY'
},
{
MEMNAME: 'MPE_SECURITY'
},
{
MEMNAME: 'MPE_SELECTBOX'
},
{
MEMNAME: 'MPE_SIGNOFFS'
},
{
MEMNAME: 'MPE_SUBMIT'
},
{
MEMNAME: 'MPE_TABLES'
},
{
MEMNAME: 'MPE_USERS'
},
{
MEMNAME: 'MPE_VALIDATIONS'
},
{
MEMNAME: 'MPE_X_TEST'
}
])
webout('OBJ', 'libinfo', [])
webout('CLOSE')
@@ -1,365 +1,359 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "emails":
[
]
, "groups":
[
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000W",
"GROUPNAME": "Data Management Business Approvers",
"GROUPDESC": "Business approvers of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000V",
"GROUPNAME": "Data Management Business Users",
"GROUPDESC": "Business users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001G",
"GROUPNAME": "Decision Manager Users",
"GROUPDESC": "Decision Manager Users Group"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000Y",
"GROUPNAME": "Data Management Executives",
"GROUPDESC": "Executive users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000X",
"GROUPNAME": "Data Management Power Users",
"GROUPDESC": "Power users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000P",
"GROUPNAME": "BI Web Services Users",
"GROUPDESC": "Allows members to create and delete SAS BI Web Services."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001O",
"GROUPNAME": "mdlmgradminusers",
"GROUPDESC": "Administrative Users for Model Manager"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001F",
"GROUPNAME": "Decision Manager Common Administrators",
"GROUPDESC": "Decision Manager Administrative Group"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001Q",
"GROUPNAME": "mdlmgrusers",
"GROUPDESC": "Limited write access users of Model Manager"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000U",
"GROUPNAME": "Data Management Stewards",
"GROUPDESC": "Steward users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000T",
"GROUPNAME": "Data Management Administrators",
"GROUPDESC": "Administrative users of the data management environment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001C",
"GROUPNAME": "BI Dashboard Administrators",
"GROUPDESC": "The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000013",
"GROUPNAME": "Visual Analytics Users",
"GROUPDESC": "Registered users of SAS Visual Analytics."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000J",
"GROUPNAME": "Visual Data Builder Administrators",
"GROUPDESC": "Visual Data Builder Administrators"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001D",
"GROUPNAME": "BI Dashboard Users",
"GROUPDESC": "The members of this group are allowed general viewing access of content for the SAS BI Dashboard product."
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000Q",
"GROUPNAME": "ThemeDesigner Administrators",
"GROUPDESC": ""
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001P",
"GROUPNAME": "mdlmgradvusers",
"GROUPDESC": "Advanced Users for Model Manager"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000021",
"GROUPNAME": "Factory Miner Database Users",
"GROUPDESC": ""
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000I",
"GROUPNAME": "Visual Analytics Data Administrators",
"GROUPDESC": "Visual Analytics Data Administrators"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001W",
"GROUPNAME": "SAS_EV_AppServer_Tier",
"GROUPDESC": "SAS Environment Manager App Server Tier Users"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001U",
"GROUPNAME": "SAS_EV_Super_User",
"GROUPDESC": "SAS Environment Manager Super Users"
},
{
"GROUPURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001V",
"GROUPNAME": "SAS_EV_Guest",
"GROUPDESC": "SAS Environment Manager Guests"
}
]
, "roles":
[
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000B",
"ROLENAME": "Add-In for Microsoft Office: OLAP",
"ROLEDESC": "Supports viewing OLAP cubes in PivotTables and provides other capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000N",
"ROLENAME": "Job Execution: Job Designer",
"ROLEDESC": "Provides job and task definition capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000S",
"ROLENAME": "Fonts Administrator",
"ROLEDESC": "Font Administrator can reload fonts to update the fonts metadata."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000014",
"ROLENAME": "Visual Analytics: Report Viewing",
"ROLEDESC": "Provides report viewing capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001R",
"ROLENAME": "mdlmgradminusage",
"ROLEDESC": "Provides ability to perform all Model Manager tasks"
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000016",
"ROLENAME": "Visual Analytics: Data Building",
"ROLEDESC": "Provides data preparation capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001Z",
"ROLENAME": "Factory Miner: User",
"ROLEDESC": "Provides Factory Miner User capabilities to create projects and run models."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000M",
"ROLENAME": "Job Execution: Job Submitter",
"ROLEDESC": "Provides normal job submission capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001N",
"ROLENAME": "SAS Studio: Report Consumer",
"ROLEDESC": "Provides access to view or run existing SAS Studio reports without general access to SAS programming environment."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001M",
"ROLENAME": "SAS Studio: Usage",
"ROLEDESC": "Provides access to the SAS programming environment."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000K",
"ROLENAME": "Comments: Administrator",
"ROLEDESC": ""
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001A",
"ROLENAME": "Web Report Studio: Report Creation",
"ROLEDESC": "Provides report creation capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001Y",
"ROLENAME": "Time Series Studio: User",
"ROLEDESC": "Enables normal user access to the product and features."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000009",
"ROLENAME": "Add-In for Microsoft Office: Advanced",
"ROLEDESC": "Provides all capabilities in the SAS Add-In for Microsoft Office."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000C",
"ROLENAME": "Enterprise Guide: Advanced",
"ROLEDESC": "Provides all capabilities in SAS Enterprise Guide."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001E",
"ROLENAME": "BI Dashboard: Administration",
"ROLEDESC": "Provides SAS BI Dashboard administration capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000O",
"ROLENAME": "Job Execution: Job Scheduler",
"ROLEDESC": "Provides job scheduling capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000R",
"ROLENAME": "Theme Designer: Administration",
"ROLEDESC": "Provides Theme Designer administration capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001S",
"ROLENAME": "mdlmgradvusage",
"ROLEDESC": "Provides the ability to perform all SAS Model Manager tasks, except for administrative tasks"
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001H",
"ROLENAME": "Decision Manager Common: Administration",
"ROLEDESC": "Decision Manager Common Administrative role"
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000012",
"ROLENAME": "Home: Usage",
"ROLEDESC": "Provides all non-administrative capabilities for the home page (hub)."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001J",
"ROLENAME": "Forecast Server: Analyst",
"ROLEDESC": "Provides capabiliites for a Forecasting Analyst."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000L",
"ROLENAME": "Job Execution: Job Administrator",
"ROLEDESC": "Provides all capabilities for the Job Execution Service, a component of the Web Infra Platform Services."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000020",
"ROLENAME": "Factory Miner: Admin",
"ROLEDESC": "Provides Factory Miner Admin capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000E",
"ROLENAME": "Enterprise Guide: OLAP",
"ROLEDESC": "Supports viewing OLAP cubes in the OLAP Analyzer and provides other capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001I",
"ROLENAME": "Forecast Server: Browser",
"ROLEDESC": "Provides basic forecasting viewing and reporting capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001T",
"ROLENAME": "mdlmgrusage",
"ROLEDESC": "Provides the ability to perform all SAS Model Manager tasks, except for advanced or administrative tasks"
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001X",
"ROLENAME": "Time Series Studio: Administrator",
"ROLEDESC": "Enables administrator access to the product and features, including access to all product content regardless of ownership."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001K",
"ROLENAME": "Forecast Server: Forecaster",
"ROLEDESC": "Provides capabilities for a Forecaster."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000011",
"ROLENAME": "Home: Administration",
"ROLEDESC": "Provides all capabilities for the home page (hub)."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001B",
"ROLENAME": "Web Report Studio: Advanced",
"ROLEDESC": "Provides all capabilities in SAS Web Report Studio except the manage report distribution capability."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000D",
"ROLENAME": "Enterprise Guide: Analysis",
"ROLEDESC": "Provides basic data analysis, reporting, and other capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500001L",
"ROLENAME": "Forecast Server: Administrator",
"ROLEDESC": "Provides capabilities for a Forecasting Administrator."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000Z",
"ROLENAME": "Lineage: Administration",
"ROLEDESC": "Provides all functionality related to administrative activities for the SAS Lineage application."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000017",
"ROLENAME": "Visual Analytics: Administration",
"ROLEDESC": "Provides administrative capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000019",
"ROLENAME": "Web Report Studio: Report Viewing",
"ROLEDESC": "Provides report viewing capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000F",
"ROLENAME": "Enterprise Guide: Programming",
"ROLEDESC": "Provides SAS programming, stored process authoring, and other capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000018",
"ROLENAME": "Visual Analytics: Basic",
"ROLEDESC": "Provides functionality for guest access (if applicable) and entry-level users."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000010",
"ROLENAME": "Data Management: Lineage",
"ROLEDESC": "Provides default access to the SAS Lineage application."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A500000A",
"ROLENAME": "Add-In for Microsoft Office: Analysis",
"ROLEDESC": "Provides basic data analysis, reporting, and other capabilities."
},
{
"ROLEURI": "OMSOBJ:IdentityGroup\A59LNVZG.A5000015",
"ROLENAME": "Visual Analytics: Analysis",
"ROLEDESC": "If SAS Visual Statistics is licensed, provides the Build Analytical Model capability."
}
]
, "logins":
[
{
"DOMAIN": "DefaultAuth",
"USERID": "SAS\sasdemo"
}
]
, "info":
[
{
"NAME": "sasdemo",
"DISPLAYNAME": "SAS Demo User",
"METADATACREATED": "19Aug2020:06:22:00",
"METADATAUPDATED": "19Aug2020:06:22:00"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/usergroupsbymember"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057E09DF3B640C28A0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:15.304000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'emails', [])
webout('OBJ', 'groups', [
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000W',
GROUPNAME: 'Data Management Business Approvers',
GROUPDESC: 'Business approvers of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000V',
GROUPNAME: 'Data Management Business Users',
GROUPDESC: 'Business users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001G',
GROUPNAME: 'Decision Manager Users',
GROUPDESC: 'Decision Manager Users Group'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000Y',
GROUPNAME: 'Data Management Executives',
GROUPDESC: 'Executive users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000X',
GROUPNAME: 'Data Management Power Users',
GROUPDESC: 'Power users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000P',
GROUPNAME: 'BI Web Services Users',
GROUPDESC: 'Allows members to create and delete SAS BI Web Services.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001O',
GROUPNAME: 'mdlmgradminusers',
GROUPDESC: 'Administrative Users for Model Manager'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001F',
GROUPNAME: 'Decision Manager Common Administrators',
GROUPDESC: 'Decision Manager Administrative Group'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001Q',
GROUPNAME: 'mdlmgrusers',
GROUPDESC: 'Limited write access users of Model Manager'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000U',
GROUPNAME: 'Data Management Stewards',
GROUPDESC: 'Steward users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000T',
GROUPNAME: 'Data Management Administrators',
GROUPDESC: 'Administrative users of the data management environment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001C',
GROUPNAME: 'BI Dashboard Administrators',
GROUPDESC:
'The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000013',
GROUPNAME: 'Visual Analytics Users',
GROUPDESC: 'Registered users of SAS Visual Analytics.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000J',
GROUPNAME: 'Visual Data Builder Administrators',
GROUPDESC: 'Visual Data Builder Administrators'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001D',
GROUPNAME: 'BI Dashboard Users',
GROUPDESC:
'The members of this group are allowed general viewing access of content for the SAS BI Dashboard product.'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000Q',
GROUPNAME: 'ThemeDesigner Administrators',
GROUPDESC: ''
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001P',
GROUPNAME: 'mdlmgradvusers',
GROUPDESC: 'Advanced Users for Model Manager'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000021',
GROUPNAME: 'Factory Miner Database Users',
GROUPDESC: ''
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000I',
GROUPNAME: 'Visual Analytics Data Administrators',
GROUPDESC: 'Visual Analytics Data Administrators'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001W',
GROUPNAME: 'SAS_EV_AppServer_Tier',
GROUPDESC: 'SAS Environment Manager App Server Tier Users'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001U',
GROUPNAME: 'SAS_EV_Super_User',
GROUPDESC: 'SAS Environment Manager Super Users'
},
{
GROUPURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001V',
GROUPNAME: 'SAS_EV_Guest',
GROUPDESC: 'SAS Environment Manager Guests'
}
])
webout('OBJ', 'roles', [
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000B',
ROLENAME: 'Add-In for Microsoft Office: OLAP',
ROLEDESC:
'Supports viewing OLAP cubes in PivotTables and provides other capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000N',
ROLENAME: 'Job Execution: Job Designer',
ROLEDESC: 'Provides job and task definition capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000S',
ROLENAME: 'Fonts Administrator',
ROLEDESC:
'Font Administrator can reload fonts to update the fonts metadata.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000014',
ROLENAME: 'Visual Analytics: Report Viewing',
ROLEDESC:
'Provides report viewing capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001R',
ROLENAME: 'mdlmgradminusage',
ROLEDESC: 'Provides ability to perform all Model Manager tasks'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000016',
ROLENAME: 'Visual Analytics: Data Building',
ROLEDESC:
'Provides data preparation capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001Z',
ROLENAME: 'Factory Miner: User',
ROLEDESC:
'Provides Factory Miner User capabilities to create projects and run models.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000M',
ROLENAME: 'Job Execution: Job Submitter',
ROLEDESC: 'Provides normal job submission capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001N',
ROLENAME: 'SAS Studio: Report Consumer',
ROLEDESC:
'Provides access to view or run existing SAS Studio reports without general access to SAS programming environment.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001M',
ROLENAME: 'SAS Studio: Usage',
ROLEDESC: 'Provides access to the SAS programming environment.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000K',
ROLENAME: 'Comments: Administrator',
ROLEDESC: ''
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001A',
ROLENAME: 'Web Report Studio: Report Creation',
ROLEDESC: 'Provides report creation capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001Y',
ROLENAME: 'Time Series Studio: User',
ROLEDESC: 'Enables normal user access to the product and features.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000009',
ROLENAME: 'Add-In for Microsoft Office: Advanced',
ROLEDESC:
'Provides all capabilities in the SAS Add-In for Microsoft Office.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000C',
ROLENAME: 'Enterprise Guide: Advanced',
ROLEDESC: 'Provides all capabilities in SAS Enterprise Guide.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001E',
ROLENAME: 'BI Dashboard: Administration',
ROLEDESC: 'Provides SAS BI Dashboard administration capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000O',
ROLENAME: 'Job Execution: Job Scheduler',
ROLEDESC: 'Provides job scheduling capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000R',
ROLENAME: 'Theme Designer: Administration',
ROLEDESC: 'Provides Theme Designer administration capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001S',
ROLENAME: 'mdlmgradvusage',
ROLEDESC:
'Provides the ability to perform all SAS Model Manager tasks, except for administrative tasks'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001H',
ROLENAME: 'Decision Manager Common: Administration',
ROLEDESC: 'Decision Manager Common Administrative role'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000012',
ROLENAME: 'Home: Usage',
ROLEDESC:
'Provides all non-administrative capabilities for the home page (hub).'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001J',
ROLENAME: 'Forecast Server: Analyst',
ROLEDESC: 'Provides capabiliites for a Forecasting Analyst.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000L',
ROLENAME: 'Job Execution: Job Administrator',
ROLEDESC:
'Provides all capabilities for the Job Execution Service, a component of the Web Infra Platform Services.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000020',
ROLENAME: 'Factory Miner: Admin',
ROLEDESC: 'Provides Factory Miner Admin capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000E',
ROLENAME: 'Enterprise Guide: OLAP',
ROLEDESC:
'Supports viewing OLAP cubes in the OLAP Analyzer and provides other capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001I',
ROLENAME: 'Forecast Server: Browser',
ROLEDESC: 'Provides basic forecasting viewing and reporting capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001T',
ROLENAME: 'mdlmgrusage',
ROLEDESC:
'Provides the ability to perform all SAS Model Manager tasks, except for advanced or administrative tasks'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001X',
ROLENAME: 'Time Series Studio: Administrator',
ROLEDESC:
'Enables administrator access to the product and features, including access to all product content regardless of ownership.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001K',
ROLENAME: 'Forecast Server: Forecaster',
ROLEDESC: 'Provides capabilities for a Forecaster.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000011',
ROLENAME: 'Home: Administration',
ROLEDESC: 'Provides all capabilities for the home page (hub).'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001B',
ROLENAME: 'Web Report Studio: Advanced',
ROLEDESC:
'Provides all capabilities in SAS Web Report Studio except the manage report distribution capability.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000D',
ROLENAME: 'Enterprise Guide: Analysis',
ROLEDESC: 'Provides basic data analysis, reporting, and other capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500001L',
ROLENAME: 'Forecast Server: Administrator',
ROLEDESC: 'Provides capabilities for a Forecasting Administrator.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000Z',
ROLENAME: 'Lineage: Administration',
ROLEDESC:
'Provides all functionality related to administrative activities for the SAS Lineage application.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000017',
ROLENAME: 'Visual Analytics: Administration',
ROLEDESC:
'Provides administrative capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000019',
ROLENAME: 'Web Report Studio: Report Viewing',
ROLEDESC: 'Provides report viewing capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000F',
ROLENAME: 'Enterprise Guide: Programming',
ROLEDESC:
'Provides SAS programming, stored process authoring, and other capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000018',
ROLENAME: 'Visual Analytics: Basic',
ROLEDESC:
'Provides functionality for guest access (if applicable) and entry-level users.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000010',
ROLENAME: 'Data Management: Lineage',
ROLEDESC: 'Provides default access to the SAS Lineage application.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A500000A',
ROLENAME: 'Add-In for Microsoft Office: Analysis',
ROLEDESC: 'Provides basic data analysis, reporting, and other capabilities.'
},
{
ROLEURI: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000015',
ROLENAME: 'Visual Analytics: Analysis',
ROLEDESC:
'If SAS Visual Statistics is licensed, provides the Build Analytical Model capability.'
}
])
webout('OBJ', 'logins', [
{
DOMAIN: 'DefaultAuth',
USERID: 'SAS\\sasdemo'
}
])
webout('OBJ', 'info', [
{
NAME: 'sasdemo',
DISPLAYNAME: 'SAS Demo User',
METADATACREATED: '19Aug2020:06:22:00',
METADATAUPDATED: '19Aug2020:06:22:00'
}
])
webout('CLOSE')
@@ -1,125 +1,15 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "users":
[
{
"URI": "A59LNVZG.AP000006",
"NAME": "fsmeta"
},
{
"URI": "A59LNVZG.AP000001",
"NAME": "sasadm"
},
{
"URI": "A59LNVZG.AP000003",
"NAME": "sasdemo"
},
{
"URI": "A59LNVZG.AP000007",
"NAME": "sasevs"
},
{
"URI": "A59LNVZG.AP000009",
"NAME": "sasfcmr"
},
{
"URI": "A59LNVZG.AP000005",
"NAME": "sassearch"
},{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "users":
[
{
"URI": "A59LNVZG.AP000006",
"NAME": "fsmeta"
},
{
"URI": "A59LNVZG.AP000001",
"NAME": "sasadm"
},
{
"URI": "A59LNVZG.AP000003",
"NAME": "sasdemo"
},
{
"URI": "A59LNVZG.AP000007",
"NAME": "sasevs"
},
{
"URI": "A59LNVZG.AP000009",
"NAME": "sasfcmr"
},
{
"URI": "A59LNVZG.AP000005",
"NAME": "sassearch"
},
{
"URI": "A59LNVZG.AP000002",
"NAME": "sastrust"
},
{
"URI": "A59LNVZG.AP000008",
"NAME": "tssmeta"
},
{
"URI": "A59LNVZG.AP000004",
"NAME": "webanon"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/usermembers"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057E02428F640C25D0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:12.995000"
,"MEMSIZE" : "46GB"
}
{
"URI": "A59LNVZG.AP000002",
"NAME": "sastrust"
},
{
"URI": "A59LNVZG.AP000008",
"NAME": "tssmeta"
},
{
"URI": "A59LNVZG.AP000004",
"NAME": "webanon"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/usermembers"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057E02428F640C25D0000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:12.995000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'users', [
{ URI: 'A59LNVZG.AP000006', NAME: 'fsmeta' },
{ URI: 'A59LNVZG.AP000001', NAME: 'sasadm' },
{ URI: 'A59LNVZG.AP000003', NAME: 'sasdemo' },
{ URI: 'A59LNVZG.AP000007', NAME: 'sasevs' },
{ URI: 'A59LNVZG.AP000009', NAME: 'sasfcmr' },
{ URI: 'A59LNVZG.AP000005', NAME: 'sassearch' },
{ URI: 'A59LNVZG.AP000002', NAME: 'sastrust' },
{ URI: 'A59LNVZG.AP000008', NAME: 'tssmeta' },
{ URI: 'A59LNVZG.AP000004', NAME: 'webanon' }
])
webout('CLOSE')
@@ -1,55 +1,36 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "sasmembers":
[
{
"URIMEM": "OMSOBJ:Person\A59LNVZG.AP000002",
"GROUPID": "A59LNVZG.A500001C",
"GROUPNAME": "BI Dashboard Administrators",
"GROUP_OR_ROLE": "UserGroup",
"MEMBERNAME": "sastrust",
"MEMBERTYPE": "User",
"MEMBERUPDATED": "19Aug2020:06:21:44",
"MEMBERCREATED": "19Aug2020:06:21:44",
"EMAILURI": "",
"GROUPDESC": "The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.",
"EMAIL": "",
"EMAILRC": -4
},
{
"URIMEM": "OMSOBJ:Person\A59LNVZG.AP000003",
"GROUPID": "A59LNVZG.A500001C",
"GROUPNAME": "BI Dashboard Administrators",
"GROUP_OR_ROLE": "UserGroup",
"MEMBERNAME": "sasdemo",
"MEMBERTYPE": "User",
"MEMBERUPDATED": "19Aug2020:06:22:00",
"MEMBERCREATED": "19Aug2020:06:22:00",
"EMAILURI": "",
"GROUPDESC": "The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.",
"EMAIL": "",
"EMAILRC": -4
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/usermembersbygroup"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057E17EB85240C2E28000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:18.468000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'sasmembers', [
{
URIMEM: 'OMSOBJ:Person\\A59LNVZG.AP000002',
GROUPID: 'A59LNVZG.A500001C',
GROUPNAME: 'BI Dashboard Administrators',
GROUP_OR_ROLE: 'UserGroup',
MEMBERNAME: 'sastrust',
MEMBERTYPE: 'User',
MEMBERUPDATED: '19Aug2020:06:21:44',
MEMBERCREATED: '19Aug2020:06:21:44',
EMAILURI: '',
GROUPDESC:
'The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.',
EMAIL: '',
EMAILRC: -4
},
{
URIMEM: 'OMSOBJ:Person\\A59LNVZG.AP000003',
GROUPID: 'A59LNVZG.A500001C',
GROUPNAME: 'BI Dashboard Administrators',
GROUP_OR_ROLE: 'UserGroup',
MEMBERNAME: 'sasdemo',
MEMBERTYPE: 'User',
MEMBERUPDATED: '19Aug2020:06:22:00',
MEMBERCREATED: '19Aug2020:06:22:00',
EMAILURI: '',
GROUPDESC:
'The members of this group are allowed to administer content for the SAS BI Dashboard product. The SAS Trusted User is made a member during initial deployment.',
EMAIL: '',
EMAILRC: -4
}
])
webout('CLOSE')
@@ -1,46 +1,24 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "sasgroups":
[
{
"URIMEM": "OMSOBJ:IdentityGroup\A59LNVZG.A5000002",
"MEMBERNAME": "PUBLIC",
"MEMBERTYPE": "UserGroup",
"MEMBERUPDATED": "19Aug2020:06:21:05",
"MEMBERCREATED": "19Aug2020:06:21:05",
"EMAIL": ""
}
]
, "sasmembers":
[
{
"URIMEM": "OMSOBJ:Person\A59LNVZG.AP000003",
"MEMBERNAME": "sasdemo",
"MEMBERTYPE": "User",
"MEMBERUPDATED": "19Aug2020:06:22:00",
"MEMBERCREATED": "19Aug2020:06:22:00",
"EMAIL": ""
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/usermembersbyrole"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057E21AB02140C3090000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:20.946000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'sasgroups', [
{
URIMEM: 'OMSOBJ:IdentityGroup\\A59LNVZG.A5000002',
MEMBERNAME: 'PUBLIC',
MEMBERTYPE: 'UserGroup',
MEMBERUPDATED: '19Aug2020:06:21:05',
MEMBERCREATED: '19Aug2020:06:21:05',
EMAIL: ''
}
])
webout('OBJ', 'sasmembers', [
{
URIMEM: 'OMSOBJ:Person\\A59LNVZG.AP000003',
MEMBERNAME: 'sasdemo',
MEMBERTYPE: 'User',
MEMBERUPDATED: '19Aug2020:06:22:00',
MEMBERCREATED: '19Aug2020:06:22:00',
EMAIL: ''
}
])
webout('CLOSE')
+259 -257
View File
@@ -1,257 +1,259 @@
_webout=`{"SYSDATE" : "26SEP22"
,"SYSTIME" : "08:51"
, "roles":
[
{
"ROLEURI": "A59LNVZG.A5000009",
"ROLENAME": "Add-In for Microsoft Office: Advanced",
"ROLEDESC": "Provides all capabilities in the SAS Add-In for Microsoft Office."
},
{
"ROLEURI": "A59LNVZG.A500000A",
"ROLENAME": "Add-In for Microsoft Office: Analysis",
"ROLEDESC": "Provides basic data analysis, reporting, and other capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000B",
"ROLENAME": "Add-In for Microsoft Office: OLAP",
"ROLEDESC": "Supports viewing OLAP cubes in PivotTables and provides other capabilities."
},
{
"ROLEURI": "A59LNVZG.A500001E",
"ROLENAME": "BI Dashboard: Administration",
"ROLEDESC": "Provides SAS BI Dashboard administration capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000K",
"ROLENAME": "Comments: Administrator",
"ROLEDESC": ""
},
{
"ROLEURI": "A59LNVZG.A5000010",
"ROLENAME": "Data Management: Lineage",
"ROLEDESC": "Provides default access to the SAS Lineage application."
},
{
"ROLEURI": "A59LNVZG.A500001H",
"ROLENAME": "Decision Manager Common: Administration",
"ROLEDESC": "Decision Manager Common Administrative role"
},
{
"ROLEURI": "A59LNVZG.A500000C",
"ROLENAME": "Enterprise Guide: Advanced",
"ROLEDESC": "Provides all capabilities in SAS Enterprise Guide."
},
{
"ROLEURI": "A59LNVZG.A500000D",
"ROLENAME": "Enterprise Guide: Analysis",
"ROLEDESC": "Provides basic data analysis, reporting, and other capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000E",
"ROLENAME": "Enterprise Guide: OLAP",
"ROLEDESC": "Supports viewing OLAP cubes in the OLAP Analyzer and provides other capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000F",
"ROLENAME": "Enterprise Guide: Programming",
"ROLEDESC": "Provides SAS programming, stored process authoring, and other capabilities."
},
{
"ROLEURI": "A59LNVZG.A5000020",
"ROLENAME": "Factory Miner: Admin",
"ROLEDESC": "Provides Factory Miner Admin capabilities."
},
{
"ROLEURI": "A59LNVZG.A500001Z",
"ROLENAME": "Factory Miner: User",
"ROLEDESC": "Provides Factory Miner User capabilities to create projects and run models."
},
{
"ROLEURI": "A59LNVZG.A500000S",
"ROLENAME": "Fonts Administrator",
"ROLEDESC": "Font Administrator can reload fonts to update the fonts metadata."
},
{
"ROLEURI": "A59LNVZG.A500001L",
"ROLENAME": "Forecast Server: Administrator",
"ROLEDESC": "Provides capabilities for a Forecasting Administrator."
},
{
"ROLEURI": "A59LNVZG.A500001J",
"ROLENAME": "Forecast Server: Analyst",
"ROLEDESC": "Provides capabiliites for a Forecasting Analyst."
},
{
"ROLEURI": "A59LNVZG.A500001I",
"ROLENAME": "Forecast Server: Browser",
"ROLEDESC": "Provides basic forecasting viewing and reporting capabilities."
},
{
"ROLEURI": "A59LNVZG.A500001K",
"ROLENAME": "Forecast Server: Forecaster",
"ROLEDESC": "Provides capabilities for a Forecaster."
},
{
"ROLEURI": "A59LNVZG.A5000011",
"ROLENAME": "Home: Administration",
"ROLEDESC": "Provides all capabilities for the home page (hub)."
},
{
"ROLEURI": "A59LNVZG.A5000012",
"ROLENAME": "Home: Usage",
"ROLEDESC": "Provides all non-administrative capabilities for the home page (hub)."
},
{
"ROLEURI": "A59LNVZG.A500000L",
"ROLENAME": "Job Execution: Job Administrator",
"ROLEDESC": "Provides all capabilities for the Job Execution Service, a component of the Web Infra Platform Services."
},
{
"ROLEURI": "A59LNVZG.A500000N",
"ROLENAME": "Job Execution: Job Designer",
"ROLEDESC": "Provides job and task definition capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000O",
"ROLENAME": "Job Execution: Job Scheduler",
"ROLEDESC": "Provides job scheduling capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000M",
"ROLENAME": "Job Execution: Job Submitter",
"ROLEDESC": "Provides normal job submission capabilities."
},
{
"ROLEURI": "A59LNVZG.A500000Z",
"ROLENAME": "Lineage: Administration",
"ROLEDESC": "Provides all functionality related to administrative activities for the SAS Lineage application."
},
{
"ROLEURI": "A59LNVZG.A5000006",
"ROLENAME": "META: Operators Role",
"ROLEDESC": "Supports adding repositories and operating the metadata server [implicit]."
},
{
"ROLEURI": "A59LNVZG.A5000004",
"ROLENAME": "META: Unrestricted Users Role",
"ROLEDESC": "Provides all capabilities in SAS Management Console and provides access to all metadata [implicit]."
},
{
"ROLEURI": "A59LNVZG.A5000005",
"ROLENAME": "META: User and Group Administrators Role",
"ROLEDESC": "Supports management of users, groups, and roles other than the unrestricted role [implicit]."
},
{
"ROLEURI": "A59LNVZG.A500000G",
"ROLENAME": "Management Console: Advanced",
"ROLEDESC": "Provides access to all plug-ins in SAS Management Console."
},
{
"ROLEURI": "A59LNVZG.A500000H",
"ROLENAME": "Management Console: Content Management",
"ROLEDESC": "Provides access to the Folders tab, User Manager, Library Manager, and Authorization Manager."
},
{
"ROLEURI": "A59LNVZG.A500001N",
"ROLENAME": "SAS Studio: Report Consumer",
"ROLEDESC": "Provides access to view or run existing SAS Studio reports without general access to SAS programming environment."
},
{
"ROLEURI": "A59LNVZG.A500001M",
"ROLENAME": "SAS Studio: Usage",
"ROLEDESC": "Provides access to the SAS programming environment."
},
{
"ROLEURI": "A59LNVZG.A500000R",
"ROLENAME": "Theme Designer: Administration",
"ROLEDESC": "Provides Theme Designer administration capabilities."
},
{
"ROLEURI": "A59LNVZG.A500001X",
"ROLENAME": "Time Series Studio: Administrator",
"ROLEDESC": "Enables administrator access to the product and features, including access to all product content regardless of ownership."
},
{
"ROLEURI": "A59LNVZG.A500001Y",
"ROLENAME": "Time Series Studio: User",
"ROLEDESC": "Enables normal user access to the product and features."
},
{
"ROLEURI": "A59LNVZG.A5000017",
"ROLENAME": "Visual Analytics: Administration",
"ROLEDESC": "Provides administrative capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "A59LNVZG.A5000015",
"ROLENAME": "Visual Analytics: Analysis",
"ROLEDESC": "If SAS Visual Statistics is licensed, provides the Build Analytical Model capability."
},
{
"ROLEURI": "A59LNVZG.A5000018",
"ROLENAME": "Visual Analytics: Basic",
"ROLEDESC": "Provides functionality for guest access (if applicable) and entry-level users."
},
{
"ROLEURI": "A59LNVZG.A5000016",
"ROLENAME": "Visual Analytics: Data Building",
"ROLEDESC": "Provides data preparation capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "A59LNVZG.A5000014",
"ROLENAME": "Visual Analytics: Report Viewing",
"ROLEDESC": "Provides report viewing capabilities in the Visual Analytics suite."
},
{
"ROLEURI": "A59LNVZG.A500001B",
"ROLENAME": "Web Report Studio: Advanced",
"ROLEDESC": "Provides all capabilities in SAS Web Report Studio except the manage report distribution capability."
},
{
"ROLEURI": "A59LNVZG.A500001A",
"ROLENAME": "Web Report Studio: Report Creation",
"ROLEDESC": "Provides report creation capabilities."
},
{
"ROLEURI": "A59LNVZG.A5000019",
"ROLENAME": "Web Report Studio: Report Viewing",
"ROLEDESC": "Provides report viewing capabilities."
},
{
"ROLEURI": "A59LNVZG.A500001R",
"ROLENAME": "mdlmgradminusage",
"ROLEDESC": "Provides ability to perform all Model Manager tasks"
},
{
"ROLEURI": "A59LNVZG.A500001S",
"ROLENAME": "mdlmgradvusage",
"ROLEDESC": "Provides the ability to perform all SAS Model Manager tasks, except for administrative tasks"
},
{
"ROLEURI": "A59LNVZG.A500001T",
"ROLENAME": "mdlmgrusage",
"ROLEDESC": "Provides the ability to perform all SAS Model Manager tasks, except for advanced or administrative tasks"
}
]
,"_DEBUG" : ""
,"_METAUSER": "sasdemo@SAS"
,"_METAPERSON": "sasdemo"
,"_PROGRAM" : "/Projects/app/dc/services/usernav/userroles"
,"AUTOEXEC" : "D%3A%5Copt%5Csasinside%5CConfig%5CLev1%5CSASApp%5CStoredProcessServer%5Cautoexec.sas"
,"MF_GETUSER" : "sasdemo"
,"SYSCC" : "0"
,"SYSENCODING" : "wlatin1"
,"SYSERRORTEXT" : ""
,"SYSHOSTNAME" : "SAS"
,"SYSPROCESSID" : "41DD8057DF99CAC140C2300000000000"
,"SYSPROCESSMODE" : "SAS Stored Process Server"
,"SYSPROCESSNAME" : ""
,"SYSJOBID" : "27448"
,"SYSSCPL" : "X64_DSRV16"
,"SYSSITE" : "123"
,"SYSUSERID" : "sassrv"
,"SYSVLONG" : "9.04.01M7P080520"
,"SYSWARNINGTEXT" : "ENCODING option ignored for files opened with RECFM=N."
,"END_DTTM" : "2022-09-26T08:51:10.892000"
,"MEMSIZE" : "46GB"
}`
/* A fixed sample of what the SAS service returns for this screen.
The members are the same shape; the envelope now comes from the runtime. */
webout('OPEN')
webout('OBJ', 'roles', [
{
ROLEURI: 'A59LNVZG.A5000009',
ROLENAME: 'Add-In for Microsoft Office: Advanced',
ROLEDESC:
'Provides all capabilities in the SAS Add-In for Microsoft Office.'
},
{
ROLEURI: 'A59LNVZG.A500000A',
ROLENAME: 'Add-In for Microsoft Office: Analysis',
ROLEDESC: 'Provides basic data analysis, reporting, and other capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000B',
ROLENAME: 'Add-In for Microsoft Office: OLAP',
ROLEDESC:
'Supports viewing OLAP cubes in PivotTables and provides other capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500001E',
ROLENAME: 'BI Dashboard: Administration',
ROLEDESC: 'Provides SAS BI Dashboard administration capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000K',
ROLENAME: 'Comments: Administrator',
ROLEDESC: ''
},
{
ROLEURI: 'A59LNVZG.A5000010',
ROLENAME: 'Data Management: Lineage',
ROLEDESC: 'Provides default access to the SAS Lineage application.'
},
{
ROLEURI: 'A59LNVZG.A500001H',
ROLENAME: 'Decision Manager Common: Administration',
ROLEDESC: 'Decision Manager Common Administrative role'
},
{
ROLEURI: 'A59LNVZG.A500000C',
ROLENAME: 'Enterprise Guide: Advanced',
ROLEDESC: 'Provides all capabilities in SAS Enterprise Guide.'
},
{
ROLEURI: 'A59LNVZG.A500000D',
ROLENAME: 'Enterprise Guide: Analysis',
ROLEDESC: 'Provides basic data analysis, reporting, and other capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000E',
ROLENAME: 'Enterprise Guide: OLAP',
ROLEDESC:
'Supports viewing OLAP cubes in the OLAP Analyzer and provides other capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000F',
ROLENAME: 'Enterprise Guide: Programming',
ROLEDESC:
'Provides SAS programming, stored process authoring, and other capabilities.'
},
{
ROLEURI: 'A59LNVZG.A5000020',
ROLENAME: 'Factory Miner: Admin',
ROLEDESC: 'Provides Factory Miner Admin capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500001Z',
ROLENAME: 'Factory Miner: User',
ROLEDESC:
'Provides Factory Miner User capabilities to create projects and run models.'
},
{
ROLEURI: 'A59LNVZG.A500000S',
ROLENAME: 'Fonts Administrator',
ROLEDESC:
'Font Administrator can reload fonts to update the fonts metadata.'
},
{
ROLEURI: 'A59LNVZG.A500001L',
ROLENAME: 'Forecast Server: Administrator',
ROLEDESC: 'Provides capabilities for a Forecasting Administrator.'
},
{
ROLEURI: 'A59LNVZG.A500001J',
ROLENAME: 'Forecast Server: Analyst',
ROLEDESC: 'Provides capabiliites for a Forecasting Analyst.'
},
{
ROLEURI: 'A59LNVZG.A500001I',
ROLENAME: 'Forecast Server: Browser',
ROLEDESC: 'Provides basic forecasting viewing and reporting capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500001K',
ROLENAME: 'Forecast Server: Forecaster',
ROLEDESC: 'Provides capabilities for a Forecaster.'
},
{
ROLEURI: 'A59LNVZG.A5000011',
ROLENAME: 'Home: Administration',
ROLEDESC: 'Provides all capabilities for the home page (hub).'
},
{
ROLEURI: 'A59LNVZG.A5000012',
ROLENAME: 'Home: Usage',
ROLEDESC:
'Provides all non-administrative capabilities for the home page (hub).'
},
{
ROLEURI: 'A59LNVZG.A500000L',
ROLENAME: 'Job Execution: Job Administrator',
ROLEDESC:
'Provides all capabilities for the Job Execution Service, a component of the Web Infra Platform Services.'
},
{
ROLEURI: 'A59LNVZG.A500000N',
ROLENAME: 'Job Execution: Job Designer',
ROLEDESC: 'Provides job and task definition capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000O',
ROLENAME: 'Job Execution: Job Scheduler',
ROLEDESC: 'Provides job scheduling capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000M',
ROLENAME: 'Job Execution: Job Submitter',
ROLEDESC: 'Provides normal job submission capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500000Z',
ROLENAME: 'Lineage: Administration',
ROLEDESC:
'Provides all functionality related to administrative activities for the SAS Lineage application.'
},
{
ROLEURI: 'A59LNVZG.A5000006',
ROLENAME: 'META: Operators Role',
ROLEDESC:
'Supports adding repositories and operating the metadata server [implicit].'
},
{
ROLEURI: 'A59LNVZG.A5000004',
ROLENAME: 'META: Unrestricted Users Role',
ROLEDESC:
'Provides all capabilities in SAS Management Console and provides access to all metadata [implicit].'
},
{
ROLEURI: 'A59LNVZG.A5000005',
ROLENAME: 'META: User and Group Administrators Role',
ROLEDESC:
'Supports management of users, groups, and roles other than the unrestricted role [implicit].'
},
{
ROLEURI: 'A59LNVZG.A500000G',
ROLENAME: 'Management Console: Advanced',
ROLEDESC: 'Provides access to all plug-ins in SAS Management Console.'
},
{
ROLEURI: 'A59LNVZG.A500000H',
ROLENAME: 'Management Console: Content Management',
ROLEDESC:
'Provides access to the Folders tab, User Manager, Library Manager, and Authorization Manager.'
},
{
ROLEURI: 'A59LNVZG.A500001N',
ROLENAME: 'SAS Studio: Report Consumer',
ROLEDESC:
'Provides access to view or run existing SAS Studio reports without general access to SAS programming environment.'
},
{
ROLEURI: 'A59LNVZG.A500001M',
ROLENAME: 'SAS Studio: Usage',
ROLEDESC: 'Provides access to the SAS programming environment.'
},
{
ROLEURI: 'A59LNVZG.A500000R',
ROLENAME: 'Theme Designer: Administration',
ROLEDESC: 'Provides Theme Designer administration capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500001X',
ROLENAME: 'Time Series Studio: Administrator',
ROLEDESC:
'Enables administrator access to the product and features, including access to all product content regardless of ownership.'
},
{
ROLEURI: 'A59LNVZG.A500001Y',
ROLENAME: 'Time Series Studio: User',
ROLEDESC: 'Enables normal user access to the product and features.'
},
{
ROLEURI: 'A59LNVZG.A5000017',
ROLENAME: 'Visual Analytics: Administration',
ROLEDESC:
'Provides administrative capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'A59LNVZG.A5000015',
ROLENAME: 'Visual Analytics: Analysis',
ROLEDESC:
'If SAS Visual Statistics is licensed, provides the Build Analytical Model capability.'
},
{
ROLEURI: 'A59LNVZG.A5000018',
ROLENAME: 'Visual Analytics: Basic',
ROLEDESC:
'Provides functionality for guest access (if applicable) and entry-level users.'
},
{
ROLEURI: 'A59LNVZG.A5000016',
ROLENAME: 'Visual Analytics: Data Building',
ROLEDESC:
'Provides data preparation capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'A59LNVZG.A5000014',
ROLENAME: 'Visual Analytics: Report Viewing',
ROLEDESC:
'Provides report viewing capabilities in the Visual Analytics suite.'
},
{
ROLEURI: 'A59LNVZG.A500001B',
ROLENAME: 'Web Report Studio: Advanced',
ROLEDESC:
'Provides all capabilities in SAS Web Report Studio except the manage report distribution capability.'
},
{
ROLEURI: 'A59LNVZG.A500001A',
ROLENAME: 'Web Report Studio: Report Creation',
ROLEDESC: 'Provides report creation capabilities.'
},
{
ROLEURI: 'A59LNVZG.A5000019',
ROLENAME: 'Web Report Studio: Report Viewing',
ROLEDESC: 'Provides report viewing capabilities.'
},
{
ROLEURI: 'A59LNVZG.A500001R',
ROLENAME: 'mdlmgradminusage',
ROLEDESC: 'Provides ability to perform all Model Manager tasks'
},
{
ROLEURI: 'A59LNVZG.A500001S',
ROLENAME: 'mdlmgradvusage',
ROLEDESC:
'Provides the ability to perform all SAS Model Manager tasks, except for administrative tasks'
},
{
ROLEURI: 'A59LNVZG.A500001T',
ROLENAME: 'mdlmgrusage',
ROLEDESC:
'Provides the ability to perform all SAS Model Manager tasks, except for advanced or administrative tasks'
}
])
webout('CLOSE')
@@ -0,0 +1,44 @@
/**
* @file weboutGuard.js
* @brief Refuse a webout() member whose column metadata did not reach the response.
*
* The sasjs tree keeps this beside its other shared utilities in
* `sas/mocks/sasjs/services/dcMockUtils.js`; this tree is one file per service
* with no shared module, so the services that pass `{ showmeta }` - getdata,
* getcolvals and viewdata - load this file instead, to keep the rule in one
* place rather than copied into each of them.
*
* Call it immediately after the `webout('OBJ', ...)` that carried the option,
* and before `webout('CLOSE')`: a throw after CLOSE leaves a complete body
* behind and the server serves it - the caller then sees a normal response with
* SYSCC 0 while the metadata is missing, which is the failure this prevents.
*
* `showmeta` arrived in @sasjs/utils 4.6.0, and @sasjs/server only declares
* `^4.6.0` from 3.12.3 - an older pinned server accepts the fourth argument and
* ignores it, writing the rows and dropping the metadata without a word.
* Reading the output is how that becomes visible; an arity check
* (`webout.length`) stops counting at the first default parameter, so a runtime
* that does carry the option can report three and be refused wrongly.
*
* @param {string} bodyPath the response body the program is writing
* @param {string} member the member the caller wrote
*/
function requireMemberMetadata(bodyPath, member) {
let body = ''
try {
body = fs.readFileSync(bodyPath, 'utf8')
} catch (err) {
body = ''
}
if (body.indexOf('"$' + String(member).toLowerCase() + '"') >= 0) return
throw new Error(
"webout() did not emit the column metadata for '" +
member +
"', so the response would carry rows without their formats and labels. " +
'The options argument arrived in @sasjs/utils 4.6.0; @sasjs/server 3.12 ' +
'declares ^4.4.0 and can resolve 4.5.x. Reinstall the server, or upgrade ' +
'@sasjs/utils to 4.6.0 or later.'
)
}