Full manual diffs (C50, R30, C60, L20, C40, L35, R10, R20, J10, L30, L50, P30, G10, C10) and read-only checks on the shared R1.05 test server where the permission system allowed them. Skills and summaries moved to R1.05. Issues ISS-092..129 (gaps 104-107, 114-115, 130-131 unused); ISS-074 closed (manual and software agree), ISS-091 corrected by ISS-119. version-differences: unlisted manual changes and installed-only changes. r105-verification: V5-V9 and new not-tested rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
---
|
||
task: String items: length limit and truncation
|
||
version: R1.05 (first written for R1.03)
|
||
source: IM 36K10C10-01EN 5th ed. (Feb. 2026) §3.3.4; IM 36K10G10-01EN 5th ed. (Feb. 2026) §3.2.2; data dictionary (`dssqld -f`); practiced on CI-Eng-Sample 2026-09-30 (R1.03)
|
||
status: verified on R1.03 (2026-09-30); on R1.05 the limit 1–200 / default 80 was checked in the data dictionary and ITEM_DF is identical (2026-10-08, read-only); string writes and truncation not re-tested on the shared R1.05 test server, re-test awaits a decision (ISS-129)
|
||
---
|
||
|
||
# String items
|
||
|
||
A string item has a maximum length set when it is created (`ITEM_DF.STRING_LENGTH`).
|
||
|
||
| Rule | Value (verified R1.03) |
|
||
|---|---|
|
||
| Allowed `STRING_LENGTH` | 1–200 (default 80); 201 is rejected with `DSS-E-VAL_RANGE` |
|
||
| Audit trailing (`AUDIT_INFO`) | no effect on the limit (200 loads with audit on) |
|
||
| Characters the item holds | **length − 1** (length 100 holds 99) |
|
||
| Value that fits | stored, status 9 NORMAL |
|
||
| Value too long | cut to length − 1, status **12 OVERRANGED**, no error from `itmval` |
|
||
|
||
The R1.03 manuals disagreed (Engineering Module: max 100; Tutorial: 168; ISS-019). The R1.05
|
||
manuals (changed in R1.04, not listed in the revision tables) give default 80 and maximum
|
||
200 **bytes**, matching the software (ISS-124). Multi-byte characters take more than one byte.
|
||
That a value holds only length − 1 characters is not in any manual.
|
||
|
||
Quick load (the section must exist):
|
||
|
||
```
|
||
@FIELDS
|
||
NAME,DESCRIPTION,ITEM_REP,STRING_LENGTH,AUDIT_INFO
|
||
|
||
@ITEM_DF
|
||
"<Section>.<Tag>","Status text","String",120,0
|
||
```
|
||
|
||
Write and read: `itmval -p -n <Section>.<Tag> -v "text"`, `itmval -g -n <Section>.<Tag>`.
|
||
After a write, check the status: 12 means the text was cut.
|
||
|
||
The representation (type) and length cannot be changed on an existing item: remove and
|
||
load it again.
|