ci-server-engineer/.claude/skills/reporting/tasks/report-checks.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

68 lines
2.6 KiB
Markdown

---
task: Check REPORT Service (processes, set-up files, system reports) and stop a hanging report
version: R1.03
source: IM 36K10R40-01EN §1.3, §2.2, §2.3, §5; IM 36K10C30-01EN §4, App. 1.3; practiced on the test system 2026-10-01
status: verified
---
# REPORT Service checks
All read-only except `rptstp` (cancels one running report).
## 1. Processes
```
durwfp -p rptman -t 0 (errorlevel 0 = running)
tasklist /FI "IMAGENAME eq rpt*"
```
Default: `rptman.exe` (manager) and one `rptgen.exe` attached as `RPTGE1`. The `rpi*` info servers
are linked into the generator, so they do **not** run as processes unless `report_start.cmd` was
changed. REPORT Service is started by `%TLS_ROOT_PATH%\tls\com\report_start.cmd` and only if
HISTORY Service (`his`) runs.
## 2. Set-up files (`%TLS_ROOT_PATH%\tls\sup`)
| File | For | What to read |
|---|---|---|
| `rptman.sup` | Manager | `his = 0, HIS, 0`, `dur_queue_size = 500` |
| `rptge1.rpt` | Background generator `RPTGE1` | Page layout (`@page_size 66`, `@width 120`, margins), default header/footer, `@workspace 500`, `dictionary rpidis.'tlsdic';`, `login rptman;` (priority 0) — every report starts with this |
| `rptgen.rpt` | Interactive generator | No `login` (= interactive), `@page_size 23`, `@formfeed 0` |
| `rptgsp.rpt` | Spare generator, priority 9 | Not started by default |
Messages of the manager and printer manager go to `%TLS_LOG_PATH%\umhlog.log` (`--> From:
RPTMAN`, `FMFPRT`; codes `RPT-…`, `FSL-…`).
## 3. Defined and generated reports
```
@FIELDS
NAME,DESCRIPTION,PRIORITY,ADHOC_ENABLED,LIFE_TIME,ACTIVATION_TIME,GENERATION_INTERVAL,DEST_NAME,ADHOC_DEST,PARAM_PROMPT_1
@SELECT
@REPORT_DF
@FIELDS
NAME,REPORT_NAME,GENERATION_TIME,DELETION_TIME,USER_NAME,ACTION_PROCESS
@SELECT
@REPORT_VAL
```
`dssqld -e reports.csv <file>.qli -c`. A fresh R1.03 system has 28 system reports (all ad hoc,
lifetime 1 week, priority 0), listed in `IM36K10C30-01EN.md` §8. Add `QUERY` to the field list
(without `-c`) to read their RQL — useful examples.
## 4. Stop a hanging report
A report in an endless loop keeps its generator busy (`REPORT_DF.GENERATE` stays 1). Stop it:
```
rptstp rptge1
```
Verified: the loop stopped at once, `GENERATE` went back to 0, the generator stayed up and ran the
next report. An empty generated report remains; delete it (`define-reports.md` §6). From the
user side the manual names the *Cancel* button and `REPORT_DF.CANCEL` = 1 (not tried).
## Verified (2026-10-01)
`rptman` and `rptgen` running; `rpi*` lines commented out in `report_start.cmd`; set-up files as
above; 28 system reports; `rptstp rptge1` cancelled the test report `CIENG_LOOP`.