Skip to main content

Module syntax

Module syntax 

Source
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/R missing (13), one the MIG has no place for (15), more data elements than the MIG defines (16), a segment or group repeating beyond its MaxRep (35, 36).
  • Data elements (UCD): an M/R element 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.
SyntaxFinding
One syntax error of a message.
SyntaxSettings
The interchange’s syntax settings a value is judged by.

Enums§

Charset
The character repertoire of a syntax level (UNB S001 0001).
SyntaxScope
Which CONTRL segment reports a finding.

Functions§

check_message_syntax
Check one message against mig.

Type Aliases§

AcceptedCodes
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.