feat(system): show session timezone on system information screen
Build / Build-and-ng-test (pull_request) Successful in 5m41s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m13s
Build / Build-and-test-development (pull_request) Successful in 25m42s

Add TIMEZONE, SYSTIMEZONEIDENT and SYSTIMEZONEOFFSET to the startupservice
globvars and display them in the Environment Details block, so the session
clock used to stamp submission timestamps is directly visible to admins.
This commit is contained in:
hermes committed 2026-09-04 12:15:01 +00:00
1 parent 1ad27d55f1
commit 966dc072e0
6 files changed
+38 -2

No files matched your search

+3
View File
@@ -160,6 +160,9 @@ export class AppService {
SYSHOSTINFOLONG: res.adapterResponse.SYSHOSTINFOLONG,
SYSENCODING: res.adapterResponse.SYSENCODING,
AUTOEXEC: res.adapterResponse.AUTOEXEC,
TIMEZONE: res.adapterResponse.globvars[0].TIMEZONE,
SYSTIMEZONEIDENT: res.adapterResponse.globvars[0].SYSTIMEZONEIDENT,
SYSTIMEZONEOFFSET: res.adapterResponse.globvars[0].SYSTIMEZONEOFFSET,
ISADMIN: res.adapterResponse.globvars[0].ISADMIN,
DC_ADMIN_GROUP: res.adapterResponse.globvars[0].DC_ADMIN_GROUP,
APP_LOC: dcAdapterSettings?.appLoc
@@ -10,6 +10,9 @@ export interface EnvironmentInfo {
SYSHOSTINFOLONG?: string
SYSENCODING?: string
AUTOEXEC?: string
TIMEZONE?: string
SYSTIMEZONEIDENT?: string
SYSTIMEZONEOFFSET?: string
ISADMIN?: number
DC_ADMIN_GROUP?: string
APP_LOC?: string
@@ -51,6 +51,24 @@
<p cds-text="label" class="m-0">
AUTOEXEC: <span class="dark">{{ environmentInfo?.AUTOEXEC }}</span>
</p>
<p cds-text="label" class="m-0">
TIMEZONE:
<span class="dark">{{
environmentInfo?.TIMEZONE || '(not set)'
}}</span>
</p>
<p cds-text="label" class="m-0">
SYSTIMEZONEIDENT:
<span class="dark">{{
environmentInfo?.SYSTIMEZONEIDENT || '(not set)'
}}</span>
</p>
<p cds-text="label" class="m-0">
SYSTIMEZONEOFFSET:
<span class="dark">{{
environmentInfo?.SYSTIMEZONEOFFSET || '0'
}}</span>
</p>
</div>
<div class="d-flex clr-justify-content-lg-center">
@@ -79,7 +79,10 @@ _webout=`{"SYSDATE" : "26SEP22"
"DC_ADMIN_GROUP": "Data Management Business Approvers",
"LICENCE_KEY": "",
"ACTIVATION_KEY": "",
"DC_RESTRICT_EDITRECORD": "NO"
"DC_RESTRICT_EDITRECORD": "NO",
"TIMEZONE": "Europe/London",
"SYSTIMEZONEIDENT": "Europe/London",
"SYSTIMEZONEOFFSET": "+0100"
}
]
,"xlmaps": [
@@ -120,7 +120,10 @@ const globvars = [
DC_ADMIN_GROUP: adminGroup,
LICENCE_KEY: licenceKey,
ACTIVATION_KEY: activationKey,
DC_RESTRICT_EDITRECORD: 'NO'
DC_RESTRICT_EDITRECORD: 'NO',
TIMEZONE: 'Europe/London',
SYSTIMEZONEIDENT: 'Europe/London',
SYSTIMEZONEOFFSET: '+0100'
}
]
@@ -69,6 +69,12 @@ data work.globvars;
licence_key="&dc_licence_key";
activation_key="&dc_activation_key";
dc_restrict_editrecord="&dc_restrict_editrecord";
/* session timezone. Blank TIMEZONE means timestamps are stamped with the
raw OS clock, which is UTC in Viya containers when the option is unset. */
length timezone systimezoneident $32;
timezone=getoption('TIMEZONE');
systimezoneident=symget('SYSTIMEZONEIDENT');
systimezoneoffset=symget('SYSTIMEZONEOFFSET');
run;