|
|
InhaltHier wird anhand von Beispielen Aufbau und Funktion der INI- und Inputdateien erläutert. Spezielle Beispiele für Abfragen mit dem HitBatch-Client siehe auch Abfragen.
Grundsätzlicher AufbauIni-DateienEine Ini-Datei beginnt grundsätzlich mit folgenden globalen Einträgen:
Dahinter folgen ein oder mehrere Sets, die jeweils durch ein
Die mit Farbe markierten Stellen müssen an die eigenen Anforderungen angepaßt werden. In den nun folgenden Beispielen werden einige Fälle mit konkreten Angaben durchgespielt. Die Beschreibung dieser Felder findet sich auf einer separaten Seite. DatendateienDatendateien für Meldungen haben grundsätzlich folgendes Schema:
Die Feldnamen-Liste enthält die zur gewünschten Meldeart verwendeten Feldnamen, die jeweils in GROSSbuchstaben geschrieben und durch Semikolons ';' getrennt werden. Leerzeichen sind in der gesamten Zeile nicht zulässig, auch nicht am Ende. Wird die Aktion der Meldung (also XS, XB, IS, IB, etc.) mit in die Datendatei übernommen, dann erhält sie in der ersten Spalte der Zeile 1 einen "*" und in der jeweils ersten Spalte der darunterstehenden Zeilen den Befehl (meist ist er identisch, kann aber verschieden sein, je nach Zweck). Die Datenliste enthält Zeile für Zeile mit ebensoviele Elemente, wie in der Feldnamenzeile stehen. Es dürfen KEINE Leerzeilen und umgebrochene Zeilen in der Datei stehen! Eine Datenzeile enthält alle Daten in der Reihenfolge, wie sie in der Feldnamenzeile vorgegeben werden. Die Elemente zur Meldung, die in der Dokumentation zur Meldungsart mit PK-x (mit x=1...n) und MAN gekennzeichnet sind, müssen in der Datendatei angegeben werden (d.h. sie dürfen nicht leer sein); optionale Felder (OPT) dagegen können angegeben werden. Wichtig: Wird auch nur in einer einzigen Datenzeile ein optionales Feld benötigt, dann müssen der Feldname in der ersten Zeile ergänzt und in jeder Datenzeile die entsprechende Information eingesetzt werden. Leere Elemente werden dann einfach weggelassen (das benötigte ';' nicht vergessen!). In einer Datendatei dürfen immer nur Daten einer Meldungsart stehen. Datendateien für Abfragen sehen etwas anders aus:
Die Feldnamen-Liste enthält auch hier zur gewünschten Meldeart verwendeten Feldnamen, analog den Datendateien für Meldungen. Auch die Behandlung der Aktion zur Meldung ist identisch. Die Feldnamen-Liste wird hierbei jedoch verwendet, um die Felder anzugeben, aus denen bei den nachfolgenden Abfragen die Ergebnisse angezeigt werden sollen. Statt einer Feldliste kann ein einzelner Stern "*" angegeben werden, der anzeigt, daß aus allen der Meldeart zugeordneten Feldern Ergebnisse angezeigt werden sollen. Wichtig: Die Angabe der Aktion zur Meldung ist unabhängig von der Feldnamenliste selbst, d.h. wenn alle Felder einer Meldung angezeigt und die Aktion mit in die Datendatei übernommen werden sollen, dann darf nicht nur ein "*" eingetragen werden, sondern zwei durch ein ";" getrennte Sterne: "*;*"! Die Abfrageausdrücke enthalten Zeile für Zeile korrekte Ausdrücke der Abfragesprache von HIT (HIT Query Language, kurz HIT-QL). Jeder Teil eines Ausdrucks wird durch ein ";" getrennt. Die Ausdrücke können im einzelnen sein:
<Feldname> steht für den Feldnamen der Meldung, dessen Wert verglichen
werden soll. <Feldinhalt> erlaubt das Vergleichen zweier Feldinhalte, wobei
der Feldname in eckigen Klammern angegeben werden muß, z.B. Zwischen den Ausdrücken stehen Verknüpfungen:
Die Verknüpfungen dienen dem logischen Verbinden zweier Ausdrücke. Wenn Sie z.B. nur
wissen wollen, welche Ihrer Tiere nach dem 21.10.1999 geboren wurden und zugleich
eine Ohrmarke zwischen 276000912340000 als 276000912345678 haben, geben Sie in einer Zeile
folgendes an: DatenbeispieleGEBURTDie Meldungsart GEBURT benötigt mindestens die Angaben LOM (Ohrmarke des geborenen Rinds), BNR15 (Betriebsnummer), GEB_DATR (Geburtsdatum), RASSE (numerischer Rasseschlüssel), GESCHL_R (Geschlecht des Rindes) und LOM_MUT (Ohrmarke der Mutter). Beispiel:
Falls z.B. das Kalb mit der Ohrmarke 276090000000002 ein Mehrling ist, dann muß eine zusätzliche Spalte eingeführt werden:
Unbenutzte Werte in der optionalen Spalte MEHRLING dürfen dann leer gelassen werden. Da diese Datendatei keine Spalte mit dem Namen "*" hat, muß in der Ini-Datei der Parameter COMMAND z.B. auf XS gesetzt werden und darf nicht "*S" oder nur "*" sein. ABGANGDie Meldungsart ABGANG benötigt mindestens die Angaben LOM (Ohrmarke des abzugebenden Rinds), BNR15 (Betriebsnummer) und ABGA_DAT (Datum, an dem das Rind abgegeben wird). Beispiel:
Hier ist die Spalte "*" mit vollständigen Aktionen angegeben, daher darf in der Ini-Datei der Parameter COMMAND nur auf "*" gesetzt werden. Zu beachten ist, daß ein Rind von einem Bauernhof, das zur Schlachtung in den Schlachthof soll, nur mit ABGANG gemeldet wird und nicht als SCHLACHTUN. ZUGANGDie Meldung ZUGANG benötigt mindestens die Angaben LOM (Ohrmarke des zugehenden Rinds), BNR15 (Betriebsnummer) und ZUGA_DAT (Datum, an dem das Rind angenommen wird). Beispiel:
Hier ist die Spalte "*" nur als Aktionstyp angegeben, daher darf in der Ini-Datei der Parameter COMMAND z.B. nur auf "*S" gesetzt werden, so daß der "*" durch den Wert aus der Spalte ersetzt wird (ergäbe hier "XS"). SCHLACHTUN(Namen von Meldungen sind höchstens 10 Zeichen lang, daher fehlt hinten
das G!)
Hier ist die Spalte "*" mit vollständigen Aktionen angegeben, daher darf in der Ini-Datei der Parameter COMMAND nur auf "*" gesetzt werden. TODDie Meldung TOD benötigt mindestens die Angaben LOM (Ohrmarke des verendeten oder hausgeschlachteten Rinds), BNR15 (Betriebsnummer) und TOD_DAT (Datum, an dem das Rind getötet wird). Beispiel:
Möchte man z.B. die Todesart TOD_ART mitvermerken, ergänzt man eine neue Spalte (hier die 4.):
Ini-Datei zu den Beispielen:
Anzumerken ist noch, daß für Meldungen der Eintrag für OUFILE ohne Bedeutung ist, d.h. es wird immer eine leere Datei erzeugt. Er kann somit wegelassen werden. AbfragenAbfragen liefern grundsätzlich Datenzeilen zurück. Eine einfache Abfrage, die nur die Anzahl der Datenzeilen liefert, ist momentan nicht implementiert, jedoch ist sie für spätere Versionen des HitServers vorgesehen. Die Ini-Datei sieht gegenüber der obigen nur leicht verändert aus:
Delta-AbfragenDelta-Abfragen erlauben das Ermitteln von Datensätzen seit der zuletzt gemachten Delta-Abfrage. Damit können Sie z.B. zyklisch jede Woche alle in der vorangegangenen Woche gemachten Geburten abfragen. Nach der Ausführung einer Delta-Abfrage wird der momentane Zeitpunkt vermerkt, ab dem die nächste Delta-Abfrage ihre Daten ermittelt. Eine Standard-Delta-Abfrage hat den Befehl RS/D. Diese liefert nur die momentan offenen Meldungen. Sollen abgeschlossene und offene Meldungen auf diese Weise abgefragt werden, dann benutzt man den Befehl RS/H. N7eben diesen beiden gibt es noch zwei abgewandelte Delta-Varianten: RS/M für eine Delta-Abfrage analog RS/D und RS/N analog RS/H, jedoch wird in beiden Fällen der momentane Zeitpunkt nicht vermerkt. Sie können damit also die Delta-Funktionalität wiederholt testen. Bestand eines BetriebesAls Landwirt möchte man seinen Bestand zu einem bestimmten Datum ermitteln. Dazu fragt man die Meldungsart BETRD ab und gibt der Abfrage die Funktion #BESTREG mit. Die Bedingungen für die Abfrage sind, daß eine bestimmte Betriebsnummer verglichen werden muß und daß der Bestand des gegebenen Zeitraumes bzw. Tages (wenn Zeitraum auf einen Tag fällt) ausgegeben wird. Der dazugehörige Set im Ini-File hat etwa folgendes Aussehen:
Die Datendatei bestand.in sieht dann etwa so aus:
Die erste Zeile gibt an, welche Felder die Abfrage ausgeben soll. Da aber nur eine Funktion angegeben wurde, wird zuerst diese Funktion aufgerufen und deren Felder ausgegeben. Die Parameter für die Funktion #BESTREG legen den Tag fest, hier vom 19.10.1999 bis 19.10.1999 (d.h. Stichtagsabfrage), und als auszugebende Felder werden alle in der Tabelle #BESTREG angegebenen Spalten ausgegeben. Als Meldungsart muß BETRD (d.h. MELDUNG=BETRD) angegeben werden (siehe Ini-Dateiausschnitt). Möchte man jedoch den Bestand eines Betriebes in einem Zeitraum ermitteln, dann genügt die Änderung des Stichtages in einen Zeitraum:
Im Beispiel wird der Bestand über eine Woche vom 19.10.1999 bis einschließlich 26.10.1999 ausgegeben: Monatliche Abgänge ermittelnEin Landwirt möchte monatlich seine gesamten Abgänge ermitteln. Dazu ruft er an jedem Monatsende den HitBatch auf, der ihm mit dem Befehl RS/H alle seit der letzten Delta-Abfrage abgeschlossenen und offenen Abgänge ausgibt. Die Datendatei mon_abgang.in ist dann ganz kurz und einfach:
Es wird nur auf die Betriebsnummer des Landwirtes geprüft. In der Ini-Datei muß dann im Set die MELDUNG=ABGANG und zudem das Feld COMMAND=RS/H gesetzt sein. Der dazugehörige Set im Ini-File hat folgende Form:
Vorgangstabellen ausgeben lassenWenn Plausi-Prüfungen in HIT ergeben, daß die logische Abfolge der Tierbewegungen aus irgend einem Grund nicht korrekt sind, dann werden in der Vorgangstabelle Datensätze für den betreffenden Betrieb abgelegt, der den Fehler ausgelöst hat. Diese Datensätze muß die Regionalstelle auslesen und anhand der Fehlermeldungen die Meldung(en) korrigieren, ggf. den Betrieben mitteilen. Die Daten müssen aus der Tabelle VORGANG geholt werden, so daß das Ini-File etwa so aussieht:
Eine etwas komplexe Abfrage aus der Vorgangstabelle in vorgang.in:
Aus der Tabelle gibt der HitBatch die Felder VORGNR (Vorgangsnummer), VORGLFN (laufende Nummer zur Vorgangsnummer), PLAUSINR (Fehlernummer der Plausiprüfung), SCHWERE (Schwere des Fehlers) aus. Zusätzlich werden zu allen zur gegebenen Bedingung (hier: Vorgangsnummer soll gleich 13 sein) gefundenen Datensätze von den Organisationsdaten die Spalten LOM, MEHRLING und BNR15 mit ausgegeben. Die Ausgabefelder der Funktion !ORGDATEN, d.h. die Feldnamen hinter dem '/' in der Funktionsparameterliste, beziehen sich im Beispiel auf Felder der Meldeart GEBURT. Liefert die Vorgangstabelle jedoch Datensätze anderer Entitäten, z.b. ABGANG und ZUGANG, dann werden von den Feldern in der Ausgabefelderliste nur die gefüllt, die auch in der Entitätentabelle vorkommen. Bei ZUGANG würden nur die Spalten LOM und BNR15 gefüllt, Spalte MEHRLING jedoch nicht, da diese in der Tabelle ZUGANG nicht existiert. Bewegungsmeldungen zu einem Tier ermittelnMöchte man eine Liste von Tierbewegungen zu einem Tier erhalten, frägt man die Bewegungsmeldungen ab. Sie erhalten dann Informationen über alle Bewegungsmeldungen zu einem Tier nach Datum sortiert: GEBURTA, ERSTERF, GEBURT, EUEIN, IMPMARK, ABGANG, ZUGANG, AUSFUHR, SCHLACHTUN, TOD. Die Funktion !BEWMELD erwartet eine Ohrmarkennummer aus einer Entität, die das Feld LOM bereitstellt, und liefert aus der Datenbank alle vorhandenen Daten aus den aufgelisteten Meldungstabellen. Geben Sie bestimmte Ausgabefelder an, dann werden diese soweit möglich gefüllt. Eine Ini-Datei dafür sieht etwa so aus:
Antwort:
Abfrage von Tierende-Daten zu abgegangenen TierenMöchte man sämtliche Tierende-Daten eines Betriebes erhalten, von dem die Tiere abgegangen sind, dann hilft Ihnen die #TIERENDE-Abfragefunktion. In der Liste sind dann alle Meldungen zu den gegebenen Tieren aufgelistet, die zu folgenden Entitäten gehören: TOD, SCHLACHTUN und AUSFUHR. Eine Ini-Datei dafür sieht etwa so aus:
Die Datendatei:
Antwort:
|