Phase 11: Data Set Service and reporting #12
8 changed files with 33 additions and 15 deletions
|
|
@ -38,7 +38,7 @@ Rules:
|
|||
|---|---|---|
|
||||
| Check REPORT Service: processes, set-up files, system reports, stop a hanging report (`rptstp`) | `tasks/report-checks.md` | verified |
|
||||
| Try RQL in the interactive generator (`rptgen -s rptgen.rpt`), CSV with `SPOOL` | `tasks/rql-interactive.md` | verified |
|
||||
| Define reports by quick load (ad hoc with parameters, schedule, item trigger, HTML, logbook); generate, read, print, delete; remove | `tasks/define-reports.md` | verified (command line); Engineering Module forms awaiting the user's check |
|
||||
| Define reports by quick load (ad hoc with parameters, schedule, item trigger, HTML, logbook); generate, read, print, delete; remove | `tasks/define-reports.md` | verified (command line and Engineering Module) |
|
||||
| Report output to a file: printer device and destination | `tasks/output-devices.md` | verified |
|
||||
| Report component on a display; Operator Interface generate/view | C30 summary §5 | from docs |
|
||||
| Hardcopy printers, application devices, more generators, separate RPI servers | C30 summary §3, R40 summary §1, §3 | from docs |
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
task: Define reports by quick load (ad hoc with parameters, schedule, item trigger, HTML, logbook); generate, read, print and delete generated reports; remove reports
|
||||
version: R1.03
|
||||
source: IM 36K10C30-01EN §2.1, §2.3.1, §3, App. 1; IM 36K10L50-01EN App. 1 (REPORT_DF, REPORT_VAL); IM 36K10P20-01EN; practiced on CI-Eng-Sample 2026-10-01
|
||||
status: verified (command line); Engineering Module forms awaiting the user's check
|
||||
status: verified
|
||||
---
|
||||
|
||||
# Define and run reports
|
||||
|
|
@ -127,6 +127,14 @@ NAME,ACTIVATION_TIME,GENERATION_INTERVAL
|
|||
`CIENG_TANK1` (parameter `[ITEM:…]`, daily 06:00 with `CORRECT_DAYLIGHT` 1, ad-hoc destination),
|
||||
`CIENG_INFLOW_HI` (trigger `TANK1.INFLOW` > 400, delay 5 s) and `CIENG_HTML` (cursor loop, HTML,
|
||||
logbook) loaded, generated (ad hoc with `@P0` = `TANK1.INFLOW`, by trigger 5 s after the write, by
|
||||
schedule), read, printed to `CIENG_FILE`, deleted; full sample remove/reload with 0 errors. Not yet
|
||||
checked by the user: the same reports in the Engineering Module forms (generate dialog with the
|
||||
item pick list, *View* of the HTML report).
|
||||
schedule), read, printed to `CIENG_FILE`, deleted; full sample remove/reload with 0 errors.
|
||||
|
||||
Engineering Module (checked by the user 2026-10-01): the forms show the loaded fields (General:
|
||||
*Report destination* = `DEST_NAME`, no field for `ADHOC_DEST`; Query with Structure / Keywords /
|
||||
Datasets panes; Time scheduling with *Correct for daylight saving*; Item triggering). Right-click ›
|
||||
*Generate* opens a dialog with *Destination* (preset `<None>`, `ADHOC_DEST` is not pre-selected) and
|
||||
one field per parameter prompt; an `[ITEM:…]` prompt gives an item tree browser, but the filter did
|
||||
**not** limit it (whole tree shown, ISS-048). The run is made by the logged-in user (`ADMIN`, process
|
||||
`JHMISET…`) and printed to the chosen destination without errors. Generated reports are listed under
|
||||
the report by local time; *View* has its own *Destination* box and *Export…*; HTML reports render as
|
||||
HTML.
|
||||
|
|
|
|||
|
|
@ -83,6 +83,10 @@ prompt. Setup files (`*.sup`) are plain text (CRLF); edit them with the Setup Fi
|
|||
(observed 2026-10-01: a run started 17:25 ran out at 09:52 the next morning after a sleep);
|
||||
some processes (e.g. `umh`) stay attached, but `dssqld`/`itmval` fail and the log shows
|
||||
`ISF-F-LIC_PROB, DATABASE Service is not licensed`.
|
||||
- `Stop-Service StartCIServer` can fail with *Cannot stop StartCIServer service* although CI
|
||||
Server does restart (seen 2026-10-01: the error was shown, the service stayed *Running*, and all
|
||||
processes had new PIDs and a new `STARTUP_TIME` in `LOCAL_NODE_DF` within a minute). Check
|
||||
`STARTUP_TIME` before retrying.
|
||||
- **Close the Edit Module (and Engineering Module) before stopping CI Server.** A local Edit
|
||||
Module is attached to the BUS Service (`JWUIGED<pid>`, a `java.exe` in the user's session) and
|
||||
does not stop with the service. The next start then aborts at once; `%TLS_LOG_PATH%\ci_start.log`
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ ENGLISH
|
|||
! Report names: at most 16 characters.
|
||||
!
|
||||
! CIENG_TANK1 : values of all TANK1 items plus last-hour statistics of one item (parameter
|
||||
! @p0, picked from a list of TANK1 items); daily at 06:00 local time and ad hoc.
|
||||
! @p0, chosen in an item browser; its filter does not limit it, ISS-048); daily at 06:00.
|
||||
! The activation time lies in the past; CI Server moves it to the next 06:00.
|
||||
! CORRECT_DAYLIGHT 1 keeps 06:00 across daylight-saving changes (with 0 the
|
||||
! interval runs in UTC and 06:00 in January became 05:00 in October).
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ cmd /c "<repo>\examples\CI-Eng-Sample\remove.cmd"
|
|||
| `CIENG_TANK1` | Alarm selection area | `SECTION = "CI-Eng-Sample.TANK1"`, compiled on load |
|
||||
| `CIENG_VIEWER` | Authorization group | Read-only: `ITEM_READ`, `SECTION_READ`, `ALARM_CURRENT_READ`, `ALARM_CHRONO_READ`. No users are created by the sample. |
|
||||
| `CIENG_FILE` | Printer device + destination | FILE output to `%TLS_LST_PATH%\cieng_report.txt` (overwritten by each printed report); destination visible to operators |
|
||||
| `CIENG_TANK1` | Report | Values of the `TANK1` items + last-hour statistics of one item (ad-hoc parameter, pick list of `TANK1` items, default `LEVEL`); daily 06:00 local time and ad hoc; output `CIENG_FILE`; lifetime 1 week |
|
||||
| `CIENG_TANK1` | Report | Values of the `TANK1` items + last-hour statistics of one item (ad-hoc parameter chosen in an item browser, default `LEVEL`); daily 06:00 local time and ad hoc; output `CIENG_FILE`; lifetime 1 week |
|
||||
| `CIENG_INFLOW_HI` | Report | Generated 5 s after `TANK1.INFLOW` rises above 400; output `CIENG_FILE` |
|
||||
| `CIENG_HTML` | Report | Ad hoc; `TANK1` values as an HTML table (cursor loop) plus the logbook text |
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
|
|||
| ISS-042 | 2026-10-01 | GRAPHICS (layouts) | Installed vs `Layouts.readme`: the factory layouts use status line item types `displayName`, `playbackIndicator` and `dateTime` and the commands `reload <frame>` / `reload all`, none of which the readme lists (readme: `statusText`, `userName`, `progresBar`, `graphicsQueueLevel`, `connectionState`); the readme also writes `zooom` for the zoom command (factory files use `zoom`). | open | Installed software is the reference (standing user decision). Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §2 |
|
||||
| ISS-043 | 2026-10-01 | REPORT (system reports) | IM 36K10C30 App. 1.3 names two system reports `ALM_ATTS_CUR` and `ALM_ATRS_HIS`; the installed reports are `ALM_ATTRS_CUR` and `ALM_ATTRS_HIS`. The other 26 names match. | open | Installed software is the reference (standing user decision). Close when the user confirms. | `knowledge/manuals/IM36K10C30-01EN.md` §8 (done) |
|
||||
| ISS-044 | 2026-10-01 | REPORT (scheduling) | Behaviour not in the manuals, found by quick load: a generation interval below 10 minutes is refused (`HIS-E-ROLLTOFAST`, the interval is the rollover of the report's storage group); a scheduled report cannot be deleted (`RPT-E-ACTIVE`) until `ACTIVATION_TIME` and `GENERATION_INTERVAL` are cleared; `CORRECT_DAYLIGHT` 0 counts intervals in UTC (06:00 set for January ran at 05:00 in October); a past activation time moves to the next slot - once (modify, past time within the lifetime) a single report labelled with the old time was generated, at insert with an older time none. | open | Documented as verified behaviour; the one-off generation for a past activation time is not fully understood. Close when the user confirms. | `.claude/skills/reporting/tasks/define-reports.md` §1, §5, §6; `knowledge/manuals/IM36K10C30-01EN.md` §2; `examples/CI-Eng-Sample/83a_stop_report_df.qli`, `18_report_df.qli` |
|
||||
| ISS-045 | 2026-10-01 | REPORT (ad hoc from `dssqld`) | Generating ad hoc with `REPORT_DF.GENERATE` = 1 from `dssqld` (user `FULL AUTHORIZATION`) on a report without `ADHOC_DEST` logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user (FULL AUTHORIZATION)` and `RPT-I-TRYPRINT` in `umhlog.log`; the generated report is stored normally. With `ADHOC_DEST` set no error appears and the device gets the output. Related to the R1.03 known issue on report generation and default printers (IM 36K01A50, REPORT 1.11). | open | Workaround documented (set `ADHOC_DEST`). Check whether an ad-hoc run from the Engineering Module as a real user behaves the same. | `.claude/skills/reporting/tasks/define-reports.md` §2; `knowledge/manuals/IM36K10C30-01EN.md` §6 |
|
||||
| ISS-045 | 2026-10-01 | REPORT (ad hoc from `dssqld`) | Generating ad hoc with `REPORT_DF.GENERATE` = 1 from `dssqld` (user `FULL AUTHORIZATION`) on a report without `ADHOC_DEST` logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user (FULL AUTHORIZATION)` and `RPT-I-TRYPRINT` in `umhlog.log`; the generated report is stored normally. With `ADHOC_DEST` set no error appears and the device gets the output. Related to the R1.03 known issue on report generation and default printers (IM 36K01A50, REPORT 1.11). | open | Workaround documented (set `ADHOC_DEST`). 2026-10-01: generating from the Engineering Module as user `ADMIN` with destination `CIENG_FILE` printed without errors, so it only affects runs from `dssqld`. Close when the user confirms. | `.claude/skills/reporting/tasks/define-reports.md` §2; `knowledge/manuals/IM36K10C30-01EN.md` §6 |
|
||||
| ISS-046 | 2026-10-01 | DATABASE (`dssqld` memo) | A memo field loaded from a file (`@"<file>"@`, IM 36K10L50 §3.10) fails with a relative name (`CRL-E-ENOENT`, the file is read on the server side) and with a long absolute path (`DSSG-E-STRBUFSMAL`, buffer 83); a short absolute path works. The manual gives no limits. | open | Documented: use inline memos, or an absolute path ≤ 82 characters. Close when the user confirms. | `.claude/skills/system-management/tasks/dss-tools.md` §2; `knowledge/manuals/IM36K10L50-01EN.md` §4 |
|
||||
| ISS-047 | 2026-10-01 | REPORT (RQL manuals) | The manuals disagree: default `@WORKSPACE` 500 KB (IM 36K10R40 §2.2.2) vs 16 KB (IM 36K10C30 table 2.1-1, IM 36K10P20 §9.6); maximum `@WIDTH` 512 (R40, P20 §4) vs 5000 (P20 §9.6); `@FORMFEED` described with opposite meanings (C30: not 1 = form feed; P20: 0 = blank lines, default 1). Installed set-up files set `@workspace` explicitly (500 in `rptge1.rpt`, 100 in `rptgen.rpt`) and `@formfeed 0` for the interactive generator. | open | Not tested (no printer); the set-up files make the defaults irrelevant in practice. | `knowledge/manuals/IM36K10R40-01EN.md` §2; `knowledge/manuals/IM36K10P20-01EN.md` §3 |
|
||||
| ISS-048 | 2026-10-01 | REPORT (ad-hoc parameters) | The prompt `[ITEM:NAME like "CI-Eng-Sample.TANK1.*"]Item for statistics:` (filter form as in IM 36K10C30 §2.1) gives an item tree browser in the Engineering Module generate dialog, but the tree shows all sections, not only `TANK1` items (checked by the user). | open | Try other filter forms (`%` wildcard, `SECTION = …`, `[ITEM:TAG="…"]`) and the display report component. | `.claude/skills/reporting/tasks/define-reports.md`; `knowledge/manuals/IM36K10C30-01EN.md` §2; `examples/CI-Eng-Sample/18_report_df.qli` comment |
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ manual: IM 36K10C30-01EN
|
|||
title: Engineering Module - Reporting
|
||||
edition: 3rd Edition, Sep. 2023
|
||||
version: R1.03
|
||||
status: report definitions (ad hoc with parameters, schedule, item trigger, HTML, logbook), generated reports, file device and destination verified by quick load on CI-Eng-Sample 2026-10-01; Engineering Module forms awaiting the user's check; report component in displays and hardcopy printers from docs
|
||||
status: report definitions (ad hoc with parameters, schedule, item trigger, HTML, logbook), generated reports, file device and destination verified by quick load on CI-Eng-Sample 2026-10-01; Engineering Module forms, generate and view checked by the user; report component in displays and hardcopy printers from docs
|
||||
---
|
||||
|
||||
# Engineering Module - Reporting (R1.03)
|
||||
|
|
@ -43,7 +43,9 @@ lifetime.
|
|||
|
||||
Parameter prompt meta-information (makes a pick list in the generate dialog): `[ITEM:<filter>]`,
|
||||
`[OBJECT:<class>:<filter>]`, `[DATE]`, `[TIME]`, `[DATE:TIME]`, `[LIST:a:b:c]`, followed by the
|
||||
prompt text, e.g. `[ITEM:NAME like "CI-Eng-Sample.TANK1.*"]Item for statistics:`. The installed
|
||||
prompt text, e.g. `[ITEM:NAME like "CI-Eng-Sample.TANK1.*"]Item for statistics:`. **Installed:** the
|
||||
`[ITEM:…]` prompt opens an item tree browser in the generate dialog, but the filter did not limit
|
||||
the tree (ISS-048). The installed
|
||||
system reports use lower case (`[item]`, `[date:time]`, `[list:Days:Hours:Minutes]`).
|
||||
|
||||
Query editor: *Ctrl+Space* lists keywords, datasets and fields. Basics of RQL (§2.1) are
|
||||
|
|
@ -101,8 +103,8 @@ Logbook on a display needs *Logbook Enabled* and *Visible* in the report. Not pr
|
|||
|
||||
## 6. Generating and viewing (§3)
|
||||
|
||||
- Engineering Module: right-click a report › *Generate* (choose destination, answer
|
||||
parameters) › right-click a generated report › *View* (*Scroll Form-Feeds* for multi-page).
|
||||
- Engineering Module: right-click a report › *Generate* (choose destination - preset `<None>`, the
|
||||
report's `ADHOC_DEST` is not pre-selected - and answer parameters) › right-click a generated report › *View* (*Scroll Form-Feeds* for multi-page).
|
||||
- Operator interface: display with the report component (*Generate* / *View* tabs, print).
|
||||
- Command line: `REPORT_DF` `NAME,PARAM_VALUE_1,GENERATE` = `"<report>","<answer>",1` with
|
||||
`dssqld -m`; read `REPORT_VAL` (`NAME` = `<report>.<DD-MON-YY hh:mm:ss>`, `REPORT` memo,
|
||||
|
|
@ -113,7 +115,10 @@ Logbook on a display needs *Logbook Enabled* and *Visible* in the report. Not pr
|
|||
**Verified:** ad-hoc runs from `dssqld` are made by user `FULL AUTHORIZATION`; without an ad-hoc
|
||||
destination `RPTMAN` then logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user` (the report is
|
||||
still stored; ISS-045). With `ADHOC_DEST` set the output went to the device without errors.
|
||||
Scheduled and triggered runs are made by `RPTMAN` and print to `DEST_NAME`.
|
||||
Scheduled and triggered runs are made by `RPTMAN` and print to `DEST_NAME`. Generated from the
|
||||
Engineering Module the run is made by the logged-in user (`ADMIN`, process `JHMISET…`) and printed
|
||||
to the chosen destination without errors; *View* lists generated reports by local time and has a
|
||||
*Destination* box and *Export…*.
|
||||
|
||||
## 7. Tuning (§4)
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ AID is not needed.
|
|||
| 11 | IM 36K10P30 | Data Set Service Language | summarized; compiler used as syntax check on a copy (no dictionary change) ([notes](manuals/IM36K10P30-01EN.md)) |
|
||||
| 11 | IM 36K10P20 | Report Generation Language | done for queries, layout, cursors/loops, functions, SPOOL/CSV, HTML; SEND/RECEIVE, BREAK, INCLUDE, FLAG PAGE from docs ([notes](manuals/IM36K10P20-01EN.md)); skill `reporting` |
|
||||
| 11 | IM 36K10R40 | Report Server Setup | done for processes, set-up files, interactive generator, `rptstp`; extra generators, separate RPI servers, custom destinations from docs ([notes](manuals/IM36K10R40-01EN.md)) |
|
||||
| 11 | IM 36K10C30 | Engineering Module - Reporting | done by quick load for report definitions (ad hoc + parameters, schedule, item trigger, HTML, logbook), generated reports and a file device/destination; Engineering Module forms awaiting the user's check; report component in displays and hardcopy printers from docs ([notes](manuals/IM36K10C30-01EN.md)) |
|
||||
| 11 | IM 36K10C30 | Engineering Module - Reporting | done by quick load for report definitions (ad hoc + parameters, schedule, item trigger, HTML, logbook), generated reports and a file device/destination; Engineering Module forms, generate and view checked by the user; report component in displays and hardcopy printers from docs ([notes](manuals/IM36K10C30-01EN.md)) |
|
||||
| 11 | IM 36K10E10 | Excel Add-in | summarized, from docs (Excel not installed on the test system) ([notes](manuals/IM36K10E10-01EN.md)) |
|
||||
| 12 | IM 36K10L25 | Audit Trail Management | not started |
|
||||
| 13 | IM 36K10J20 | High Availability Computing | not started (needs two servers) |
|
||||
|
|
@ -137,7 +137,7 @@ now come before classes and objects (phase 6), and the other interfaces follow a
|
|||
| R30/C50/C60 | Dataset forms, symbols, AOG library, dual screen, per-user layouts | not practiced | n/a | GUI work; user profiles not changed. |
|
||||
| R40/C30 | REPORT Service checks: processes, set-up files (`rptman.sup`, `rptge1.rpt`, `rptgen.rpt`), system reports, `rptstp` ([task](../.claude/skills/reporting/tasks/report-checks.md)) | passed | n/a | Read-only plus one cancel: `rptstp rptge1` stopped the endless-loop test report `CIENG_LOOP` (removed). 28 system reports; two names differ from the manual (ISS-043). |
|
||||
| R40/P20 | RQL in the interactive generator (`rptgen -s rptgen.rpt`), CSV with `SPOOL` ([task](../.claude/skills/reporting/tasks/rql-interactive.md)) | passed | passed | Piped query files (bash `<`, PowerShell via `cmd /c`); `@NEXT 0` needed; dates are local-time seconds; LOOP refused interactively (`RPT-E-LPNOTAL`); aggregated history empty on the test system. |
|
||||
| C30/P20 | Report definitions by quick load: ad hoc with parameters, daily schedule, item trigger, HTML with cursor loop, logbook; generate, read, print, delete; remove ([task](../.claude/skills/reporting/tasks/define-reports.md)) | practiced, awaiting confirmation | passed | `CIENG_TANK1`, `CIENG_INFLOW_HI`, `CIENG_HTML` + destination `CIENG_FILE`; full sample remove/reload 0 errors. Schedule ≥ 10 min, scheduled report not deletable until the schedule is cleared, `CORRECT_DAYLIGHT` (ISS-044); `dssqld` ad hoc without `ADHOC_DEST` logs a print error (ISS-045). Engineering Module forms still to be checked by the user. |
|
||||
| C30/P20 | Report definitions by quick load: ad hoc with parameters, daily schedule, item trigger, HTML with cursor loop, logbook; generate, read, print, delete; remove ([task](../.claude/skills/reporting/tasks/define-reports.md)) | passed | passed | `CIENG_TANK1`, `CIENG_INFLOW_HI`, `CIENG_HTML` + destination `CIENG_FILE`; full sample remove/reload 0 errors. Schedule ≥ 10 min, scheduled report not deletable until the schedule is cleared, `CORRECT_DAYLIGHT` (ISS-044); `dssqld` ad hoc without `ADHOC_DEST` logs a print error (ISS-045). User checked the Engineering Module: forms, generate dialog (item browser not filtered, ISS-048), view of text and HTML reports. |
|
||||
| C30 | File printer device and destination ([task](../.claude/skills/reporting/tasks/output-devices.md)) | passed | passed | Output type needs the node name (`<node>:FILE`); literal path only (`%TLS_LST_PATH%` failed). Sample builds the file at load (`17_printer_df.ps1`). |
|
||||
| L50/P30 | DSS tools: processes, `dss.sup`, quick load macro/include/memo file, `dssutl` read, DSS compiler syntax check ([task](../.claude/skills/system-management/tasks/dss-tools.md)) | passed | n/a | Memo from file: absolute path ≤ 82 characters only (ISS-046). Dictionary untouched. |
|
||||
| C30 | Report component on a display, hardcopy printer, extra report generators | not practiced | n/a | GUI / no printer / admin restart. |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue