Summaries of IM 36K10L50, P30, P20, R40, C30 and E10 (R1.03). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
77 lines
4.8 KiB
Markdown
77 lines
4.8 KiB
Markdown
---
|
||
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`.
|