With the user's approval: item blocking and string length, alarm raise / acknowledge / delay / repeat and INFO event, report generate / print / item trigger / rptstp / SPOOL, class change and reset and attribute change. All results match R1.03 (ISS-028 still holds). Everything was removed again; before/after snapshot identical. ISS-129 and ISS-158 closed. Test package saved in examples/CI-Eng-Sample/shared/write_test; snapshot.ps1 now removes the dss_*.tmp files its own exports leave. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
87 lines
4.4 KiB
Markdown
87 lines
4.4 KiB
Markdown
---
|
|
task: Check REPORT Service (processes, set-up files, system reports) and stop a hanging report
|
|
version: R1.05 (first written for R1.03)
|
|
source: IM 36K10R40-01EN §1.3, §2.2, §2.3, §5 (4th Edition, Feb. 2026); IM 36K10C30-01EN §4, App. 1.3 (4th Edition, Feb. 2026); practiced on the test system 2026-10-01
|
|
status: verified on R1.03 (2026-10-01); on the R1.05 test server processes, set-up files, start/stop scripts, system reports and factory destinations checked read-only (2026-10-09); rptstp not re-tested on R1.05 (it cancels a running report on a shared server) Re-tested on R1.05 2026-10-09 on the shared test server with the user's approval (temporary sample records, everything removed, before/after snapshot identical): rptstp rptge1 stopped an endless LOOP report, GENERATE back to 0, RPTGE1 still attached (V12).
|
|
---
|
|
|
|
# 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.
|
|
|
|
**R1.05:** `report_start.cmd` ends by calling every `?*_report_start.cmd` in `tls\com`, and
|
|
`report_stop.cmd` calls every `?*_report_stop.cmd` before it stops `rpt*` / `rpi*` (change note
|
|
of Apr. 2025, not in the manual). Put site additions (e.g. an extra generator) in such a file
|
|
instead of editing the product script, which an upgrade may replace (ISS-121). Not tried.
|
|
|
|
## 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 or R1.05 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 (R1.03, 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`.
|
|
|
|
## Verified (R1.05 test server, 2026-10-09, read-only)
|
|
|
|
- Processes `rptman` and one `rptgen` (`RPTGE1`), no `rpi*` processes.
|
|
- `rptman.sup`, `rptge1.rpt`, `rptgen.rpt`, `rptgsp.rpt` byte-identical to R1.03 (same file
|
|
hashes); `rptman.sup` content as in §2. `rptini.sup` holds only an instance header and one
|
|
licence-like value (differs per installation).
|
|
- `report_start.cmd`: same steps as R1.03 plus the extension-script call above; `rpi*`, `rptge2`
|
|
and `rptgsp` lines still commented out.
|
|
- 28 system reports, same names as R1.03, all ad hoc, priority 0, lifetime 1 week, no schedule
|
|
or destination; only `SYSTEM_LOG_HTML` has `CONTAINS_HTML` 1.
|
|
- Factory destinations as on R1.03, no devices (`output-devices.md`).
|
|
- `rptstp` re-tested 2026-10-09 (V12, with approval): an endless `LOOP` report kept `GENERATE` 1;
|
|
`rptstp rptge1` (exit 0) stopped it, `GENERATE` went to 0 and `RPTGE1` stayed attached.
|