Zur Homepage www.HI-Tier.de HIT Normierungen
Zurück Home Nach oben Weiter
Öffentlicher Bereich für Entwickler

 

Grundlagen

Eingabe / Ausgabe

Der HIT-Server ist tolerant bezüglich angelieferter Wertformate und Formen. Es werden verschiedene Darstellungen und Schreibweisen akzeptiert.

Bei der Ausgaben liefert der Servers grundsätzlich alle Wertem einheitlich und streng normiert, z.B. werden Betriebsnummern und Ohrmarken 15stellig numerisch und alle Felder mit hinterlegten Schlüssellisten ebenfalls als reine Zahl ausgegeben. Durch die Anwendung von Format- und Aufbereitungsfunktionen (siehe HIT-Abfragefunktionen) kann die Darstellung aber weit reichend modifiziert und angepasst werden.

Verwendeter Zeichensatz

bulletAls Standard-Charakterset wird verwendet ISO 8859-1 ("Latin1").
Zusätzlich wird der oft verwendeten Konvention gefolgt das Zeichen 128 im Latin1-Zeichensatz durch das Euro-Symbol € darzustellen.
bulletAlternativ: Unicode-Zeichensatz in der Form UTF-8 ohne "Byte Order Mark" (BOM)

Zeilenende, Zeilenumbruch, besondere Zeichen: Prozent, Semikolon, Doppelpunkt

bulletDie Kommunikation zwischen Client und HIT-Server auf dem IP-Socket erfolgt Zeilenweise, daher ist das korrekte Identifizieren eines einheitlichen Zeilenendes essentiell.
bulletFür das Zeilenende muss einheitlich (in Windows-Konvention) "carriage return" + "line feed" - kurz CR / LF also 0x0d / 0x0A verwendet werden.
bulletBesondere Zeichen wie Prozent, Semikolon, Doppelpunkt müssen mit %xx hexadezimal codiert werden, Details siehe Quoted-Hex

Verschiedene Dateninhalte und ihre Formate

Normierung und Kürzung von Ohrmarken für Rinder

Es gibt viele Eingabe und Darstellungsweisen von Ohrmarken für Rinder. Ohrmarken aus Deutschland können mit DE oder 276 oder ohne Staatenkenner, mit und ohne Leerzeichen und auf viele anderen Weisen geschrieben werden. Marken der verschiedenen EU-Mitgliedsstaaten haben verschiedenen Aufbau, teils mit Prüfziffern die bei der Eingabe angegeben werden kann oder weggelassen wird.

Beispiele für akzeptierte Eingaben bei Ohrmarke (LOM): 2760009012345678 oder DE 09 123 45678 oder ...

Die Speicherung und Ausgabe erfolgt rein numerisch mit 15 Stellen, Details zu Prüfung und Normierung von Ohrmarken siehe LOMs, Alpha-LOMs.

Normierung und Kürzung von Betriebsnummern

Beispiele für akzeptierte Eingaben bei Betriebsnummer (BNR15): 276091280700000 oder 091280700000 oder 09 128 070 0000 oder ...

Die Speicherung und Ausgabe erfolgt rein numerisch mit 15 Stellen.

Dezimalzahlen mit Nachkommastellen

bulletAls Dezimaltrennzeichen ist nur der Punkt erlaubt.
bulletExponentialdarstellung und Tausender-Gliederung werden nicht unterstützt
bulletz.B.  123.07

Format für Datum, Zeit und Timestamp

Datums und Zeitangaben sind in lesbarem deutschen Format, notwendige Ergänzugen werden automatisch vorgenommen

Datums-Format

bulletDatum: T.M.J
bulletmit T=1 oder 01...31,
bulletM=1 oder 01...12,
bulletJ=1900...2100, beim Datum ist auch 2stelliges Jahr erlaubt aber nicht empfohlen, bei Timestamp nur 4stellig
bulletz.B. 1.12.1999 oder 02.04.1999

Zeit-Format

bulletZeit: H.N[.S] , keine Doppelpunkte zur Trennung !
bulletmit H=0 oder 00...23,
bulletN=0 oder 00...59,
bulletS=0 oder 0=...99
bulletz.B.

Timestamp-Format

bulletTimestamp: T.M.J/H.N[.S[.X]] , keine Doppelpunkte zur Trennung !
bulletmit X=0 oder 000000...999999. Bei X handelt es sich um Mikrosekunden (10 hoch -6) und nicht um Sekundenbruchteile, d.h. 11.59.00.1 ist nicht 11.59.00.100000 sondern 11.59.00.000001 !,
bulletz.B.  1.1.1999/0.0.0 oder 31.12.1999/23.59.59.999999

