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>
81 lines
3.5 KiB
Markdown
81 lines
3.5 KiB
Markdown
---
|
||
task: DSS (Data Set Services) checks and tools - processes, dss.sup, quick load directives, dssutl, DSS compiler syntax check
|
||
version: R1.03
|
||
source: IM 36K10L50-01EN §1, §2.1, §2.2, §3, §4; IM 36K10P30-01EN §2, §3; practiced on the test system 2026-10-01
|
||
status: 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).
|