|
|
Inhalt
VorabIm Folgenden ein paar einfache Beispiele, die man auch sehr leicht in einer Beispiel in Eingabeaufforderung: Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\>telnet hitbackup.hi-tier.de 2223 Zu beachten ist, dass wir unangekündigt jederzeit die Testinstanzen neu aufsetzen, weil wir dort unsere Entwicklungen testen. Dann ist der gegebene Port kurzzeitig nicht verfügbar. HINWEIS: Da der HitServer unter
Umständen sehr lange Zeilen liefern kann, wird in den Beispielen unten eine
lange Zeile umbrochen und durch ein VoraussetzungEs muß eine erfolgreiche Socket-Verbindung zu einem unserer Server und Ports bestehen, d.h. der HitServer antwortet mit der "Hello"-Message: =0:0/103::HitServer bereit. Version 100, 01.01.2009 00-00. Sie sind mit dem Test Danach können die Anmeldung und weitere Befehle im HIT-Protokoll gesendet werden. Auf Details zum Protokoll wird weiters nicht eingegangen. GrundsätzlichesEs muß immer leider wieder darauf hingewiesen werden, daher hier auch nochmal: Ausnahmslos
jede Antwort vom HitServer muss ausgewertet werden! Beispiel: =1:3/226:LOGON/BNR15:Betriebsnummer nicht gefunden. Rot markiert ist der Wert der Fehlerschwere, hier die Der Antwort-Aufbau ist hier detailliert beschrieben. Anmeldung und AbmeldungAnmeldung*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:04 000 000 0001;900001;3;1200 Betriebsnummern können sowohl 15stellig (beginnen mit Als Antwort kommt: =1:0/223:LOGON/*:Anmeldung erfolgreich. Ist eine Anmeldung nicht erfolgreich, weil z.B. die Betriebsnummer nicht stimmt, dann kommt beispielsweise: =1:3/226:LOGON/BNR15:Betriebsnummer nicht gefunden. Ohne erfolgreiche Anmeldung hat man maximal 4 Versuche, bevor der Server von sich aus die Socket-Verbindung abbricht: =1:4/190:LOGON:Nach mehreren ungültigen Versuchen wurde die Verbindung abgebrochen. Abmeldung*99:XS:LOGOFF: Antwort: =99:0/251:LOGOFF/*:Abmeldung erfolgreich. Anzumerken ist, dass durch die Abmeldung die Socket-Verbindung nicht automatisch beendet wird, sondern man kann sich danach gleich wieder anmelden. Eine selbst programmierte Anwendung sollte daher nach einer Abmeldung ohne weitere Anmeldung von sich aus die Socket-Verbindung beenden, damit auf Serverseite der belegte Socket frei werden kann. Umgekehrt kann eine Anwendung, die mehrere Mandanten nacheinander verarbeitet, auf der ein und derselben Socket-Verbindung arbeiten. Zudem kann man ohne vorherige Abmeldung eine andere Anmeldung durchführen. Das System meldet den vorherigen Mandanten dann automatisch ab. Meldung einer GeburtGrundsätzlich ist zu beachten, dass nicht generell jede Meldung "einfach so" absetzbar ist. Für viele Meldungen müssen bestimmte Randbedingungen erfüllt sein, bevor sie erfolgreich abgesetzt werden können. Bei einer Geburt muß die Ohrmarkennummer des Muttertieres auf dem Betrieb gemeldet sein, bei dem das Tier auf die Welt kam. Zusätzlich müssen von einer Regionalstelle ausgegebene Ohrmarkenserien für den Betrieb im System vermerkt sein. Es sind evtl. noch weitere Randbedingungen gegeben (zeitl. Abstand zur letzten Kalbung, Muttertier ist weiblich und lebt, etc.). Die Geburtsmeldung *2:IS:GEBURT/LOM;BNR15;GEB_DATR;RASSE;GESCHL_R;LOM_MUT:DE 04 000 00051;04 000 00
liefert folgende Antwort: %2%1:1/308:GEBURT/GEB_DATR:Die Meldefrist von 7 Tagen ist überschritten, bitte F
Die erste Antwortzeile weist darauf hin, dass zwischen Ereignisdatum (hier die Geburt am 13.12.2008) und dem Meldedatum (hier der 01.01.2009) mehr als 7 Tage liegen. Da die Meldung die (rot markierte) Fehlerschwere 1 hat, verhindert sie nicht das endgültige Speichern der Meldung, sollte jedoch dem Anwender als Nachricht o.ä. angezeigt werden. Mit der zweiten Antwortzeile signalisiert der HitServer der Anwendung, dass die Meldung erfolgreich abgespeichert wurde. Die maximale Fehlerschwere aller Antworten zu einer Meldung zeigt an, ob die
Anwendung ihre Verarbeitung fortsetzen kann oder den Anwender auf eine Aktion
hinweisen soll: Fehlerschwere < 2 ist in Ordnung, Fehlerschwere = 2 erwartet
eine Bestätigung vom Anwender und Fehlerschweren > 2 führen immer zu einer
Fehlermeldung. Bestätigte Meldungen müssen lediglich erneut gesendet werden,
jedoch mit dem Subcode Setzt man die identische Geburtsmeldung erneut ab, dann erhält man dies: %2%1:1/308:GEBURT/GEB_DATR:Die Meldefrist von 7 Tagen ist überschritten, bitte F Die zweite Antwortzeile ist ein Hinweis, der besagt, dass diese Meldung bereits in identischer Form vorliegt. Abfrage der eigenen BetriebsanschriftAbgefragt wird mit Retrieve, kurz *2:RS:BTR_D/BNR15;NAME;STR_NR;PLZ;ORT;ORTSTEIL: Vorab ist wichtig zu wissen, dass sämtliche Angaben im Adreßbereich wie
Betriebsanschrift ( Da jede Anfrage an den Server auf seine Kompetenz hin überprüft wird,
werden Abfragen automatisch auf den für den Anmeldebetrieb maximal möglichen
Betriebsnummernbereich eingeschränkt. Als Antwort auf die obige Anfrage erhält man: %2%1:-1/0:BTR_D/BNR15;NAME;STR_NR;PLZ;ORT;ORTSTEIL:276040000000001;Name-04000000Die Antwort liefert hier genau 1 Datensatz, was in der zweiten Antwortzeile mit der Plausinummer 121 angezeigt wird (rot markiert). Die weiteren
Angaben hinter der Anzahl sind nur für den Datenbankbetreiber interessant, wenn
er Unterstützung bei der Fehlersuche benötigt.
Datenzeilen aus Abfragen (nicht Meldungen) als solches haben immer die
Plausinummer Der dritte Antwortteil, der mit dem Namen der abgefragten Entität (hier $btr_d = { 'BNR15' => '276040000000001', 'NAME' => 'Name-040000000001', 'ORTSTEIL' => '%--', 'STR_NR' => 'Str-0001', 'PLZ' => '10001', 'ORT' => 'Ort-0001', }; erzeugen (hier in Perl-Syntax). Der
Weitere InformationenAls Ausgangspunkt für selbst gestrickte Anfragen dient die Seite aller möglichen Entitäten und Abfragefunktionen. Zu den Abfragefunktionen existieren neben den Antwortspaltenbeschreibungen auch detailierte Parameterbeschreibungen.
|