ci-server-engineer/.claude/skills/reporting/tasks/output-devices.md
cliu d7e30fa46e Add reporting skill and DSS tools task
New skill reporting: REPORT Service checks, interactive RQL, report
definitions by quick load, file output devices. New task
system-management/dss-tools.md: DSS processes, dss.sup, quick load
directives, dssutl, DSS compiler syntax check.

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

75 lines
2.9 KiB
Markdown

---
task: Send reports to a file - printer device and destination
version: R1.03
source: IM 36K10C30-01EN §2.2; IM 36K10L50-01EN App. 1 (PRINTER_*); practiced on CI-Eng-Sample 2026-10-01
status: verified
---
# 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.
## Verified (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.