Benutzer-Werkzeuge

Webseiten-Werkzeuge


probleme_mit_ausweislaenge_invalid_record

Die Funktion **testStin()**macht Probleme mit dem **"invalid record"** und "err: ZAUSW"

Sie untersucht den übergebenen Stammsatz sehr rigoros. Problematisch war das Zurückfallen im smgr von Ausweislänge=8 auf 7, da das letzte Terminal keinen Eintrag ZauswSize hatte. Der kleinste Wert gewinnt dabei (logisch!) und der Default ist 7, weil das bei älteren Benzings halt so war.

Die Prüfung der Ausweisnummer geht dann so:

ZAUSW: 49014693

      |+++++++-- hintere min(7) Stellen werden auf numerisch 
      

getestet——→ TRUE

      +--------- vordere (max(8) - min(7)) -> 1 Stelle wird auf 0 getestet --> FALSE Die "fehlende" Vornull macht den Stammsatz ungültig.
Warum ist das so?

Sagen wir, es gäbe zufällig diese Ausweise:

09014693

49014693

Bei der Verarbeitung kommt der smgr beim Ausweis 49014693 an und macht beim 7er Terminal den Stammsatz: Y09014693… er schneidet also die erste Stelle ab, weil er ja von 8 auf 7 Stellen runter muß.

Der Y0-Satz würde vom iomgr an smgr beim Versand „zurück geworfen“ und der findet dann natürlich fälschlich 09014693.

Das führt zu lustigen Dauersätzen von Y0 an das 7er Terminal, weil der Satz da offenbar „nie“ ankommt. Oder sogar Y1/Y0-Pärchen, wenn 09014693 an diesem Terminal nicht „dürfte“, der Stammsatz aber offenbar „irgendwie“ dorthin geschickt wurde. ;-)

Um das zu vermeiden schmeißt smgr die Stammsätze mit „zu langen“ Ausweisen einfach aus seiner Liste und sagt „invalid record“.

„invalid record“ vom smgr sollte immer ein Grund sein, dem nach zu gehen, weil der Stammsatz dann nicht vom smgr akzeptiert wurde und so nicht in seiner internen Liste oder auch im mrimage landet.

probleme_mit_ausweislaenge_invalid_record.txt · Zuletzt geändert: 2020/06/24 14:33 von 127.0.0.1