ci-server-engineer/.claude/skills/system-management/tasks/dss-tools.md
cliu d7e30fa46e Add reporting skill and DSS tools task
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>
2026-10-01 16:17:02 +10:00

3.5 KiB
Raw Permalink Blame History

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).