ci-server-engineer/.claude/skills/system-management/tasks/export-dataset.md
cliu 516729ff24 R1.05 findings from a user project (tested only)
Tested on the R1.05 test server 2026-10-09..12 with a user project (own
objects only); not yet on CI-Eng-Sample (ISS-188). Only results that
were tested are included; inferences, code-only and manual-only points
and the untested sample layout change were left out.
- layouts: 'logout' is a secondary logout, always disabled on the R1.05
  web client; 'exit' closes the window and ends the session (ISS-182).
- create-display: R1.05 web client table (String items in text vs
  textField, fixed text alignment, start-hidden limits ISS-183, two
  visibility conditions, On entry display actions, rectangle blinking,
  verified connections, first load).
- java-class 4a: signal arrays at scale, write on change, attribute
  arrays, offline javac/javap check; change-reset-class: new signals need
  the object recreated, attributes lost (ISS-185); opcdbg reset in cmd,
  TRIGGER_1 via dssqld -m.
- string-items (ISS-187), users-groups, modbus-station (400 registers,
  comm loss), export-dataset (NAME range filter), item-alarming.
- new task system-management/package-project.md; tools/ModbusSim.java
  (tested on R1.05: FC03/04/06/16, exceptions, modes); AMSI (ISS-186).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:57:08 +11:00

4.9 KiB

task version source status
Export dataset contents with dssqld R1.05 (first written for R1.03) IM 36K10J10-01EN §2.9.2, §5.6; IM 36K10L50-01EN §3 (5th ed., Feb. 2026); practiced on the test system 2026-09-30 (R1.03) verified on R1.03 (2026-09-30); re-tested on R1.05 2026-10-08 (read-only, R1.05 test server) - whole and filtered exports, `-f`, `dssqld -h` text (identical to R1.03), long output path, `dss_*.tmp` leftovers

Export dataset contents (dssqld)

Read-only. Needs CI Server running. Works from a normal or elevated prompt.

Export a whole dataset

dssqld -e <output>.qli -d <DATASET> -c -l <listing>.lst
  • -d dataset name (e.g. ITEM_DF, STATUS_DF, LOCAL_NODE_DF, CLASS_DF, OBJECT_DF).
  • -c comma-separated output: first line is the field names, then one quoted row per record.
  • -l writes the result summary to a listing file.
  • Output path ≤ 79 characters: a longer -e path gives no error, but the file does not appear under that name (verified, ISS-020). On R1.05 the file was written under a shortened name: the path cut after 79 characters, then .qli (verified 2026-10-08).
  • -a also exports hidden fields.

The console (and listing) end with a summary; check Errors is 0:

Data set                   Recognized  Exported    Not found   Errors
ITEM_DF                    184         184         0           0

Find datasets and fields

dssqld -f -l dict.lst

Dumps the data dictionary: every dataset with its description and fields (name, type, length, description). Search it to find which dataset holds what, e.g. the version fields are in LOCAL_NODE_DF, HOST_NODE_DF and ENTERPRISE_SERVER_DF.

Useful datasets (R1.03, still present on R1.05)

Dataset Contents
LOCAL_NODE_DF This node: name, number, version (VERSION_MAJOR/MINOR/PACK), licence state
ITEM_DF Item definitions: full name, section path, description, limits, format, type, station, I/O address
STATUS_DF Item status definitions: name, number, alarm state, priority, colour, mnemonic (e.g. 9 = NORMAL)

On R1.05 LOCAL_NODE_DF shows VERSION_MAJOR 1, VERSION_MINOR 5. New datasets since R1.03 (installed tls\src, verified 2026-10-08): API_KEYS_DF (REST API keys per user), UASERVER_MAPPER_DF (OPC UA Information Model Mapper), IEC61850_RCB_DF (IEC 61850 report control blocks), OPCUAC_METHOD_CALL2_DF (replaces OPCUAC_METHOD_CALL_IN_DF and …_CALL_OUT_DF), ALARM_ATTRIBUTE_TEMP_DF (alarm attributes, not documented). ITEM_VAL has three new fields: ENG_UNIT, SCALE_HIGH_LIMIT, SCALE_LOW_LIMIT.

Filtered exports

Export only matching records with a filter file (IM 36K10L50 §3.6, verified 2026-09-30):

@SELECT
'GROUP_NAME = "CIENG_EVENT"'
@HIS_GROUP_DF
dssqld -e <output>.qli <filter>.qli [-c] -l <listing>.lst
  • @SELECT, then the filter in single quotes with strings in double quotes, then @<DATASET>. The filter applies only to the next dataset. Operators: =, !=, <, >, and.

  • Some datasets (e.g. ITEM_HISTORY, ITEM_VAL, ALARM_CHRONO) are not exported unless named explicitly (NO-EXPORT list in dssqld.sup).

  • ITEM_HISTORY returns nothing unless the filter names ITEM_NAME and a SAMPLE_TIME range (see load-history.md).

  • %TLS_DAT_PATH%\dss_export.qli is Yokogawa's own filter file for exporting all engineering definitions (dssqld -e out.qli dss_export.qli); it also shows @MACRO usage. It is the same file on R1.05 as on R1.03 and does not cover the IEC 61850, MQTT, OPC UA client method/tag datasets, UASERVER_MAPPER_DF or API_KEYS_DF: export those with -d as well when you back up or migrate a system (ISS-118).

  • R1.05 dssqld.sup adds API_KEYS_DF to the NO-EXPORT list, so a full export leaves the REST API keys out on purpose. -d API_KEYS_DF still exports it; treat that file as a secret, or create new keys on the target system instead (skill data-access).

  • Range on NAME (R1.05, 2026-10-12): 'NAME > "<Section>." and NAME < "<Next>"' (<Next> = the section name with its last character raised by one, e.g. TANK1. → TANK2) selects all items below a section on ITEM_DF (tested with 1,751 items); a NAME = "A*" wildcard does not work. The same works on ALARM_CURRENT with ITEM_NAME, to list the current alarms of one section.

Clean up: dss_*.tmp files (R1.05)

Exporting OBJECT_DF leaves 0-byte dss_<n>_<id>.tmp files in %TLS_LST_PATH% (tls\lst), about one per object (28 files for 29 objects on the R1.05 test server, 2026-10-08); a second export of the same objects added none. Exports of LOCAL_NODE_DF, STATUS_DF, ITEM_DF, CLASS_DF, REPORT_DF, a filtered export and -f left none. CI Server does not remove them (ISS-091, ISS-119). After a test session, delete the 0-byte ones written since the session started, e.g. with examples/CI-Eng-Sample/shared/clean_dss_tmp.ps1 -Since <start time>. Not checked on R1.03.