Der Server akzeptiert Mikrosekunden ohne und mit führenden Nullen, d.h. es ist egal, ob vom Client z.B. "13.05.2019/15.23.14.123" oder "13.05.2019/15.23.14.0123" oder "13.05.2019/15.23.14.000123" gesendet wird - es handelt sich um denselben Wert.

Änderung ab Sept..2023:

Historie: Bei der Ausgabe wurden Timestamps vom Server bevorzug ohne führende Null geliefert - d.h. in der Form ".X" also z.B. "13.05.2019/15.23.14.123" und "31.12.2100/00.00.00.0".

Aber es gab Stellen - insbesondere Funktions-Abrufe wie $MAX(SYS_BIS) - bei denen ein anderes, teilweise falsches Format geliefert wurde.

Zur Korrektur dieses Fehlers und um Missverständnissen bei der Interpretation entgegen zu wirken soll zukünftig eine einheitliche, zweifelsfreie Darstellung immer mit führenden Nullen verwendet werden, also z.B. "13.05.2019/15.23.14.000123" und "31.12.2100/00.00.00.000000".

Zur Erhaltung der "Abwärtskompatibilität" bzw. Möglichkeit dieses zukünftige Feature sofort zu nutzen,
gibt es den neuen LOGON-Parameter TSMIKRO (auch im HitBatch-Client verfügbar):

bullet0: short (alte Form 00.00.00.0)
bullet1: long (neue Form 00.00.00.000000)

Da "Alt-Systeme" teilweise Schwierigkeiten mit dieser Darstellung haben, wird zunächst als Default 0 (alte Form) verwendet.
Bitte stellen Sie Altsysteme möglichst zeitnah um, so dass

bulletentweder die neue Form der Mikrosekunden-Darstellung problemlos verarbeitet werden kann
bulletoder mittels Parameter LOGON/TSMIKRO=0 signalisiert wird, auch immer das alte Format zu liefern.

Normierung von Namen

z.Zt. keine Besonderen Festlegungen

Normierung von Telefonnummern

bullet"What you see is what you dial"

Speicherung für internationalen Datenaustausch i.d.F <internationale Vorwahl>(<nationale Vorwahl>)<Rufnummer>, z.B. 49(89)2182-2753.

Im User-Profile wird internationale und nationale Vorwahl wie Amtsholung gespeichert z.B.
00    internationale Amtsholung
49    internationale Vorwahl
0    nationale Amtsholung
89    nationale Vorwahl

Daraus ist für das jeweilige Profil automatisch sowohl die zu wählende Nummer anzeigbar als auch bei einer neu eingegebenen Nummer die standartisierte Form erzeugbar. Siehe Java-Object Telefon-Nummer

Besonderheiten

Normierung und Kürzung von Datumsfeldern

Zur Vereinfachung der Eingabe, insbesondere bei der IVR-Meldung wird das Datum auch in folgenden abgekürzten Formen akzeptiert. Diese Datumsabkürzungen können nur in Verbindung mit Ereignis- oder Geburtsdaten von Rindern, d.h. Daten die zeitnahe zum aktuellen Datum sind. Insbesondere fehlende Jahre oder Jahrhunderte können beim Geburtsdatum Betriebsleiter nicht korrekt ergänzt werden.

Für die Umsetzung der Beispiele wird als aktuelles Datum der 01.01.2000 angenommen

Form Beschreibung Umsetzung Beispiel Ergebnis
TTMMJJ 6 Ziffern, Jahrhundert fehlt aktuelles Jahr +/-25, 1975-2025, Rest 19xx 011299 01121999
TTMM 4 Ziffern, Jahr fehlt heute +/- 90 Tg., ca. 01.10.1999 - 31.03.2000, Rest 1999 0410 04.10.1999
TT 1-2 Ziffern, vergangene Tage 0=heute, 1=gestern .. 3 29.12.1999

Für die Umsetzung der Beispiele wird als aktuelles Datum der 30.06.2040 angenommen

Form Beschreibung Umsetzung Beispiel Ergebnis
TTMMJJ 6 Ziffern, Jahrhundert fehlt aktuelles Jahr +/-25, 2015-2065, Rest 19xx 011299
TTMM 4 Ziffern, Jahr fehlt heute +/- 90 Tg., ca. 01.10.1999 - 31.03.2000, Rest 1999 0410
TT 1-2 Ziffern, vergangene Tage 0=heute, 1=gestern .. 3 27.06.2040