New skill reporting: REPORT Service checks, interactive RQL, report definitions by quick load, file output devices. New task system-management/dss-tools.md: DSS processes, dss.sup, quick load directives, dssutl, DSS compiler syntax check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.5 KiB
| task | version | source | status |
|---|---|---|---|
| DSS (Data Set Services) checks and tools - processes, dss.sup, quick load directives, dssutl, DSS compiler syntax check | R1.03 | IM 36K10L50-01EN §1, §2.1, §2.2, §3, §4; IM 36K10P30-01EN §2, §3; practiced on the test system 2026-10-01 | verified |
DSS tools
Everything here is read-only except where marked. Background:
knowledge/manuals/IM36K10L50-01EN.md, IM36K10P30-01EN.md.
1. DSS processes and dss.sup
tasklist /FI "IMAGENAME eq dss*" — expect dsswth, dssana, dssanc, dssadb, dsslck,
dssman, dsschk (server) and several dsssda / dssevt (10 and 7 on a default R1.03 node).
durwfp -p dssman -t 0 tests one by its BUS Service name (DSSSDA00…, DSSSDAOPC00…,
DSSEVT00…). Started by tls\com\database_start.cmd; the number of general DSSSDA comes from
%TLS_MAX_SDA_ID% (default 3 → DSSSDA00–03).
%TLS_ROOT_PATH%\tls\sup\dss.sup (Setup File Editor or text): queue sizes, heartbeats, FLOWC,
and DSSSDA_SRV / DSSEVT_SRV lines <node|-1>, "<client process>", "<server process>" that tie
clients to server instances (* = all others). Changing it needs admin rights and a restart.
2. Quick load directives (dssqld)
Besides @FIELDS, @SELECT, @LANGUAGE and @<DATASET> (tasks export-dataset.md,
load-remove-records.md):
@LANGUAGE
ENGLISH
@MACRO
RPT_FIELDS,NAME,DESCRIPTION,ADHOC_ENABLED,LIFE_TIME,QUERY
@INCLUDE
"part2"
with part2.qli in the current folder starting @FIELDS / RPT_FIELDS / @<DATASET> … —
macros must come before any data; includes and macros nest up to 10 deep.
Memo fields (class methods, report queries, logbooks): inline @" … "@ (preferred), empty
@""@, or @"<file>"@. The file form is read by the server side: use an absolute path of at
most 82 characters (relative names fail with CRL-E-ENOENT, longer ones with
DSSG-E-STRBUFSMAL; ISS-046).
3. dssutl - read one record interactively
Menu tool on the primary index. Pipe the answers (Git Bash):
printf '1\n<dataset number>\n2\n2\n1\n1\n<primary key value>\n-1\n-1\n-1\n-1\n-1\n-1\n' | timeout 30 dssutl
= choose a data set › number from the list (first run printf '1\n-1\n-1\n' to see the
numbered list, e.g. REPORT_DF was 209) › choose a field set › all fields › read equal › enter
the key. Values are raw: dates in seconds since 1970 (local time), intervals as
<count>.<unit code> (10.1 = 10 minutes, 1.3 = 1 day, 1.4 = 1 week), memos as the path of
their container file. The Modify menu writes to the running system — use dssqld -m instead
unless the user asks for dssutl.
4. DSS compiler as a syntax checker
To check a .dss file (custom dataset or an edited copy) without touching the dictionary:
mkdir <scratch>\dss ; copy "%TLS_ROOT_PATH%\tls\src\*.dss" <scratch>\dss (or only your file + dss_global.dss)
cd <scratch>\dss
dss -l -w
Without -d the compiler only checks; results are in tlsdic_dss.lst (<file> (<line>,<col>): <message> and <n> errors found.). Never run dss -d without the user's approval: it rewrites
%TLS_DAT_PATH%\tlsdic_dss.dic (host node only) and needs a restart.
Verified (2026-10-01)
17 DSS processes as listed; installed dss.sup routing read; macro + include load of a report;
memo from file (relative fails, 125-character path fails, short absolute path works); dssutl
read of REPORT_DF record CIENG_TANK1; compiler check of all 253 installed files (0 errors,
dictionary unchanged) and of a test file with a missing > (1 error, line/column shown).