ci-server-engineer/.claude/skills/alarm-management/tasks/alarm-definitions.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

4.6 KiB

task version source status
Acknowledgement types, areas of interest and alarm selection areas by quick load R1.05 (first written for R1.03) IM 36K10L15-01EN §2.3.4, §4.1.2; IM 36K10C20-01EN §A5, §A8 (4th editions, Feb. 2026; content as in the 3rd editions, Sep. 2023); practiced on CI-Eng-Sample 2026-10-01 verified on R1.03 (2026-10-01). R1.05 - the dataset definitions ALARM_ACK_DF, ALARM_AOI_DF and ALARM_ASA_DF are identical to R1.03 and the six predefined ack types are the same (checked 2026-10-08/09); the sample's CIENG_ACK, CIENG_TANKS and its ASA loaded and were removed with 0 errors in the reduced sample load on the R1.05 test server (2026-10-08; load check only - ASA listing, delete refusal and the error cases were not re-run)

Alarm definitions (quick load)

Sample file: examples/CI-Eng-Sample/01b_alarm_df.qli (removed by 93_remove_alarm_df.qli). Load definitions before the items that use them; remove them after those items. Commands as in skill system-management (dssqld -i / -m / -r, -l <listing>); run dssqld from the file's folder (paths over 79 characters are cut, ISS-020). dssqld returns exit code 0 even when records fail: always read the summary table (Errors column) or listing.

1. Acknowledgement type (ALARM_ACK_DF)

@FIELDS
NAME,DESCRIPTION,EAL_ACK,NA_N,NN_N,A1A_N,A2A_N,A3A_N

@ALARM_ACK_DF
"<ACK_TYPE>","<description, max 78 characters>",0,1,1,1,1,1
  • Matrix field <from><A|N>_<to>: from state N/A1/A2/A3, A = was acknowledged, N = was not, to state N/A1/A2/A3. 1 = automatic, 0 = operator must acknowledge. Fields left out are 0. The example equals the predefined MANUAL: every alarm needs an acknowledgement; returning to normal is automatic only if the alarm was acknowledged.
  • EAL_ACK 1 makes a type for external alarms (Inactive/Active matrix); it cannot be changed later, nor can the name. Predefined: AUTOMATIC, MANUAL, FULLMANUAL and _EAL variants.
  • A description longer than 78 characters fails with DSSG-E-STRBUFSMAL … buffer is too small (79).
  • Delete refused while an item uses the type: DSSP-E-NODEL … still in use / DSSP-E-NODELBY, By <item> in dataset ITEM_DF.
  • Check: almdbg 9 (numbers) and 10 (<number> → matrix with A/M), see alarm-checks.md.

2. Area of interest (ALARM_AOI_DF)

@FIELDS
NAME,DESCRIPTION

@ALARM_AOI_DF
"<AOI_NAME>","<description>"

NUMBER is assigned automatically. Assign to items with ITEM_DF AOI_1 … AOI_16 (never the same AOI twice on one item).

3. Alarm selection area (ALARM_ASA_DF)

@FIELDS
NAME,DESCRIPTION,COMPILE,EXPRESSION

@ALARM_ASA_DF
"<ASA_NAME>","<description>",1,\
@"
/* comment */
SECTION = "<Section>.<Sub-section>" and PRIO < 3"@
  • COMPILE 1 compiles on load. Multi-line text: \ at the end of the line, then @" … "@. (Verified with a single SECTION condition; the and PRIO < 3 part follows the manual.)

  • Spaces are required around operators (SECTION = "…", not SECTION="…"). Keywords and operators: C20 summary §A8.3. SECTION matches only items directly in that section.

  • Check after loading — a bad expression is still stored:

    @SELECT
    'NAME = "<ASA_NAME>"'
    @ALARM_ASA_DF
    

    dssqld -e <out>.qli <filter>.qli -c, then look at LISTING and VALID_EXPRESSION:

    • good: % ALC-I-CMP_SUCC, Expression compiled successfully, VALID_EXPRESSION 1 (COMPILE reads 0 again after compiling);
    • bad: % ALC-E-UNKNOWN_TOK, Unknown token encountered, token: (…), ALC-E-CMP_NO_SUCC, VALID_EXPRESSION 0 — the load summary shows 1 error. An invalid ASA filters out all alarms where it is used: fix and reload with dssqld -m, or remove.

4. Remove

@FIELDS
NAME

@ALARM_ASA_DF
"<ASA_NAME>"

@ALARM_AOI_DF
"<AOI_NAME>"

@ALARM_ACK_DF
"<ACK_TYPE>"

dssqld -r after the items that refer to them are removed or changed.

Verified (CI-Eng-Sample)

  • R1.03 (2026-10-01): CIENG_ACK, CIENG_TANKS (number 2), CIENG_TANK1 (SECTION = "CI-Eng-Sample.TANK1", compiled, valid) loaded and removed in a full sample remove/reload, 0 errors. A test ASA without spaces was stored invalid and then removed.
  • R1.05 (2026-10-08, R1.05 test server): the same definitions loaded and were removed with 0 errors in the reduced sample load. Only the load was checked.

Do not use the sample ASA in an alarm overview on a shared or production server. An alarm overview filtered by an ASA on SECTION or UNIT kept ALH at a full CPU core on the shared R1.05 test server and made every other alarm list time out (ISS-136). Use such ASAs for notification destinations or tests only, or filter overviews by item name or AOI.