--- 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 …` | 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 = , , ` (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,

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