ci-server-engineer/.claude/skills/class-object-engineering/tasks/opcdbg-checks.md
cliu f99490378c Extend class-object-engineering skill: language, Java, reset, opcdbg tasks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:49:49 +10:00

3 KiB
Raw Blame History

task version source status
Check PROCESS Service with opcdbg (database check, classes, objects, performance) R1.03 IM 36K10L10-01EN §4; practiced on the test system with CI-Eng-Sample 2026-09-30 verified (read-only actions and Reset class)

PROCESS Service checks with opcdbg

opcdbg is interactive. Answers can be piped in, one per line, in Bash; always add a time-out and end with -1 lines, because on end of input it repeats the last prompt forever. `opcdbg 0

` starts in a menu on node 0 (this node). Times are printed in **GMT**.

Only the actions below are read-only. Do not use insert/modify/delete, Database repair, Reset (utilities) or Modify attribute value without the user's approval.

Check Command (Bash) Output
Database consistency printf '5\n-1\n-1\n' | timeout 60 opcdbg 0 5 Counts per store (trigger groups, classes, sources, code, objects, signals, attributes), then checks; warnings such as No compiled code found for class (cls_id = …)
Class details printf '2\n5\nN\n<CLASS>\n-1\n-1\n' | timeout 20 opcdbg 0 Language, priority, modified/compiled times, cls_id, objects derived / reset, hidden
Class by id (from a warning) printf '2\n5\nI\n<sec>\n<seq>\n-1\n-1\n' | timeout 20 opcdbg 0 Same; Compiled at : 0 = never compiled
Object details printf '3\n4\nN\n<object>\n-1\n-1\n' | timeout 20 opcdbg 0 Priority, control item id, times, cls_id/obj_id
Object status printf '3\n18\n<object>\n-1\n-1\n' | timeout 20 opcdbg 0 Total runs, executor (Running in : 1, OPCEXE1)
Object signals / attributes 3 then 14 / 12, object name Signal → item id; attribute → type (LOCAL/GLOBAL)
Executor statistics printf '0\nOPCEXE1\n1\n-1\n-1\n' | timeout 20 opcdbg 0 4 Active classes/objects/trigger groups/items, number of executions; times stay 0 unless STATISTICS = YES in opc.sup

Executor names on R1.03: OPCEXE1…OPCEXE4 (Traditional, priority ranges 0–249 … 750–999) and OPCJEXE (Java). The prompt's default OPCEXE does not exist.

Easier for names: the datasets OBJECT_SIGNAL_DF (object:signal → item name) and OBJECT_ATTR_VAL / CLASS_ATTR_VAL (attribute values) via dssqld -e with a filter — see traditional-class.md §3.

Dumps

Utilities 3 / 4 (printf '3\nclasses.qli\n4\nobjects.qli\n-1\n-1\n' | timeout 30 opcdbg 0 5) write all class sources / objects to files in the current folder. The format is an old one (NAME,"description",priority then source lines starting with - ) and dssqld -i rejects it (DSS-E-UNK_DS_NM, ISS-027). To move classes and objects to another system, export CLASS_DF and OBJECT_DF with dssqld -e instead (task load-class-object.md; migration in knowledge/manuals/IM36K10J10-01EN.md §5.6).

Observed on the test system

The database check reported one warning for a class SINUS (not from this repo) that was never compiled; everything else was consistent. A class like that is harmless but can be compiled or removed by its owner.