ci-server-engineer/knowledge/manuals/IM36K10R40-01EN.md
cliu 5e77aada8e Record phase 11 manuals, progress and issues ISS-043 to ISS-047
Summaries of IM 36K10L50, P30, P20, R40, C30 and E10 (R1.03).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 16:17:02 +10:00

77 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
manual: IM 36K10R40-01EN
title: Report Server Setup
edition: 3rd Edition, Sep. 2023
version: R1.03
status: processes, start/stop scripts, rptman.sup and the generator set-up files checked on the test system; interactive generator and rptstp verified 2026-10-01; separate server processes, extra generators and custom destinations from docs
---
# Report Server Setup (R1.03)
How REPORT Service is built and configured. Writing reports: `IM36K10P20-01EN.md` (RQL) and
`IM36K10C30-01EN.md` (Engineering Module). Section numbers refer to the manual.
## 1. Parts (§1)
| Block | Process | Job |
|---|---|---|
| Manager | `RPTMAN` | Stores report definitions, schedules (through HISTORY Service), event triggers and ad-hoc requests; hands generation to a generator; manages generated reports |
| Generator | `RPTGE1` (executable `rptgen`) | Runs the RQL of a report and writes the result; ad-hoc queries use copies of the generator |
| Report stopper | `rptstp <generator>…` | Cancels the report a generator is working on |
| Info servers (RPI) | `rpidic`, `rpidis` (DSS dictionary), `rpidix` (DSS data), `rpifil`, `rpiitm`, `rpihis`, `rpialm`, `rpievt`, `rpiopc`, `rpicif` | Fetch data for the generator; **linked into the generator by default** — separate processes only when the data lives on another node |
Default layout (installed): one node, servers linked into `rptgen`; `report_start.cmd` (in
`tls\com`) refuses to start when HISTORY Service is not running, then starts `rptman` and
`rptgen -n rptge1`. The separate `rpi*` lines and a second generator (`rptge2`) and `rptgsp`
are present but commented out. `report_stop.cmd` stops `rpt*` and `rpi*` with `durstp`.
Full functionality needs BUS, DATABASE, HISTORY, ITEM, AUDIT, PROCESS Services and INTEGRATION.
## 2. Setup files (§2.2)
- `tls\sup\rptman.sup` (manager): `HIS = <node>, <name>, <task>` (default `0, HIS, 0`),
`DUR_QUEUE_SIZE` (500 KB). `FPATH`/`SPATH` are not used. **Installed:** `his = 0, HIS, 0`,
`dur_queue_size = 500`. Also present: `rptini.sup` (only a licence-like value, undocumented).
- Generator set-up descriptions are RQL files with extension `.rpt`, named after the instance:
- `rptge1.rpt` (background generator) — installed: `@workspace 500`, `@page_size 66`,
`@width 120`, `@left_margin 1`, `@top_margin 1`, header (line, customer name centred,
description right, `Report of DD-MMM-YY`, line), footer (line, report name, `page n`, line),
`dictionary rpidis.'tlsdic';`, `login rptman;` (priority 0). Every background report gets
this layout unless its query overrides it.
- `rptgen.rpt` (interactive) — no `LOGIN` (that is what makes the generator interactive),
`@page_size 23`, `@formfeed 0`, `@workspace 100`.
- `rptgsp.rpt` — a spare generator with `login rptman, 9` (not started by default).
Documented defaults when a variable is not set: top 3, bottom 6, left/right 0, width 80
(40–512), page 72 (20–255), sort space 100 KB, workspace 500 KB (C30 and P20 say 16 KB, ISS-047).
- `DICTIONARY` in the set-up file chooses the dictionary server/node; default `rpidis.'tlsdic'`
(file `%TLS_DAT_PATH%\tlsdic_dss.dic`).
## 3. More generators (§2.4)
Add `start /B /NORMAL %TLS_ROOT_PATH%\tls\exe\rptgen -n rptge2` to `report_start.cmd` and a
`tls\sup\rptge2.rpt` ending with `LOGIN rptman, <p>;`. A generator only takes reports with a
priority ≥ its own; one generator must keep priority 0. Higher-priority reports are generated
first. Admin rights and a restart needed (not practiced).
## 4. Layout defaults (§3.1, §3.2)
Put shared header/footer/margins in the set-up file (or a new `.rpt` given with `-s`).
`@export 1` gives comma-separated output (for files read by other programs). Memory: `@workspace`
(strings, records), `@sortspace` (ORDER/GROUP BY; spills to `tls\lst` when too small).
## 5. Destinations (§3.3)
The Engineering Module offers file, printer and system log destinations; R1.03 adds printer
management devices and destinations (`IM36K10C30-01EN.md` §3). Adding a new built-in destination
means changing `rpt_print.c` (not shipped as buildable on the test system), re-linking `rptman`
and adding a list entry to `report_val.dss` (`dss -d`) — system integrator work, not practiced.
## 6. Interactive mode (§4) and stopping (§5)
`rptgen -s rptgen.rpt` starts a foreground generator (prompt `RPT>`); end with `QUIT;`. Useful to
try RQL and inspect datasets without defining a report. `rptstp rptge1` cancels the running
report of `RPTGE1` (also the *Cancel* button / `REPORT_DF.CANCEL`).
**Verified 2026-10-01:** piped input works (`rptgen -s rptgen.rpt < query.rql`), set
`SET @NEXT 0;` first or every page waits for Enter. `rptstp rptge1` stopped an endless loop
report within seconds; `GENERATE` went back to 0, an empty generated report was stored, the
generator stayed running and took the next report normally. Task: skill `reporting`.