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>
86 lines
4 KiB
Markdown
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.
|