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