edifact / error
EL7003
edifact.segment-count
Applies to: edifact
What it catches and why it matters
UNT-1 does not match the recounted segments from UNH through UNT inclusive.
Failing example
These synthetic fragments illustrate the defect; they are not complete interchange files. Backslash escapes name bytes such as \r (CR) and \n (LF).
UNH+1+INVOIC:D:96A:UN'UNT+9+1' (two segments, declared as nine)
How to fix it
After confirming message completeness, use edilint fix --write to recount UNT-1 from UNH through UNT inclusive. Released terminators do not end segments. Invalid service characters, incomplete envelopes, or ambiguous nesting prevent count edits.
False positives and limits
Malformed release sequences or missing terminators can affect the observed count. Resolve tokenizer and service-string findings before recounting.
Acknowledgments and suppression
Related acknowledgment codes (apply only to the described defect): CONTRL code 29 (UCM.0085): UNT-1 differs from the received segment count CONTRL code 13 (UCM.0085): UNT-1 is missing CONTRL code 37 (UCM.0085): UNT-1 contains letters where digits are required CONTRL references use syntax-error element 0085, not action element 0083. UCI, UCF and UCM report interchange, group and message service-segment errors respectively. A missing or unreadable header can prevent a valid CONTRL response. Truncation, orphaned envelopes and data outside an interchange have no single mapping here. Sources: https://service.gefeg.com/jwg1/Archive/v3/mt/m01.htm https://service.gefeg.com/jwg1/Archive/cl/v3/21a/cl16.htm Suppress the rule with --disable EL7003, or list it under "disable" in .edilint.yml. To accept the occurrences a file already has without suppressing the rule, record them with --write-baseline and run with --baseline. Reference: https://crb2nu.github.io/edilint/rules/EL7003.html