ci-server-engineer/.claude/skills/reporting/tasks/output-devices.md
cliu bf7d88a027 R1.05 re-check batch 3: alarms, audit, authorization, classes, HAC, reporting, pyTOOLS
Full manual diffs (L15, C20, E30, L25, J40, C10 §2, L10, P10, P11, J20,
C30, P20, R40, E10) and read-only checks on the shared R1.05 test server.
Skills and summaries moved to R1.05; new skill pytools (IM 36K10P40) from
docs (no Python on the test server). Issues ISS-132..181; corrections to
version-differences (E10, E30, P11, dss_ath_grp_u0104); C10 summary lists
the 3 new authorization actions; r105-verification V10-V17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:21:36 +11:00

86 lines
4 KiB
Markdown

---
task: Send reports to a file - printer device and destination
version: R1.05 (first written for R1.03)
source: IM 36K10C30-01EN §2.2 (4th Edition, Feb. 2026); IM 36K10L50-01EN App. 1 (PRINTER_*); practiced on CI-Eng-Sample 2026-10-01
status: verified on R1.03 (2026-10-01); on R1.05 the PRINTER_* definitions are identical to R1.03 (file hashes, 2026-10-08), the 6 factory destinations (no devices) are the same (2026-10-09, read-only), and the sample's file device and destination loaded and were removed with 0 errors (2026-10-08, load check only); printing to the file not tested on R1.05
---
# Report output devices and destinations
A report goes to a **destination** (`PRINTER_DEST_DF`), which sends it to a primary (and optional
secondary) **device** (`PRINTER_DEV_DF`). Devices: FILE, HARDCOPY (Windows printer queue),
APPLICATION. Engineering Module: *Configuration > Reporting > Printers > Device / Destinations*.
The printer manager is `FMFPRT`.
## 1. Find the output types of this node
```
dssqld -e types.csv -d PRINTER_TYPE_DF -c
```
Names are `<node>:FILE`, `<node>:HARDCOPY`, `<node>:APPLICATION` (`<node>` = CI Server node name,
`NODE_NAME` in `LOCAL_NODE_DF`, e.g. `UNLICENCED` on an unlicensed system). A device needs the full
name; plain `FILE` is refused (`DSSP-E-NORELV`).
## 2. File device and destination
```
@FIELDS
NAME,DESCRIPTION,OUTPUT_TYPE,PARAMETERS,SUSPEND
@PRINTER_DEV_DF
"<DEVICE>","Report file","<node>:FILE","PATH,""<folder>"",FILE,""<file>.txt"",OVERWRITE,""Yes""",0
@FIELDS
NAME,DESCRIPTION,PRIMARY_DEVICE,POLICY,ALLOW_OPERATOR,PRIORITY
@PRINTER_DEST_DF
"<DEST>","Report file","<DEVICE>","None",1,0
```
`dssqld -i`. `<folder>` must be a literal path that exists (no `%variables%`: `FSL-E-PRT_PAR,
Invalid device parameter` in `umhlog.log`). `OVERWRITE "Yes"` keeps one file with the latest
report (`"No"` not tried). `ALLOW_OPERATOR` 1 also lists the destination in
`PRINTER_OPER_DEST_DF` (needed for `ADHOC_DEST` and the operator's generate/print dialogs).
`CI-Eng-Sample` builds this file at load time from `17_printer_df.tpl` (node name and
`%TLS_LST_PATH%` filled in by `17_printer_df.ps1`).
Printer instead of file: `OUTPUT_TYPE` `<node>:HARDCOPY`, `PARAMETERS`
`TYPE,"WINDOWS",QUEUE,"\\<server>\<printer>"` (+ `FONT`, `POINT`, `LINES`, `ORIENTATION`) — not
practiced (no printer).
## 3. Use it
Set `DEST_NAME` (scheduled/triggered runs) and `ADHOC_DEST` (ad-hoc runs) of the report to
`<DEST>`, or print a generated report (`define-reports.md` §4).
## 4. Check
```
dssqld -e jobs.csv -d PRINTER_JOB_OVV -c (job, file, submitter, status, destination, device)
dssqld -e devs.csv -d PRINTER_DEV_OVV -c (device status, e.g. Ready)
```
A job can show *Finished* even when the device failed; also read `%TLS_LOG_PATH%\umhlog.log`
(`From: FMFPRT`, `FSL-E-…`). The output file holds the text report as generated (HTML reports as
HTML source).
## 5. Remove
Remove (or repoint) the reports that use the destination, then the destination, then the device
(`DSSP-E-NODEL … still in use` otherwise). The output file is not deleted.
## R1.05 (2026-10-08/09)
- `<folder>`: use the real `TLS_LST_PATH` of the system (`set TLS`); on the R1.05 test server
it is under `C:\Yokogawa\CIServer\tls`, not `C:\Users\Public\Yokogawa\tls`.
`17_printer_df.ps1` fills it in from the environment, so the sample works on both.
- **Verified (R1.05 test server):** factory destinations `ALARMS`, `AUDIT_TRAIL`, `DEFAULT`,
`MESSAGES`, `PRINTER_1`, `SCREEN_CAPTURE`, no devices (as on R1.03, 2026-10-09); the sample's
device and destination loaded and were removed with 0 errors (2026-10-08).
- **Awaiting user verification:** a print to the file device on R1.05 (see `define-reports.md`
R1.05 section); expected job *Finished*, device *Ready*, the report text in the file.
## Verified (R1.03, 2026-10-01)
`CIENG_FILE` (`UNLICENCED:FILE`, `C:\Users\Public\Yokogawa\tls\lst\cieng_report.txt`, overwrite):
printed generated reports, scheduled, triggered and ad-hoc runs wrote the file; jobs *Finished*,
device *Ready*; `%TLS_LST_PATH%` in the path failed as above.