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>
87 lines
7.1 KiB
Markdown
87 lines
7.1 KiB
Markdown
---
|
||
task: Read-only checks of ALARM Service; generate an informational test event
|
||
version: R1.05 (first written for R1.03)
|
||
source: IM 36K10L15-01EN §1, §2.6, §3.4, §4.3, §6; IM 36K10C20-01EN §A7 (4th editions, Feb. 2026; content as in the 3rd editions, Sep. 2023); practiced on the R1.03 test system 2026-10-01 and read-only on the R1.05 test server 2026-10-09
|
||
status: verified on R1.03 (2026-10-01). R1.05 - verified (R1.05 test server, 2026-10-09): processes, durwfp, active setup-file lines, almdbg 1/9/12, alhdbg 1, predefined ack types and the ALH storage group; setup files, templates and alarm dataset definitions compared by hash with R1.03 (identical except the files in §5). The INFO event (§4) was not generated on R1.05 (it writes to the shared alarm history).
|
||
---
|
||
|
||
# ALARM Service checks
|
||
|
||
## 1. Processes and setup files (read-only)
|
||
|
||
| Check | How | R1.03 result | R1.05 result (2026-10-09) |
|
||
|---|---|---|---|
|
||
| Processes | `tasklist` → `alm.exe`, `alh.exe`, `aldprt.exe`, `alnmgr.exe`, `alnsmtp.exe`, `asbman.exe`; `durwfp -p ALM -t 0` → exit code 0 = attached | All six running (`tls\com\alarm_start.cmd`) | Same six running, `durwfp` 0 for each; `alnsms` and `aldcnt` not running (not started by default) |
|
||
| Kernel setup | `%TLS_ROOT_PATH%\tls\sup\alm.sup` (active lines after `!ENDDEFAULT`) | `SYNC_COMM N`, `SYNC_MSG N`, `QUESIZE 25000`, `RECOVER_QUEUE Y`, `ACK_INFO` | Identical |
|
||
| Storage setup | `alh.sup` | `CURP`, `CURT`, `CHR`, `QUESIZE 8000`, `MAX-SEARCH 5`, `RECOVER_QUEUE Y`, `DB-JRNL WAL`, `DB-SYNC OFF` | Identical |
|
||
| Alarm printer | `aldprt.sup` | `FORMAT prio,2,spac,1,type,6,tdef,18,name,40,text,10`, `EVENTS repeat,info,ackn,alarm,prio,firstup` | Identical |
|
||
| Overview events | `wfladi.sup` `EVENTS` | `alarm,repeat,ackn,deact,info,recov,diag,firstup` (no `DIRECT`) | Identical |
|
||
| Notification / shelving | `alnmgr.sup`, `alnsmtp.sup`, `alnsms.sup`, `asbman.sup` | Defaults: SMTP `localhost, 25`, SMS `COM1:`, `SYS_WIDE_SHELF N` | Same, but `alnsms.sup` has a new message format and prefix (§5) |
|
||
| History storage group | `dssqld -e` filter `'NAME = "ALH"'` on `HIS_GROUP_DF` | Type Alarm, rollover 1 day, lifetime 52 weeks | Same on a fresh install, so 52 weeks is the installed default, not a local change (the C20 manual says 2 days; ISS-036, ISS-135) |
|
||
| Definitions | `dssqld -e <out> -d ALARM_ACK_DF -c` (also `ALARM_AOI_DF`, `ALARM_ASA_DF`, `ALARM_FO_DF`, `ALARM_FU_DF`, `ALARM_PRIORITY_DF`, `EXTERNAL_ALARM_DF`, `STATUS_DF`) | Predefined ack types `AUTOMATIC`, `MANUAL`, `FULLMANUAL` and their `_EAL` variants; everything else is project data | Same six predefined ack types (32 matrix fields `NA_N` … `A3N_A3`) |
|
||
|
||
Export only the small definition datasets this way. Never export `ALARM_CHRONO` without a
|
||
narrow filter on a shared or production server (skill rule, ISS-136).
|
||
|
||
## 2. Alarm kernel debugger `almdbg` (read-only options)
|
||
|
||
Interactive; pipe the answers and end with `-1` (from bash, with a timeout):
|
||
|
||
```
|
||
printf '1\n9\n12\n-1\n' | timeout 20 almdbg
|
||
printf '14\n<Section>.<Tag>\n10\n<ack type number>\n-1\n' | timeout 20 almdbg
|
||
```
|
||
|
||
In a PowerShell script, put the answers in a file (one per line, no blank lines) and start
|
||
`almdbg.exe` with `Start-Process -RedirectStandardInput <file> -RedirectStandardOutput <file>
|
||
-NoNewWindow -PassThru`, then wait with a timeout (`WaitForExit(25000)`).
|
||
|
||
| Option | Shows |
|
||
|---|---|
|
||
| 1 | Connected destinations, events sent, overflows (R1.03 test system: `ALH`, `OPXUAS`, `ALNMGR`, `ALDPRT`; R1.05 test server: the same plus `WFLADI` while an alarm overview is open) |
|
||
| 5 / 7 / 8 / 23 | First-out groups, first-out / continuation items, collections |
|
||
| 9 / 10 | Ack type numbers (R1.05 fresh install: 1–6) / matrix of one type (`A` automatic, `M` manual) |
|
||
| 11 | Items with repeat or delay running |
|
||
| 12 | Statistics: start time, item-based / non-item-based / external events received, events sent, list sizes (R1.05 output also shows a counter *non-item-based events 2*) |
|
||
| 14 | Item alarm parameters: monitoring, diagnostic, ack type number, collection, first-out, repeat, delay |
|
||
|
||
The menu range is −1 … 28 on both versions. The last `-1` makes DURTIM log
|
||
`DUR-W-REM_PROC, Process ALMDBG_<pid> exited unexpectedly` in `umhlog.log`: harmless. A blank
|
||
answer takes the default shown in brackets; an empty line at the main prompt repeats the
|
||
previous action — never send blank lines blindly.
|
||
|
||
## 3. Storage debugger `alhdbg`
|
||
|
||
`printf '1\n-1\n' | timeout 10 alhdbg` → storage groups with current unit, cell and start
|
||
time (R1.03 and R1.05: group 3). Option 2 lists the units of one group. Options 3 (force
|
||
connect) and 4 (stop ALH) only with approval. Menu range −1 … 4 on both versions.
|
||
|
||
## 4. Generate an informational test event (`almdbg` 16)
|
||
|
||
Changes the alarm history (adds one INFO event; no effect on current alarms). With approval,
|
||
and only on a system where an extra history record does not matter:
|
||
|
||
```
|
||
printf '16\n\n0\n15\n<Section>.<Tag>\n<status text>\n<description>\n-1\n' | timeout 15 almdbg
|
||
```
|
||
|
||
Prompts: timestamp (blank = now), milliseconds, priority (0–15), name, status text,
|
||
description. Check with a filter `'EVENT_TYPE = "INFO"'` (plus a time range) on `ALARM_CHRONO`.
|
||
|
||
**Verified (R1.03):** the event appears with `EVENT_TYPE` INFO, `ITEM_NAME` = the given name,
|
||
`ALARM_TEXT` = status text, `DESCRIPTION` = description, priority 15, ack 1. Other text columns
|
||
(`INSTALL`, `UNIT`, `SUB`, `SOURCE`, `CATEGORY`, `CONDITION`) contain leftovers or unreadable
|
||
characters (ISS-037): use the event only as a test marker. Not run on R1.05.
|
||
|
||
## 5. What changed in the installed files on R1.05
|
||
|
||
Compared with R1.03 by file hash (2026-10-08) and line by line (2026-10-09):
|
||
|
||
| File | Change |
|
||
|---|---|
|
||
| `alm.sup`, `alh.sup`, `aldprt.sup`, `aldaco.sup`, `aldcnt.sup`, `alnmgr.sup`, `alnsmtp.sup`, `asbman.sup`, `ald_spec_stat.sup`, `wfladi.sup` and their templates; `alarm_build`, `alarm_compile` | Identical |
|
||
| `alarm_start.cmd`, `alarm_stop.cmd` | At the end (start) / beginning (stop) they call every `?*_alarm_start.cmd` / `?*_alarm_stop.cmd` in `tls\com` (ISS-121). Processes started are the same as on R1.03 |
|
||
| `alnsms.sup` / `.tpl` | New format units `SECTION` and `NAME` in the help; active defaults changed: `BODY_FORMAT = PRIO,2,SPAC,1,TYPE,6,TDEF,18,TEXT,6,SECTION,120` (R1.03: priority, type, time, `NAM1`–`NAM4`, text) and `ALARM_PREFIX = PRIO` (R1.03 `<ALARM>`). `alnsms` is not started by default; not tested (ISS-134) |
|
||
| `almini.sup` | Licence line only (instance file) |
|
||
| Alarm dataset definitions (`alarm_*.dss`) | Identical, including `ALARM_CURRENT` and `ALARM_CHRONO`. `external_alarm_df.dss` differs only by a space; its data access server got an internal fix for record updates |
|
||
| `alarm_attribute_temp_df.dss` | **New**: dataset `ALARM_ATTRIBUTE_TEMP_DF`, same fields as `ALARM_ATTRIBUTE_DF` (`NAME`, `ATTRIBUTE_TYPE`, `STATION`, hidden `ATTRIBUTE_INDEX`, `SPARE`), described in its header as a temporary store for item-specific alarm attributes; concealed on an enterprise server, no data file, no index on `ATTRIBUTE_INDEX`. On the R1.05 test server it has 0 records and is referenced only by the data dictionary and the RESTful API server (`jrstsrv.jar`, alarm attribute class). Internal: do not load, export or back it up (ISS-133) |
|