<< Klicken um das Inhaltsverzeichnis anzuzeigen >> HIT-Abfragen |
Mit der REST-Schnittstelle von HIT steht die Möglichkeit zur Verfügung, universelle Abfragen der HIT-Datenbank zu tätigen oder bei Bedarf Daten in HIT zu manipulieren. Versierte Nutzer (insbesondere diejenigen, die mit dem HIT-Batch-Client vertraut sind), können damit schnell und einfach Informationen aus HIT gewinnen. Da Abfragen als Text-Datei (*.hit) gespeichert, weiter gegeben und anschließend geladen werden können, steht diese Programmfunktion auch dem weniger geübten Nutzer zur Verfügung.
Anmeldung bei HIT und Auswahl des System hier
Es sind zunächst Meldung, Feldliste und Datenliste auszufüllen und dann die gewünschte Aktion zu wählen.
Es werden grundsätzlich zwei Arten der Aktionen unterschieden:
•Abfragen von Daten
oEs sind anzugeben:
▪Meldung (Welche Tabelle soll abgefragt werden?),
▪Feldliste (Welche Spalten sollen abgefragt werden?) und
▪Datenliste (Welche Daten (Bedingung) sollen abgefragt werden).
oBeim Betätigen der Schaltfläche Abfrage erfolgt die Anmeldung am gewählten System und die Abfrage der Daten (Kommando: Get)
•Manipulieren von Daten (Einfügen, Ändern, Löschen)
oEs sind anzugeben:
▪Meldung (In welcher Tabelle soll eingefügt, geändert, gelöscht werden?),
▪Feldliste (Welche Spalten sind in der Datenliste angegeben?) und
▪Datenliste (Welche Daten sollen eingefügt, geändert oder gelöscht werden?).
oBeim Betätigen der Schaltfläche
▪Einfügen werden die Daten in die gewählte Meldung eingefügt (Kommando: Put).
▪Ändern werden die Daten in der gewählten Meldung geändert (Kommando: Post) oder eingefügt, wenn sie noch nicht vorhanden sind.
▪Löschen werden die Daten aus der gewählten Meldung entfernt (Kommando: Delete).
Um die Weitergabe und Nachnutzung von Abfragen zu erleichtern, kann eine Abfrage (Meldung, Feldliste, Datenliste, Subcode und Parameter) mit Hilfe der Schaltfläche in einer Datei mit der Endung *.hit gespeichert werden.
Mit der Schaltfläche oder per Drag&Drop einer Datei mit der Endung *.hit in dieses Fenster kann eine Abfrage geladen werden. Die gespeicherten Angaben (Meldung, Feldliste, Datenliste, Subcode und Parameter) werden dabei in die entsprechenden Eingabereiche eingetragen.
Die Schaltfläche erlaubt es, Daten aus der Zwischenablage einzufügen. Dies kann zum einen eine zuvor als Datei gespeicherte Abfrage (Datei *.hit) sein, die in einem Windows-Auswahlfenster in die Zwischenablage kopiert wurde. Zum anderen ist es möglich, HIT-Befehle als Text in die Zwischenablage zu kopieren und einzufügen.
Folgende Textformate werden dabei momentan erkannt und verarbeitet:
• interne Befehle von HIT, die auf der Webseite des HIT-Meldeprogramms markiert und in die Zwischenablage kopiert wurden.
z.B. folgende Form: RS:BTR_T_AKT/TYP_BETR:BNR15;EQ;276009000000040;AND;TYP_BETR;LE;9999;ORDER;1
Hinweis: Für jede Abfrage, die Sie über die HIT-Webseite vornehmen, generiert HIT einen zugehörigen internen Befehl. Die Liste der letzten Befehle können Sie unter "weitere Abfragen und Funktionen..." und hier unter "Anzeige der zuletzt ausgeführten internen Befehle (HITP)" erreichen. hier
•Befehle, die als Beispiele auf HIT-Webseiten hinterlegt sind.
z.B. folgende Form: *2:RS/C;#FktOnly:TIERBETR/#TSN_TB_LO(BNR15;;0;1;1;1;1):BNR15;IS;091311400001,090000000031, 090000000162
Hinweis: Beispiele auf HIT-Webseiten funktionieren i.d.R. für das Testsystem von HIT und "bayrische Anmeldmeldeinformationen"
•Beispiele aus dieser Hilfe zur Schnittstelle und jeder mindestens dreizeilige Text, der in der ersten Zeile die Meldung, der zweiten Zeile die Feldliste und in der dritten (und jeder weiteren Zeile) die Datenliste enthält wie z.B.
TIERSTATX
BNR15_LMON;LOM;$CODEKURZ(RASSE/RASSE);GEB_DATR;ST_AL_MO
ST_LEBEND;=;1;AND;BNR15_LMON;IS;276091311400001,09 000 000 0031, 09 000 000 0162
Mit der Schaltfläche werden alle Eingabe- und Ausgabebereiche geleert. Lediglich die Anmeldeinformationen und das Zielsystem werden nicht zurückgesetzt.
Um die Funktionsweise der HIT-Rest-Schnittstelle zu demonstrieren und ggf. das Funktionieren der Schnittstelle schnell testen zu können, sind zwei Beispiele in das Fenster integriert worden. Die gewählten Beispiele aktivieren automatisch das Wartungssystem von HIT und tragen die dafür notwendige BNR15 und PIN selbständig ein.
1.Ein Beispiel für eine Abfrage kann aktiviert werden, indem die Schaltfläche neben der Schaltfläche "Abfrage" betätigt wird. Es funktioniert ausschließlich mit der Schaltfläche Abfrage und gibt für den Testkreis Nord (99991) die Adressen der eingetragenen Betriebe zurück.
oBTR_D
BNR15;NAME;STR_NR;PLZ;ORT
BNR15;IS;27699991
2.Ein Beispiel für das Einfügen (Ändern oder Löschen) von Daten kann aktiviert werden, indem die Schaltfläche neben der Schaltfläche "Einfügen" betätigt wird. Es funktioniert mit den Schaltflächen Einfügen, Ändern und Löschen und fügt zwei Untersuchungsaufträge in die Meldung TSN_UAUF ein bzw. erlaubt es, sie zu ändern und zu löschen.
oTSN_UAUF
TSN_SO_NR;TSN_SP_GRN;TSN_UN_GRN;TSN_SEUCHE;BNR15;TSN_RI_ANZ;TSN_SW_ANZ;TSN_SF_ANZ;TSN_ZI_ANZ;TSN_U01_AG;TSN_U02_AK;TSN_U03_EI;TSN_M01_BE;TSN_M02_BS;TSN_M03_RA;TSN_M04_NA;TSN_M05_SP;TSN_M06_AP;TSN_M07_KL;TSN_M08_OR;TSN_M09_FU;TSN_AUFNR;TSN_AUFPN
14-981-00372;8;8;981;999920180046;86;0;0;0;1;1;0;0;1;0;0;0;0;0;0;0;14999920010000000068;001
14-981-00372;8;8;981;999920187061;159;0;0;2;1;1;0;0;1;0;0;0;0;0;0;0;14999920010000000069;001
Wird eine Aktion (Abfrage, Einfügen, Ändern oder Löschen) ausgeführt, gibt HIT eine Antwort. Sollte die Antwort auf einen offensichtlichen Fehler hinweisen (z.B. falsche PIN) oder eine Abfrage keine Daten liefern, wird diese Information in einem separaten Nachrichtenfenster ausgegeben.
Bei prinzipiell erfolgreicher Ausführung von Abfragen oder Manipulationen erfolgt die Ausgabe der Antwort von HIT im Steuerelement "Ausgabe HIT".
Bei Abfragen werden die ersten (maximal) 1000 Zeilen der Rückgabe von HIT angezeigt. Bei Manipulationen (Einfügen, Ändern, Löschen) werden für jede Zeile aus der Datenliste der Erfolg bzw. weitere von HIT gelieferte Hinweise angezeigt. Sollten pro Datenzeile mehrere Antwortzeilen vorhanden sein, werden diese per Index nummeriert [1/1], [1/2] usw.
Mit der Schaltfläche wird die formatierte HIT-Antwort in die Zwischenablage kopiert. Dabei wird für Abfragen eine Tabelle erzeugt, bei der die Spalten mit Tabulatoren getrennt sind. Mit der Schaltfläche wird die Tabelle in einer CSV-Datei gespeichert. Dabei wird als Trennzeichen das Semikolon verwendet. Um das Ergebnis einer Abfrage (Tabelle) direkt in Excel zu öffnen, ist die Schaltfläche zu verwenden.
Die Antwort von HIT wird vom Programm analysiert und aufbereitet. Um auf die ungefilterte Antwort (z.B. für Fehleranalysen) zugreifen zu können, kann die unbearbeitete Antwort (JSON-Format) mit der Schaltfläche in die Zwischenablage kopiert werden.
Eine detaillierte Dokumentation aller Meldungen, Funktionen und Operatoren ist über HIT-Webseite verfügbar, eine kurze Einführung für Abfragen bietet diese Hilfeseite.
•Die Meldung stellt die Tabelle in HIT dar, auf die sich die Abfrage beziehen soll.
oeinige "wichtige" Tabellen sind über das Kombinationsfeld „Meldung“ direkt auswählbar
oDie Schaltfläche zeigt die Meldungselemente (Felder bzw. Spalten) der gewählten Meldung im HIT-Datenverzeichnis an.
•In bestimmten Szenarien können Codes angegeben werden, um das Verhalten bei der Abfrage zu modifizieren.
oC (Distinkt)
Es werden nur unterschiedliche Zeilen ausgegeben.
oZ (Zeitpunkt)
Es wird die Abfrage zum angegebenen Zeitpunkt ausgeführt, z.B. Z01.01.2018.
Nicht alle Tabellen/Abfragen (z.B. RI_STAT) unterstützen diese Historisierung.
oT (Trotzdem)
Beim Übertragen von Daten (Einfügen, Ändern) kann die Überprüfung der Daten zu Nachfragen (im HIT-Kontext: Fehler der Schwere 2) führen, die im Kontext dieser Anwendung nicht unterstützt werden würden. Mit T plus Fehlernummer wird eine spezifische Nachfrage als automatisch bestätigt angesehen, z.B.T9926.
oR (Rows)
Die Ausgabe der Zeilen wird auf die angegebene Anzahl beschränkt, z.B. R100
oQ (Quota)
Es wird eine Zufallsauswahl der Ausgabesätze durchgeführt und die angegebene Ouote (Wert zwischen 0.0 und 1.0) nach dem Monte-Carlo-Auswahlverfahren zurückgegeben, wobei z.B. Q0.05 5% entspricht.
oW (Wiederholbare Zufallsauswahl)
Bei Zufallsauswahl mit dem Subcode Q wird immer derselbe Startwert für den Zufallsgenerator verwendet, womit die Muster reproduzierbar sind. Falls verschiedene Reihen gewünscht sind, kann mit einem expliziten Startwert (1 bis 999999999999999 ) für den Zufallsgenerator eine andere Reihenfolge gewählt werden. Bei W0 wird immer ein nicht reproduzierbare Reihe erzeugt.
oC;#FktOnly
Info: Diese Subcode-Kombination wird bei der Verarbeitung von Newline-Funktionen automatisch hinzugefügt und bewirkt, dass nur die Antworten der Funktion ausgegeben werden.
•Die Feldliste umfasst alle Spaltennamen, die aus der gewählten Meldung angezeigt werden sollen, getrennt durch Semikolon. Ist die Ausgabe aller Spalten der Meldung gewünscht, ist ein * anzugeben. Die möglichen Spaltennamen (Meldungselemente) zur gewählten Meldung können (wie oben beschrieben mit der Schaltfläche ) aus dem HIT-Datenverzeichnis ermittelt werden.
•Alternativ können in der Feldliste, Funktionen angegeben werden. HIT-Abfragefunktionen
oes werden mehrere Typen von Funktionen in HIT unterschieden, die an ihrem ersten Zeichen identifiziert werden können. Hier behandelt werden $ (=Inline-Funktion) und # (=Newline-Funktionen).
o$ Inline-Funktionen liefern nur einen Wert und erscheinen als "normale" Spalte in der Ausgabenzeile. Es können demzufolge mehrere Inline-Funktionen in einer Feldliste (getrennt durch Semikola) aufgerufen werden.
▪Um der Spalte einen aussagekräftigen Namen bei der späteren Ausgabe zu geben, kann (hinter eventuell angegebenen Eingabeparametern der Funktion - im Bsp. LOM) nach einem Schrägstrich ein Name angegeben werden.
Beispiel: $ALPHALOM(LOM/Ohrmarke)
o# Newline-Funktionen stehen am Anfang der Feldliste und geben eine oder mehrere Antwortzeilen zurück, die selbst wiederum viele Spalten enthalten können. Wird eine Newline-Funktion angegeben, besteht die Feldliste im Kontext dieses Programms immer aus genau dieser einen Newline-Funktion!
▪Eine Reihe von Newline-Funktionen können direkt über die Schaltfläche ausgewählt werden. Dabei werden Meldung (Führungsentität) und Feldliste initialisiert, lediglich die Datenliste (Bedingung bzw. Liste mit Betriebsnummern/Ohrnummern) ist anzugeben.
▪Newline-Funktionen geben ohne weitere Einschränkungen ihre komplette und zumeist umfangreiche Feldliste aus. Hier sollte die Feldliste auf die wirklich benötigten Felder eingeschränkt werden.
Beispiel: #BESTREY(/BNR15;BREGY_M0;BREGY_M3;BREGY_M6;BREGY_M9;BREGY_M12)
oDie Hilfe zu HIT-Abfragefunktionen auf der HIT-Webseite kann über die Schaltfläche aufgerufen werden. Ist eine Funktion im Eingabebereich der Feldliste markiert (z.B. durch Doppelklick mit der Maus) oder befindet sich eine Funktion ($ oder #) am Anfang des Eingabebereichs der Feldliste, dann wird auf der HIT-Webseite direkt zum Kommentar zu dieser Funktion gesprungen.
▪auf der HIT-Webseite sind die Parameter ausführlich mit Beispielen erklärt. Diese Beispiele funktionieren in der Regel mit dem Testsystem von HIT
oallgemeine Funktionen (Inline)
▪allgemeine Funktionen dienen der Formatierung und Darstellung, der Datumsberechnung oder arithmetischen Berechnung von Spalten. Die Feldliste kann mehrere dieser Funktionen enthalten.
Funktion |
Beschreibung |
Beispiel |
Darstellung, Formatierung, Ausgabeaufbereitung |
||
Name und Adresse des zuständigen Veterinäramtes aus Betriebsnummer ermitteln; die Funktion ist mit einer Konstanten für das gewünschte Feld aufzurufen: NAME_GES, ADDR_GES, TELEFON usw. |
$ADDRAMT(BNR15;ADDR_GES/VA-Adresse) $ADDRAMT(BNR15;NAME_GES/VA-Name)
|
|
Hofadresse aus Betriebsnummer ermitteln; die Funktion ist mit einer Konstanten für das gewünschte Feld aufzurufen: ADDR_GES, NAME_GES, ORT usw. |
$ADDRHOF(BNR15;ADDR_GES/Hofadresse) $ADDRHOF(BNR15;NAME_GES/Name)
|
|
Postadresse aus Betriebsnummer ermitteln; die Funktion ist mit einer Konstanten für das gewünschte Feld aufzurufen: ADDR_GES, NAME_GES usw. |
$ADDRPOST(BNR15;NAME/Name) $ADDRPOST(BNR15;ORT/Ort)
|
|
gegliederte Aufbereitung von Ohrmarkennummern |
$ALPHALOM(LOM/Ohrmarke) 276000115350688 → DE 01 153 50688 |
|
gegliederte Darstellung von Betriebsnummern |
$ALPHABNR(BNR15/Betriebsnummer) 010591792871 → 01 059 179 2871 |
|
Kreis aus Betriebsnummer ermitteln |
$BNRKREIS(BNR15/Kreis) 09 177 148 0001 → 148 |
|
Bundesland aus Betriebsnummer ermitteln |
$BNRLAND(BNR15/Land) 09 177 148 0001 → 9 $BNRLAND(BNR15;2/Land) 09 177 148 0001 → BY $BNRLAND(BNR15;3/Land) 09 177 148 0001 → Bayern |
|
Regierungsbezirk aus Betriebsnummer ermitteln |
$BNRREGBEZ(BNR15/RegBez) 09 177 148 0001 → 1 |
|
Kurztext zu Schlüsselwert ermitteln |
$CODEKURZ(RASSE/Rasse) 1 → SBT |
|
Text zu Schlüsselwert ermitteln |
$CODETEXT(RASSE/Rasse) 1 → Holstein-Sbt |
|
Benennt den Spaltennamen bei der Ausgabe um |
$RENAME(LOM/Ohrmarke) |
|
Datum |
||
aktuelles Systemdatum |
|
|
Werte zu einem Datum addieren / von einem Datum abziehen |
$DATE_ADD(GEB_DATR;-1/Vortag) $DATE_ADD(GEB_DATR;1/Folgetag) |
|
Differenz aus zwei Datumswerten Hinweis: Parameter1 ist das "kleinere" Datum |
$DATE_DIFF(GEB_DATR;DAT_END/Alter) |
|
$DAY |
Tag aus Datum ermitteln |
$DAY(GEB_DATR/Tag) |
Monat aus Datum ermitteln |
$MONTH(GEB_DATR/Geburtsmonat) |
|
$KW |
Kalenderwoche aus Datum ermitteln |
$KW(GEB_DATR/Geburtswoche) |
Wochentag aus Datum ermitteln (MO..SO) |
$WEEKDAY(GEB_DATR/Wochentag) |
|
$YEAR |
Jahreszahl aus Datum ermitteln |
$YEAR(GEB_DATR/Geburtsjahr) |
Arithmetische Berechnung |
||
$ADD |
Addieren von Zahlen |
$ADD(RI_A_M6;RI_A_M12/Summe) |
Subtrahieren von Zahlen |
$SUBTRACT(RI_A_SUM;RI_A_M6/Differenz) |
|
Multiplizieren von Zahlen (2. Parameter kann Konstante sein) |
$MULTIPLY(RI_A_SUM;2/Produkt) |
|
Division von Zahlen (2. Parameter kann Konstante sein) |
$DIVIDE(RI_A_SUM;2/Quotient) |
oAggregatfunktionen (Inline)
▪Aggregatfunktionen in der Feldliste werden in Verbindung mit einer GROUP-Anweisung in der Datenliste verwendet. Dabei gilt die Regel, dass alle Spalten, die nach der GROUP-Anweisung folgen, in der Feldliste erscheinen müssen. Darüber hinaus können u.a. folgende Funktionen Bestandteil der Feldliste sein, um entsprechend der Gruppierungsspalten zu aggregieren (zählen, summieren usw.).
Hinweis: Die Beispiele enthalten Meldung, Feldliste und Datenliste. Die Zeilen können aus der Hilfe in die Zwischenablage kopiert und mit der Schaltfläche direkt in das Abfragefenster eingefügt werden.
Funktion |
Beschreibung |
Beispiel |
$AVG |
Durchschnitt einer Spalte |
RI_STAT $BNRLAND(BNR15;2/Land);$AVG(RI_A_SUM/Durchschnitt) JAHR;=;2018;GROUP;$BNRLAND(BNR15) |
Zeilen zählen |
RI_STAT $BNRLAND(BNR15;2/Land);$COUNT(*/Anzahl) JAHR;=;2018;GROUP;$BNRLAND(BNR15) |
|
Anzahl unterschiedlicher Werte einer Spalte zählen |
RI_STAT $BNRLAND(BNR15/Land);$COUNTD(BNR15/Anzahl) JAHR;=;2018;GROUP;$BNRLAND(BNR15) |
|
$MAX |
Maximum einer Spalte |
|
$MIN |
Minimum einer Spalte |
|
$SUM |
Summe einer Spalte |
RI_STAT $BNRLAND(BNR15/Land);$SUM(RI_A_SUM/Summe) JAHR;=;2018;GROUP;$BNRLAND(BNR15) |
oNewline-Funktionen
▪Newline-Funktionen erzeugen (wie bereits erwähnt) eine oder mehrere Zeilen und verfügen häufig über zahlreiche Aufrufparameter (Inputparameter), die der Hilfe auf der Web-Seite entnommen werden können. Häufig werden sehr viele Ausgabespalten erzeugt, sofern nicht explizit beim Aufruf eine Feldliste angegeben ist. Der Aufruf eine Newline-Funktion setzt immer die Angabe einer passenden Meldung (hier Führungsentität genannt) voraus.
Funktion |
Beschreibung |
Beispiel |
Bestandsregister eines Betriebs für Zeitpunkt/Zeitraum 1.Datum von (leer für heute) 2.Datum bis (leer für heute) 3.Betrieb-Spalte (i.d.R. BNR15) 4.Sortierung (Standard LOM) 5.GVE-Rechen-Modus 6.GVE-Faktor 7.alle Tiere (leer), bestimmtes Tier (LOM), Summe aller Tiere (0) |
8.für heutiges Datum TIERBETR #BESTREG() BNR15;=;276091311400001 9.für 1.1.2019, bestimmte Felder TIERBETR #BESTREG(01.01.2019;01.01.2019;BNR15 /LOM;RASSE_X;GESCHL_X;GEB_DATR;ALTERA) BNR15;=;276091311400001 |
|
Bestandsregister mit Altersstatistik |
10.für 19.2.2019 Summe aller Rinder TIERBETR #BESTREY(19.02.2019;19.02.2019;BNR15;;;;0 /BNR15;BREGY_SUM) BNR15;=;276091311400001 |
|
Lebenslauf eines Tieres berechnen
|
11.Lebenslauf von 2 Tieren TIERBETR #LEBENSLF(/LOM;BNR15;BEW_DAT;BEW_MELD) LOM;IS;276000913101003,276000913118152 |
|
TSN-Tierbestand Lokal Tierbestandszahlen für TSN (KVP) für Tierarten Rind, Schwein, Ziege, Schaf am Stichtag berechnen! 12.Betrieb-Spalte (i.d.R. BNR15) 13.Datum (leer für heute) 14.Herkunft der Daten (0=Rinderstatistik, 1=Bestandsregister) 15.Rind (0=Nein, 1=Ja) 16.Schwein (0=Nein, 1=Ja) 17.Schaf (0=Nein, 1=Ja) 18.Ziege (0=Nein, 1=Ja) |
19.für heutiges Datum, Rinder aus Rinderstatistik TIERBETR #TSN_TB_LO(BNR15;;0;1;1;1;1) BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162 20.für 6.7.2018, Rinder aus Bestandsregister TIERBETR #TSN_TB_LO(BNR15;06.07.2018;1;1;1;1;1) BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162 21.für 6.7.2018, Rinder aus Bestandsregister mit Feldliste TIERBETR #TSN_TB_LO(BNR15;06.07.2018;1;1;1;0;0 /BNR15;TA_RIND;TA_SCHW) BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162 |
|
TSN-Tierbestand Online Tierbestandszahlen für TSN (Online) für Rind, Schwein, Ziege, Schaf am Stichtag berechnen! |
22.für heutiges Datum, Rinder aus Bestandsregister TIERBETR #TSN_TB_ON(BNR15;;0;1;1;1;1) BNR15;IS;276091311400001 |
•Die Datenliste kann grundsätzlich folgende Konstrukte enthalten:
oBedingung, Gruppierung, Sortierung
oeine einspaltige Liste mit einem Spaltennamen (BNR15, LOM etc.) und darunter einer Liste von Werten
oeine Kombination aus einer Bedingung und einer Liste
•Bedingungen
oTrennzeichen für Elemente ist immer das Semikolon (lediglich beim IS-Operator wird ein Komma verwendet)
oÜbersicht der Operatoren und Verknüpfungen
Operator |
Alterntiv |
Beschreibung |
Beispiel |
EQ |
= |
Gleichheitszeichen (equal ) |
NAME;=;FLI → findet FLI |
EQX |
|
gleich - case insensitiv (equal extended) |
NAME;EQX;Fli → findet FLI und Fli |
NE |
^= |
nicht gleich (not equal ) |
DAT_END;NE;%-- → Datum Tierende ist nicht leer %-- steht in HIT für "nicht vorhanden" |
NEX |
|
nicht gleich - case insensitiv (not equal extended) |
|
LT |
< |
kleiner als (less to) |
|
LE |
<= |
kleine/gleich (less equal) |
|
GT |
> |
größer als (greater to) |
|
GE |
>= |
größer/gleich (greater equal) |
|
BW |
BETWEEN |
Wert innerhalb Bereich |
GEB_DATR;BW;01.01.2017;31.12.2018 |
NB |
NOT BETWEEN |
Wert außerhalb Bereich |
|
IN |
IN |
Wert in einer Liste |
LOM;IN;DE0122329706;DE0122428694 |
NI |
NOT IN |
kein Wert aus einer Liste |
|
LI |
LIKE |
Suche mit Wildcard % |
NAME;LI;Mei% Name → findet Meier, Meißner etc. |
LIX |
LIKEX |
Suche mit Wildcard % - case insensitiv |
NAME;LIX;Mei% → findet Meier, Meißner, MEINAG GmbH |
NL |
NOT LIKE |
nicht gleich mit Wildcard |
|
NLX |
NOT LIKEX |
nicht gleich mit Wildcard - case insensitiv |
|
IS |
* |
einfacher Wert |
BNR15;IS;120680010002 |
Wert beginnt mit ... (z.B. Kreisnummer) |
BNR15;IS;12068 |
||
Wert ist in Liste (Komma separiert) |
LOM;IS;DE0122329706,DE0122428694 |
||
Wert ist in Bereich |
BNR15;IS;12066-12070 |
||
AND |
|
logisch UND → beide Bedingungen müssen wahr sein |
GEB_DATR;<;01.01.2018;AND;ST_LEBEND;=;1 |
NAND |
|
not and → linke Bedingung muss wahr und die rechte Bedingung muss nicht wahr sein |
BNR15;IS;12;NAND;BNR15;IS;12068 |
OR |
|
logisch ODER → mindestens eine der Teilbedingungen muss erfüllt sein |
BNR15;IS;276099991;OR;BNR15;IS;27699992 |
NOR |
|
not or → linke Bedingung kann wahr oder die rechte Bedingung nicht wahr sein |
BNR15;IS;276093;NOR;BNR15;IS;27609 |
oGruppieren
Die GROUP-Anweisung erlaubt es, Zeilen nach bestimmten Spalten zu gruppieren und in der Feldliste Werte zu zählen, zu summieren etc. Komplette Beispiele (Meldung, Feldliste, Datenliste) hierzu wurden bereits bei den Aggregatfunktionen der Feldliste dargestellt.
▪GROUP;Spalte1;Spalte2;...
z.B. GROUP;JAHR;$BNRLAND(BNR15)
oSortieren
▪Die ORDER-Anweisung erlaubt es, nach einer oder mehreren Spalten zu sortieren.
•z.B.: ORDER;BNR15;LOM
▪Standardmäßig wird aufsteigend (a..z) sortiert. Mit dem Zusatz + (=aufsteigend, Voreinstellung) und - (=absteigend) kann die Reihenfolge gesteuert werden.
•z.B.: ORDER;STR_NR;-
•Einspaltige Liste
Es wurde für die Datenliste ein Verhalten implementiert, dass eine Liste von LOM, BNR15 usw. eingefügt werden kann, die automatisch in eine korrekte IN-Anweisung transformiert wird. Dazu ist der Feldname (z.B. LOM) anzugeben und darunter eine Spalte mit den entsprechenden Werten zu kopieren bzw. einzutragen.
oLOM
010590052140
010581342627
…
010581282291
oDa eine Abfrage (Befehl GET) URL-codiert über die REST-Schnittstelle an den HIT-Server übertragen wird, ist die Länge der möglichen Abfrage auf die maximale URL-Länge des Internet-Explorers und damit auf ca. 2060 Zeichen beschränkt. Umfasst die Liste von BNR15, LOM etc. sehr viele Einträge, wird die Abfrage automatisch in Blöcke unterteilt und in mehreren Schritten ausgeführt. Die Vorgabe für die Blockgröße ist 80, d.h., eine Liste von 80 Einträgen wird gerade noch in einem Zug ausgeführt, eine Liste von 200 Einträgen würde in 3 Blöcken ("Teilabfragen") ausgeführt und die Teilergebnisse zusammengesetzt werden!
▪Der Vorgabewert von 80 sollte in der Regel gut passen, er kann jedoch variiert werden. Abhängig davon, ob eine sehr lange Feldliste definiert wurde oder die LOM bzw. BNR länger oder kürzer notiert sind (276 09 131 140 0001 oder 091311400001), kann auch eine Blockgröße kleiner oder größer 80 Sinn machen. Die Blockgröße kann hinter dem Spaltennamen wie folgt optional vorgegeben werden:
LOM/120 oder LOM/70
Hinweis: Sollte die Abfrage zu lang für die Verarbeitung sein, erfolgt eine qualifizierte Fehlermeldung mit der Aufforderung, die Blockgröße zu ändern.
oein komplettes Beispiel zum Einfügen und Ausprobieren mit dem Testsystem von HIT (einige Spalten der Tabelle TierstatX zu Rindern, die sich im letzten Monat überwiegend in Betrieben einer Liste befanden):
TIERSTATX
BNR15_LMON;LOM;$CODEKURZ(GESCHL_R/MW);$CODEKURZ(RASSE/RASSE);GEB_DATR;ST_AL_MO
BNR15_LMON
09 131 140 0001
09 000 000 0031
09 000 000 0162
•Kombination aus Bedingung und Liste
oFalls eine Bedingung und eine Liste gemeinsam benötigt werden, ist dies möglich, indem der Beginn der Liste (der Feldname der Liste) mit einem @ gekennzeichnet wird.
▪Hinweis: Die Angabe von Bedingungen ist hilfreich, aber das Verwenden von Gruppierungen und Sortierungen in der Datenliste macht im Kontext von langen Listen keinen Sinn. Würde eine Liste in mehrere Abfrage-Blöcke aufgeteilt und nacheinander ausgeführt werden, wären nur die "Teilergebnisse" gruppiert oder sortiert!
▪Auch hier kann die vorgegebene Blockgröße bei Bedarf variiert werden:
@LOM/60
oein komplettes Beispiel zum Einfügen und Ausprobieren mit dem Testsystem von HIT (einige Spalten der Tabelle TierstatX zu Rindern älter als 100 Monate, die sich im letzten Monat überwiegend in Betrieben einer Liste befanden):
TIERSTATX
BNR15_LMON;LOM;$CODEKURZ(GESCHL_R/MW);$CODEKURZ(RASSE/RASSE);GEB_DATR;ST_AL_MO
ST_AL_MO;>;100
@BNR15_LMON
09 131 140 0001
09 000 000 0031
09 000 000 0162
Lebenslauf eines Rindes (Testsystem) |
TIERBETR #LEBENSLF() LOM;=;DE 09 131 14001 |
Lebenslauf (ausgewählte Spalten) der Rinder eines Betriebs (Testsystem) |
TIERBETR #LEBENSLF(/LOM;BNR15;BEW_DAT;BEW_MELD;NAME;PLZ;ORT;STR_NR) BNR15;=;091311400001 |
Rinder je Bundesland 2014-2016 (Testsystem nur Bayern, Produktionssystem alle) |
RI_STAT $RENAME(JAHR/Jahr);$BNRLAND(BNR15;3/Land);$COUNT(*/Betriebe);$SUM(RI_A_SUM/Rinder);$AVG(RI_A_SUM/Mittelwert) JAHR;BW;2014;2016;GROUP;JAHR;$BNRLAND(BNR15) |