Expand description
The MIG syntax check a CONTRL reports: one message against its MIG alone.
No Prüfidentifikator, AHB or condition takes part. A CONTRL reports syntax errors only (CONTRL AHB 1.0 §2.1); a code wrong only in its context is an AHB matter and goes to the APERAK. What is checked:
- UNH and UNT (UCM): their elements, the segment count (UNT 0074, code 29) and the message reference (UNT 0062 against UNH 0062, code 28). An error here stops the check of that message: nothing else is reported.
- Segments (UCS): a segment the MIG marks
M/Rmissing (13), one the MIG has no place for (15), more data elements than the MIG defines (16), a segment or group repeating beyond itsMaxRep(35, 36). - Data elements (UCD): an
M/Relement or component empty (13), a value outside the MIG’s code list (12), too many components (16), a bad decimal notation (19), characters outside the syntax level (21), a letter in a numeric element (37), no digit before the decimal mark (38), too long (39), too short (40).
The codes are those the CONTRL MIG 2.0b allows in UCM/UCS/UCD 0085. Every finding carries its segment counter from UNH = 1 (UCS 0096); a missing segment or group is reported at its predecessor. Element positions follow S011: the segment tag is 0098 = 1, the first component 0104 = 1.
The message is placed with the assembler on the MIG with every segment number kept, i.e. as if a Prüfidentifikator allowed all the MIG allows.
Structs§
- Accepted
- What an element accepts beyond its MIG code list.
- MigPlacements
- The placements of a MIG the syntax check assembles a message on: the
whole MIG kept apart, with its group variants merged, and with them
apart. They depend on the MIG alone, and building them is most of the
check’s cost (about 10 ms for UTILMD), so a caller checking many messages
builds them once (
check_message_syntax_prepared). - Syntax
Finding - One syntax error of a message.
- Syntax
Settings - The interchange’s syntax settings a value is judged by.
Enums§
- Charset
- The character repertoire of a syntax level (UNB S001 0001).
- Syntax
Scope - Which CONTRL segment reports a finding.
Functions§
- check_
message_ syntax - Check one message against
mig. - check_
message_ syntax_ prepared check_message_syntaxwith the MIG’s placements built beforehand.placementsmust beMigPlacements::newofmig.
Type Aliases§
- Accepted
Codes - Values accepted beyond the MIG’s own code lists, by MIG segment
Number, element index and component index (0-based). A MIG’s code list can lag its AHBs — a Prüfidentifikator an AHB correction adds, an answer code an AHB takes from a Codeliste the MIG predates — and what an AHB allows is never a syntax error.