HIT-Abfragen

<< Klicken um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  Extras >

HIT-Abfragen

Previous pageReturn to chapter overviewNext page

HIT-Abfragen

pb_screen

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 verweishier

Abfragen und Manipulieren von HIT-Daten

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).

Abfragen speichern und laden

Um die Weitergabe und Nachnutzung von Abfragen zu erleichtern, kann eine Abfrage (Meldung, Feldliste, Datenliste, Subcode und Parameter) mit Hilfe der Schaltfläche ic_diskette16 in einer Datei mit der Endung *.hit gespeichert werden.

Mit der Schaltfläche ic_oeffnen16 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 ic_koffer16 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. verweishier

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 ic_neu16 werden alle Eingabe- und Ausgabebereiche geleert. Lediglich die Anmeldeinformationen und das Zielsystem werden nicht zurückgesetzt.

Beispiele:

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 ic_student16 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 ic_student16 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

Antwort von HIT

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 ic_kopieren16 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 ic_exportieren16 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 ic_excel 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 ic_dokument16 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.

Meldung

Die Meldung stellt die Tabelle in HIT dar, auf die sich die Abfrage beziehen soll.

overweisHIT-Datenverzeichnis

oeinige "wichtige" Tabellen sind über das Kombinationsfeld „Meldung“ direkt auswählbar

oDie Schaltfläche ic_karteikasten16 zeigt die Meldungselemente (Felder bzw. Spalten) der gewählten Meldung im HIT-Datenverzeichnis an.

Subcode

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.

Feldliste

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 ic_karteikasten16) aus dem verweisHIT-Datenverzeichnis ermittelt werden.

Alternativ können in der Feldliste, Funktionen angegeben werden. verweisHIT-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 ic_auswahl16 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 ic_karteikasten16 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

$ADDRAMT

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)

 

$ADDRHOF

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)

 

$ADDRPOST

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)

 

$ALPHALOM

gegliederte Aufbereitung von Ohrmarkennummern

$ALPHALOM(LOM/Ohrmarke)

276000115350688 DE 01 153 50688

$ALPHABNR

gegliederte Darstellung von Betriebsnummern

$ALPHABNR(BNR15/Betriebsnummer)

010591792871 01 059 179 2871

$BNRKREIS

Kreis aus Betriebsnummer ermitteln

$BNRKREIS(BNR15/Kreis)

09 177 148 0001 → 148

$BNRLAND

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

$BNRREGBEZ

Regierungsbezirk aus Betriebsnummer ermitteln

$BNRREGBEZ(BNR15/RegBez)

09 177 148 0001 → 1

$CODEKURZ

Kurztext zu Schlüsselwert ermitteln

$CODEKURZ(RASSE/Rasse)

1 SBT

$CODETEXT

Text zu Schlüsselwert ermitteln

$CODETEXT(RASSE/Rasse)

1 Holstein-Sbt

$RENAME

Benennt den Spaltennamen bei der Ausgabe um

$RENAME(LOM/Ohrmarke)

Datum

$CURR_DATE

aktuelles Systemdatum

 

$DATE_ADD

Werte zu einem Datum addieren / von einem Datum abziehen

$DATE_ADD(GEB_DATR;-1/Vortag)

$DATE_ADD(GEB_DATR;1/Folgetag)

$DATE_DIFF

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)

$MONTH

Monat aus Datum ermitteln

$MONTH(GEB_DATR/Geburtsmonat)

$KW

Kalenderwoche aus Datum ermitteln

$KW(GEB_DATR/Geburtswoche)

$WEEKDAY

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)

$SUBTRACT

Subtrahieren von Zahlen

$SUBTRACT(RI_A_SUM;RI_A_M6/Differenz)

$MULTIPLY

Multiplizieren von Zahlen

(2. Parameter kann Konstante sein)

$MULTIPLY(RI_A_SUM;2/Produkt)

$DIVIDE

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 ic_koffer16 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)

$COUNT

Zeilen zählen

RI_STAT

$BNRLAND(BNR15;2/Land);$COUNT(*/Anzahl)

JAHR;=;2018;GROUP;$BNRLAND(BNR15)

$COUNTD

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

#BESTREG

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

#BESTREY

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

#LEBENSLF

Lebenslauf eines Tieres berechnen

 

 

11.Lebenslauf von 2 Tieren

TIERBETR

#LEBENSLF(/LOM;BNR15;BEW_DAT;BEW_MELD)

LOM;IS;276000913101003,276000913118152

#TSN_TB_LO

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_TB_ON

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

Datenliste

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

Beispiele:

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)