edifact / error
EL7007
edifact.service-string
Applies to: edifact
What it catches and why it matters
UNA is not the fixed nine characters, its service characters collide or are alphanumeric, or its decimal mark is not a period or a comma.
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).
UNA++.? ' (component and element separators both use +)
How to fix it
Emit a nine-character UNA with distinct permitted service characters and a period or comma decimal mark. Ensure the payload uses those declarations.
False positives and limits
Truncated or incorrectly decoded UNA bytes can create secondary separator errors. Verify the original export before rewriting the service string.
Acknowledgments and suppression
Related acknowledgment codes (apply only to the described defect): CONTRL code 19 (UCI.0085): UNA declares an invalid decimal mark CONTRL code 20 (UCI.0085): UNA declares an unusable service character; this reference does not cover every malformed or misplaced UNA 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 EL7007, 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/EL7007.html