|
|
Inhalt
AllgemeinesKontextIm Rahme der Abfragesprache HIT-QL (Query-Language) wurde über HIT-Abfragefunktionen die Möglichkeit geschaffen, zusätzlich zu den Feldern einer abfragbaren Entität wie Ohrmarke oder Betriebsnummer aus den HIT-Meldungen GEBURT, TOD usw., davon abgeleitete Informationen zu ermitteln, wie z.B. Anzahl Datensätze, besser lesbare Alphadarstellung der Ohrmarke oder den Lebenslauf des Tieres mit der gefundenen Ohrmarke. Die HIT-Abfragefunktionen umfassen allgemeine Funktionen wie Zeilenzahl (COUNT) oder Minimum/Maximum die direkt in ein entsprechende Konstrukte der Datenbankabfragesprache (SQL) übersetzt werden können, aber auch komplexe Berechnungen, wie Lebenslauf oder Bestandsregister, die nur im Kontext der HIT-Datenstrukturen und ihrer Sachlogik definiert sind und teils über komplizierte Datenbankzugriffe gebildet werden müssen. Entsprechend gibt es einfache, sog. Inline-Funktionen die nur einen Wert zurückliefern der in der vorhandenen Antwortstruktur mit zurückgegeben werden kann. Daneben gibt es sog. Newline-Funktionen, die ein oder mehrere zusätzliche Antworten mit einer anderen, aber einheitlichen Datenstruktur (Objekt/Feldliste) liefern und immer ein oder mehrere neue Antwortzeilen liefert. Als weitere noch kompliziertere Form existieren noch sog. Mixtline-Funktionen, die in Erweiterung noch innerhalb der Funktionsantwort verschiedene Datenstrukturen als Antwort liefern. Funktionen können im RETRIEVE nicht als Objekt-Meldung sondern nur als Objekt-Feldelement benutzt werden. Welche Meldungsart bei der Abfrage damit zusammen mit einer bestimmten Funktion verwendet werden kann siehe unter Funktionsverwendung/Führungs-Entitäten. Die Kompetenzprüfung läuft dabei in zwei Stufen ab (siehe Kompetenz.XLS)
Stichpunkte und Verweise
EinschränkungenDie HIT-Abfragefunktionen haben teilweise erheblichen internen Ressourcen-Verbrauch zur Folge. Sie sind in erster Linie für Einzelabfragen, z.B. einzelne Tiere oder Betriebe, aber nicht für größere Bereiche geeignet. Wenn Landesstellen oder Veterinärbehörden diese Funktionen auf größere Bereiche wie einen ganzen Landkreis oder gar ein Land anwenden wollen, muss das mit dem Betreiber der ZDB abgesprochen werden. Ein Deltatransfer wird von den Funktionen nicht direkt unterstützt, d.h. man kann zwar die Delta-Subcodes in einer Abfrage angeben, sie beziehen sich aber immer nur auf die Führungsentität. Damit ist es z.B. nicht möglich über BTR_D nur alle veränderten Bestandsregister zu holen. Allerdings kann ein "Delta-Bestandsregister" über die Entität TIERBETR mit "distinct BNR15" durchgeführt werden, nähere Hinweise auf Anfrage bei Helmut.Hartmann@HI-Tier.de. Syntax und BeispieleFunktionsaufbau
BeispieleDiese ersten Beispiele geben eine ersten Einblick in die Benutzung der Funktionen, eine genauere Erläuterung erfolgt unten.
Beispiele unzulässiger Verwendung
Definierte AbfragefunktionenInline-Funktionen
Newline-Funktionen
Mixtline-Funktionen
*) Fußnoten :
Beschreibung der Inline-Funktionen$COUNT - Zeilenzähler
$COUNTB - Zeilenanzahl, bei sehr großen Datenmengenanalog $COUNT(), wenn das Ergebnis sehr groß ist $COUNTF - Zeilenzähler mit Feld gefüllt ("not NULL")
$GRUPPE - Größengruppen
$KLASSE - Benutzer definierte Größenklassen, u.a. zur Gruppierung
$KLASSEX - mit eigenen Klassennamen
$COUNTD - Anzahl verschiedener ("distinct") Werte im FeldAchtung: Da diese Funktion nicht zum Standard SQL gehört, ist nicht gewährleistet, dass diese Funktion in zukünftigen Version zur Verfügung steht. Wer diese Funktion längerfristig in Programmen verwenden will, muss sich mich den technisch verantwortlichen der Datenbank mailto:Helmut.Hartmann@HI-Tier.de in Verbindung setzen.
$MIN - Minimum,
|
Input | (beliebiger Spaltenname) |
Output | Ergebnis der zugehörigen Standard-Datenbankfunktion. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | Das Ergebnis der Datenbankfunktionen MIN (Minimaler Wert), MAX (Maximaler Wert), AVG (Durchschnitt), SUM (Summe) wird gebildet und zurückgegeben. Bei den mathematischen Funktionen AVG, SUM, STDDEV und VARIANCE können nur Felder mit numerischem Inhalt angegeben werden. Der Output ist evt. von einem anderen Datentyp. |
Beispiel | *2:RS:SCHLACHTUN/$AVG(SCHL_GEW):BNR15;EQ;276090000000004;AND;SCHL_DAT;BW;1.1.2009;31.12.2009 *3:RS:ZUGANG/$MAX(ZUGA_DAT):LOM;EQ;DE0913106031 |
Input | (beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format) |
Output | Ergebnis der zugehörigen Standard-Datenbankfunktion. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | Das Ergebnis der Datenbankfunktionen YEAR (Jahr), MONTH (Monat), DAY (Tag), DAYS (Laufende Nummer des Tag seit 1.1.1970), DATE (Datum aus einem Timestamp) wird gebildet und zurückgegeben. Es können nur Felder vom Format DATE oder TS (Timestamp) angegeben werden. Der Output ist i.d.R. von einem anderen Datentyp (INT). |
Beispiel | *4:RS:GEBURT/BNR15;GEB_DATR;$YEAR (GEB_DATR/Geb_Jahr);SYS_VON;$YEAR
(SYS_VON/Von_Jahr):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$MONTH(GEB_DATR/Geb_Mon );SYS_VON;$MONTH(SYS_VON/Von_Mon ):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$DAY (GEB_DATR/Geb_Day );SYS_VON;$DAY (SYS_VON/Von_Day ):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$DAYS (GEB_DATR/Geb_Days);SYS_VON;$DAYS (SYS_VON/Von_Days):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$DATE (GEB_DATR/Geb_Date);SYS_VON;$DATE (SYS_VON/Von_Date):BNR15;EQ;276091330700001 |
Input | (beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format) oder leer für Heute |
Output | Ergebnis der Kalenderwoche nach DE-Standard. Der anzuzeigende Name kann als Outputargument angegeben werden. |
Beschreibung | Das Ergebnis der Kalenderfunktion wird über den Inhalt der angegebenen Spalte oder von heute gebildet und zurückgegeben. Es können nur Felder vom Format DATE oder TS (Timestamp) angegeben werden. Der Output ist i.d.R. von einem anderen Datentyp (INT). |
Beispiel | *4:RS:GEBURT/BNR15;GEB_DATR;$KW(GEB_DATR/Geb_Woche):BNR15;EQ;276091330700001 |
Input | (beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format) oder leer für Heute |
Output | Wochentag nach DE-Standard. Der anzuzeigende Name kann als Outputargument angegeben werden. |
Beschreibung | Der Wochentag als Ganzzahl 1:Mo bis 7:SO wird über den Inhalt der angegebenen Spalte oder von heute ermittelt und zurückgegeben. Es können nur Felder vom Format DATE oder TS (Timestamp) angegeben werden. Der Output ist i.d.R. von einem anderen Datentyp (INT). |
Beispiel | *4:RS:GEBURT/BNR15;GEB_DATR;$WEEKDAY(GEB_DATR/Wochentag):BNR15;EQ;276091330700001 |
Input | Leer oder optional Angabe von zu addierenden oder zu
subtrahierenden Tages-, Monats- und Jahreswerte
|
Output | Aktuelles Datum oder daraus errechnetes Datum. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | Das Ergebnis der Datenbankfunktionen CURRENT_DATE() wird gebildet und zurückgegeben. Ggf. wird die angegebene Zahl Tage, Monate und Jahr dazu gezählt oder abgezogen. Der Output vom Datentyp (DATE). |
Beispiel | *4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(/Heute):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(-1/Gestern):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(0;0;1/In_einem_Jahr):BNR15;EQ;276091330700001 |
Input |
|
Output | Errechnetes Datum. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | Hole gewünschtes Datum aus der Datenbank und errechne daraus neues Datum indem die angegebene Zahl Tage, Monate und Jahr dazu gezählt oder abgezogen wird. Der Output vom Datentyp (DATE). |
Beispiel | *4:RS:GEBURT/BNR15;GEB_DATR;$DATE_ADD(GEB_DATR;-1/Vortag):BNR15;EQ;276091330700001 *4:RS:GEBURT/BNR15;GEB_DATR;$DATE_ADD(GEB_DATR;0;0;1/Nach_einem_Jahr):BNR15;EQ;276091330700001 |
Input | beliebiger Spaltenname |
Output | Wert des Median bzw. 3.Quartils zur aktuellen Zeile |
Beschreibung | Errechnete Kennzahl, nach aktuellem Stand, d.h. der Median
in der Dritten Zeile ist der mittlere Wert der ersten drei Datenwerte wenn
man sie der Größe nach sortiert. Es kann sich um numerische, aber auch
alphanumerische oder Datums/Zeitwerte handeln. Der Median in der letzten
Zeile ist der Wert über die gesamte Datenmenge und damit der einzige
wirklich interessante. Um nicht alle Datensätze abholen zu müssen ,wenn eigentlich nur die Kennzahl der letzten Zeile interessiert wurde die Möglichkeit "den letzten Satz zu lesen" mittels RS/R-1 dahingehend modifiziert, dass dabei immer Median bzw. 3.Quartil des gesamten vorher durchlaufenen Datenmaterials ausgegeben wird. Die Funktion ist intern sehr aufwändig und mit Bedacht einzusetzen. Das gleichzeitige Abrufen des Median und 3.Quartils in einer Abfrage kostet fast keinen zusätzlichen Aufwand und ist einem getrennten Abruf unbedingt vorzuziehen. |
Beispiel | *1:RS:TAM_ABHK/TAM_PERIOD;TAMH_FORM;TAMS_ABHK;$MEDIAN(TAMS_ABHK/MEDIAN):TAM_PERIOD;=;141;AND;TAMH_FORM;IS;11;AND;TAMS_ABHK;>;0;ORDER;TAM_PERIOD;TAMH_FORM;TAMS_ABHK *2:RS/R-1:TAM_ABHK/TAM_PERIOD;TAMH_FORM;$MEDIAN(TAMS_ABHK/MEDIAN);$QUARTIL3(TAMS_ABHK/QUARTIL3):TAM_PERIOD;=;141;AND;TAMH_FORM;IS;11 |
Input |
|
||||
Output | entsprechend gewünschter Spalte | ||||
Beschreibung | analog den Newline-Funktionen: #ADDRHOF: Betriebsadresse (BTR_D) #ADDRPOST: Postanschrift (BTR_P) oder wenn nicht vorhanden Betriebsadresse (BTR_D) |
||||
Beispiel | *1:RS/1.8.2018:PRMMREDFA/BNR15_AS;$ADDRHOF(BNR15_AS;NAME;F/NAME_AS);$ADDRHOF(BNR15_ANTRST;ADDR_GES;F/ADDR_ANTRST);$ADDRHOF(BNR15_HA;NAME;F/NAME_HALTER);$ADDRHOF(BNR15_HA;ADDR_GES;F/ADDR_HALTER):BNR15_AS;EQ;15 000 000 0001 *2:RS:PRMMREDM2/BNR15_AS;$ADDRHOF(BNR15_AS;NAME/NAME_AS);$ADDRHOF(BNR15_AS;NAME2/NAME2_AS);$ADDRHOF(BNR15_AS;ORTSTEIL/ORTSTEIL_AS);$ADDRHOF(BNR15_AS;STR_NR/STR_NR_AS);$ADDRHOF(BNR15_AS;PLZ/PLZ_AS);$ADDRHOF(BNR15_AS;ORT/ORT_AS);$ADDRHOF(BNR15_AS;KONTAKT/KONTAKT_AS):BNR15_AS;EQ;15 000 000 0001 |
Input |
|
Input |
|
||||||
Beispiel | *2:RS:BTR_D/BNR15;NAME;$NAME_GES(/NAME_GES_HOF);$ADDR_GES(/ADDR_GES_HOF);$ADDRAMT(BNR15;NAME/NAME_AMT);$ADDRAMT(BNR15;NAME_GES/NAME_GES_AMT);$ADDRAMT(BNR15;ADDR_GES/ADDR_GES_AMT):BNR15;IS;09 000 000 0001 |
Input |
|
Output | entsprechend gewünschter Spalte |
Beschreibung | analog den Newline-Funktionen: #NAME_GES: Name, als intelligente Kombination aus Vorname Nachname oder Firma #ADDR_GES: Adresse, als Kombination aus Straße Nr, PLZ Ort, Ortsteil |
Beispiel | *3:RS:BTR_D/BNR15;$NAME_GES(/NAME_GES);$ADDR_GES(/ADDR_GES):BNR15;IS;09 000 000 0001 |
Input | Spalte mit einem numerischen Ohrmarkenwert wie z.B. 276000912345678, also i.d.R. LOM oder LOM_MUTT |
Output | Lesbar aufbereiteter Wert wie "DE 09 123 45678". Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste. |
Beschreibung | Umsetzung laut Codierung von Alpha-LOMs |
Beispiel | *2:RS:GEBURT/$ALPHALOM():LOM;EQ;DE0913106031 *3:RS:GEBURT/$ALPHALOM(LOM):LOM;EQ;DE0913106031 |
Input | Spalte mit einer numerischen Betriebsnummer wie z.B. 276091234567809, also i.d.R. BNR15 oder BNR15_VB ... |
Output | Lesbar aufbereiteter Wert wie "09 123 456 7890". Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste. |
Beschreibung | Wenn 276 als Staat wir die Nummer laut statistischem Schlüssel in Zifferngruppen aufgeteilt "LL RKK GGG NNNN" |
Beispiel | *2:RS:BTR_Z/$ALPHABNR(BNR15_P):BNR15_C;EQ;276090000000001 |
Input |
|
|||||||||||||||
Output | Extrahierter Wert für den Gebietsteil in numerischer Form. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. | |||||||||||||||
Beschreibung | $LOMSTAAT(LOM) Staat (numerisch) aus der Ohrmarke, z.B: 276 für DE $LOMLAND(LOM) Land (numerisch) aus der Ohrmarke, z.B: 16 für Thüringen |
|||||||||||||||
Beispiel | *4:RS:GEBURT/$LomStaat(LOM/Staat);$LomLand(LOM/Land):BNR15;EQ;276091330700001;GROUP;$LomStaat(LOM/Staat);$LomLand(LOM/Land)
Beispiel: $LOMLAND(276000913199901;<Form>)
|
Input | Spalte mit einer numerischen Betriebsnummer wie z.B. 276091234567809, also i.d.R. BNR15 oder BNR15_VB ...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Output | Extrahierter Wert für den Gebietsteil in
numerischer Form. Der
anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter
spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Hinweis: Die Funktion $BNRKREIS betrachtet nur die Kreiszahl in der Betriebsnummer. Länder mit komplizierter Logik (insbesondere 13-MV, 14-SN, 15-ST mit komplizierten Gebietsreformen) werden nicht korrekt behandelt. Dafür gibt es eine eigene Funktion, der Verwendung aber mit dem Datenbankbetreiber ab zu sprechen ist. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Beschreibung |
Standardfunktion $BNRKREIS: Suche Kreis direkt aus der Kreis-Zahl in der Betriebsnummer, suche dazu KFZ-Kennzeichen
Beispiel: $BNRKREIS(276091623456789;<Form>) sucht zu 09162 und findet M - München Diese Funktion ist schnell, funktioniert aber nur bei einfachen Zuordnungen korrekt.
Sonderfunktion $BNRKREIX: Suche Kreis über KFZ-Kennzeichen (kurz, ohne PLUS) Definition zu Form siehe oben
Sonderfunktion $BNRKREIY: Suche Kreis über KFZ-Kennzeichen (lang, mit PLUS) Der Hauptunterschied zu $BNRKREIX ist, dass hier bestimmte Kreise wie z.B. "05916 Herne" in einen PLUS-Kreis "RE+" fallen und dann dieser RE auch als Kreis unter Form 4 geliefert wird
Spezielle Formen für $BNRLAND
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Beispiel | *4:RS:BTR_D/BNR15;$BnrStaat(BNR15/Staat);$BnrLand(BNR15/Land);$BnrKreis(BNR15/Kreis);$BnrGemde(BNR15/Gemde):BNR15;EQ;276091330700001 |
Input | Spalte mit einem Ereignisdatum als Datumswert wie z.B. ZUGA_DAT |
Output | Errechnete Differenz Meldedatum minus Ereignisdatum, ggf. noch abgeschnitten oder gruppiert, in numerischer Form. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | $MELD_FRST(ZUGA_DAT) Differenz in Tagen 0 - unbegrenzt, z.B: Zugang 1.5.2010 gemeldet am selben Tag ergibt 0, gemeldet am Vortag den 30.4.2010 ergibt 1
$MELD_FR14(ZUGA_DAT) Differenz in Tagen 0 - 14, und 99 für den Rest, z.B: Zugang 1.5.2010 gemeldet nach 2 Wochen ergibt 14, gemeldet 3 Wochen später ergibt 99 $MELD_FRG1(SCHL_DAT) Differenz in Gruppen 1: 0 - 2 Tage, 2: 3 - 7 Tage, 3: 8 - 10 Tage, 4: über 10 Tage $MELD_FRG2(GEB_DAT) Differenz in Gruppen 1: 0 - 3 Tage, 2: 4 - 7 Tage, 3: 8 - 14 Tage, 4: über 14 Tage $MELD_FRG3(GEB_DAT) Differenz in Gruppen 1: 0 - 3 Tage, 2: 4 - 7 Tage, 3: 8 - 14 Tage, 4: 15 - 21 Tage, 5: über 21 Tage |
Beispiel | *4:RS:ZUGANG/BNR15;$MELD_FRG1(ZUGA_DAT);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$MELD_FRG1(ZUGA_DAT) |
Input | Spalten mit einem jeweils einem Ereignisdatum als Datumswert wie z.B. VOK_ADAT und VOK_DAT |
Output | Errechnete Differenz 2.Datum minus
1.Datum, ggf. noch abgeschnitten oder gruppiert, in numerischer
Form. Der
anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter
spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. Achtung: Der Standardname, der bei der Gruppierung verwendet werden muss, beinhaltet nur den 1.Parameter, also $DATE_DIFF(VOK_ADAT) |
Beschreibung | $DATE_DIFF(VOK_ADAT;VOK_DAT) Differenz in Tagen 0 - unbegrenzt, z.B: VOK 1.5.2010 angekündigt am selben Tag ergibt 0, angekündigt am Vortag den 30.4.2010 ergibt 1 |
Beispiel | *4:RS:CC_VRI/BNR15;$DATE_DIFF(VOK_ADAT;VOK_DAT);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$DATE_DIFF(VOK_ADAT) |
Input | Spalten mit einem jeweils Zahlenwert wie z.B. ANTR_LFN
(Netto-Fläche) und
ANTR_LE (Fläche LE) an Stelle der 2. Spalte kann auch eine konstante Zahl stehen |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion PLUS + |
Beispiel |
*2:RS/R3:ZF_ANTR/BNR15;ANTR_LFB;ANTR_LFN;ANTR_LE;$ADD(ANTR_LFN;ANTR_LE/Add):BNR15;IS;091 *2:RS/R3:ZF_ANTR/BNR15;$MAX_ADD(ANTR_LFN;ANTR_LE/Add_Max):BNR15;IS;091 |
Input | Spalten mit einem jeweils Zahlenwert wie z.B. ANTR_LFN
(Brutto-Fläche) und
ANTR_LFN (Netto-Fläche) an Stelle der 2. Spalte kann auch eine konstante Zahl stehen |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion MINUS - |
Beispiel | *2:RS/R3:ZF_ANTR/BNR15;ANTR_LFB;ANTR_LFN;ANTR_LE;$SUBTRACT(ANTR_LFB;ANTR_LFN/Sub):BNR15;IS;091 |
Input | Spalten mit einem jeweils Zahlenwert wie z.B. ZA_IV_UMF
(ZA-Umfang) und
ZA_ZWERT (Zeitwert) an Stelle der 2. Spalte kann auch eine konstante Zahl stehen |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion MAL * |
Beispiel | *2:RS:ZA_REGSTAT/ZA_IV_EXT;$MULTIPLY(ZA_IV_UMF;ZA_ZWERT/Produkt):BNR15;=;091990000001 |
Input | Spalten mit einem jeweils Zahlenwert wie z.B. SCHL_GEW und
LEB_GEW, an Stelle der 2. Spalte kann auch eine konstante Zahl stehen |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion DIVIDIERT / Achtung: Bei Ganzzahlen erfolgt die Ausgabe ebenfalls als gerundete Ganzzahl, da das i.d.R. nicht gewünscht ist sollte besser die Funktion DIVIDEX verwendet werden. |
Beispiel | *2:RS/R4:ZA_REGSTAT/ZA_IV_EXT;ZA_IV_UMF;$DIVIDE(ZA_IV_UMF;100.00/Division):BNR15;=;091990000001 |
Input | Spalten mit einem jeweils Zahlenwert an Stelle der 2. Spalte kann auch eine konstante Zahl stehen |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion DIVIDIERT / als Fließkommazahl
ohne Rundund. Achtung: Beachten Sie die unterschiedlichen Ergebnisse in folgenden drei Beispielen! |
Beispiel |
*1:RS/R4:ZA_REGSTAT/ZA_IV_EXT;ZA_IV_UMF;$DIVIDEX(ZA_IV_UMF;100/DivisionX_3):BNR15;=;091990000001 *2:RS/R4:ZA_REGSTAT/ZA_IV_EXT;ZA_IV_UMF;$DIVIDE(ZA_IV_UMF;100/Division_1):BNR15;=;091990000001 *3:RS/R4:ZA_REGSTAT/ZA_IV_EXT;ZA_IV_UMF;$DIVIDE(ZA_IV_UMF;100.00/Division_2):BNR15;=;091990000001 |
Input | Spalte mit einem numerischen Schlüsselwert wie z.B. 90, bei Rasse |
Output | 0:GLEICH, 1:NICHT GLEICH |
Beschreibung | prüft ob der Inhalt der angegebenen Spalte GLEICH ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte. |
Beispiel | *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$IS_EQ(LOM;276000913106016/EQ_ERG):LOM;IS;DE0913106031,276000913106016 *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$IS_EQ(BNR15;MELD_BNR/EQ_ERG):LOM;IS;DE0913106031,276000913106016 |
Input | Spalte mit zu prüfenden Wert - für IS_NULL von beliebigen Typ z.B. Rasse für IS_LEER oder IS_NU_LE nur CHAR-Typen zulässig wie z.B. FIRMA |
Output | 0:GLEICH NULL/LEER, 1:NICHT GLEICH |
Beschreibung | prüft ob der Inhalt der angegebenen Spalte NULL bzw. LEER bzw. NULL oder LEER ist. |
Beispiel | *2:RS:BTR_D/RE_FRM;$IS_NULL(RE_FRM/NIX):BNR15;IS;09131 *2:RS:BTR_D/BNR15;$IS_NULL(FIRMA/NULL);$IS_LEER(FIRMA/LEER);$IS_NU_LE(FIRMA/NULE):BNR15;IS;09131 |
Input | Spalte mit einem numerischen Schlüsselwert für ISO-Schlüssel Staat (ILAND) wie z.B. bei LAND_ZIE |
Output | 0:GLEICH, 1:NICHT GLEICH |
Beschreibung | prüft ob der angegebene ISO-Code der angegebenen Spalte einem EU-Staat (Stand 2020, inkl. Schweiz gleichgestellt) entspricht. |
Beispiel | *2:RS/R5:AUSFUHR/LOM;BNR15;LAND_ZIE;$IS_EU(LAND_ZIE/EU):BNR15;IS;09 *2:RS:AUSFUHR/LAND_ZIE;$CODETEXT(LAND_ZIE/Staat);$IS_EU(LAND_ZIE/EU);$COUNT(/Anzahl):GROUP;LAND_ZIE;$IS_EU(LAND_ZIE) |
Input |
|
|||||||||||||||
Output | Anzahl verwendeter Ohrmarken für gewählte Verwendungsart | |||||||||||||||
Beschreibung | In der Führungsentität verwendet man LOMS - die ausgegebenen Ohrmarkenserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden dann bezüglich der gewählten Meldungsart alle benutzten Ohrmarken gesucht und die Anzahl wird ausgegeben | |||||||||||||||
Beispiel | *2:RS:LOMS/BNR15;LOMS_UG;LOMS_OG;$LOMSUSED(BNR15;LOMS_UG;LOMS_OG;GEBURT;0/ANZ_GEB);$LOMSUSED(BNR15;LOMS_UG;LOMS_OG;LOMSNEG;0/ANZ_NEG):BNR15;IS;09 189 011 |
Input | Spalte mit einem numerischen Schlüsselwert wie z.B. 90, bei Rasse |
Output | -1:KLEINER, 0:GLEICH, 1:GRÖSSER |
Beschreibung | prüft ob der Inhalt der angegebenen Spalte KLEINER, GLEICH oder GRÖSSER ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte. |
Beispiel | *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$COMPARE(LOM;276000913106016/COMP_ERG):LOM;IS;DE0913106031,276000913106016 *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$COMPARE(BNR15;MELD_BNR/COMP_ERG):LOM;IS;DE0913106031,276000913106016 |
Input | Spalten mit einem jeweils Zahlenwert wie z.B. ZA_NR_VON und ZA_NR_BIS, oder LOMS_OG und LOMS_UG |
Output | Errechneter Wert |
Beschreibung | generische Rechenfunktion: Obergrenze - Untergrenze + 1 (Reihenfolge der Parameter egal) |
Beispiel | *2:RS:ZA_REGSTAT/ZA_IV_EXT;$UMFANG(ZA_IV_UMF;ZA_ZWERT/Division):BNR15;=;091990000001 |
Input | Zu prüfende Spalte mit einem Zahlenwert wie z.B. ZA_IV_UMF
(ZA-Umfang), Untergrenze (Zahl oder Spalte) und Obergrenze (Zahl oder Spalte) |
Output | 1 wenn wahr, 0 sonst |
Beschreibung | generische Rechenfunktion MAL * |
Beispiel | *2:RS:ZA_REGSTAT/ZA_IV_EXT;$ISBETWEEN(ZA_IV_UMF;1;200/Between):BNR15;=;091990000001 |
Input | Zu prüfende Spalte mit einem Zahlenwert wie z.B. ZA_IV_UMF
(ZA-Umfang), Untergrenze (Zahl oder Spalte) und Obergrenze (Zahl oder Spalte) |
Output | 1 wenn wahr, 0 sonst |
Beschreibung | generische Rechenfunktion MAL * |
Beispiel | *2:RS:ZA_REGSTAT/ZA_IV_EXT;$ISNOTBETW(ZA_IV_UMF;1;200/NotBetween):BNR15;=;091990000001 |
Input | Zu prüfende Spalte |
Output | fortlaufende Nummer oder NULL wenn Wert NULL |
Beschreibung | generische Rechenfunktion MAL * |
Beispiel | *2:RS:RI_STAT/$LINENR(BNR15);JAHR;$COUNT(*):BNR15;IS;09 131;GROUP;$LINENR(BNR15);JAHR |
Input | Zu prüfende Spalte |
Output | fortlaufende Nummer pro neuem Wert (Gruppenwechsel) oder NULL wenn Wert NULL |
Beschreibung | generische Rechenfunktion MAL * |
Beispiel | *2:RS:RI_STAT/$GRPNR(BNR15);JAHR;$COUNT(*):BNR15;IS;09 131;GROUP;$GRPNR(BNR15);JAHR |
Input | Spalten des Intervalls zur Berechnung des Umfang entweder default () oder Nr-Von, Nr-Bis, wie ZA_NR_VON, ZA_NR_BIS |
Output | Errechneter Gesamtumfang eines ZA-Intervalls in Hundertstel eines ganzen ZA (entspricht Ar) |
Beschreibung | Der Umfang wird in Hunderstel angegeben. |
Beispiel |
*2:RS:ZA_GRUND/$ZA_IV_EXT(/Extern);$ZA_IV_UMF(/Umfang_Ar):ZA_AG_BNR;=;276091610100310 *2:RS:ZB_GRUND/$ZB_IV_EXT(/Extern);$ZB_IV_UMF(/Umfang_Ar):ZB_AG_BNR;=;276091610100310 |
Input | Spalten des Intervalls zur Berechnung des Umfang entweder default () oder Nr-Von, Nr-Bis, wie ZA_NR_VON, ZA_NR_BIS |
Output | Errechneter Gesamtumfang eines ZA-Intervalls mit 2 Nachkommastellen (entspricht ha) |
Beschreibung | Der Umfang wird als Bruchteil von ganzen ZA angegeben. |
Beispiel |
*2:RS:ZA_GRUND/$ZA_IV_EXT(/Extern);$ZA_IV_UM2(/Umfang_ha):ZA_AG_BNR;=;276091610100310 *2:RS:ZB_GRUND/$ZB_IV_EXT(/Extern);$ZB_IV_UM2(/Umfang_ha):ZB_AG_BNR;=;276091610100310 |
Input | Spalten mit einem
Werten zur Berechnung des Wertes entweder Umfang und Wert, wie ZA_IV_UMF und ZA_ZWERT aus ZA_REGSTAT oder Nr-Von, Nr-Bis und Wert, wie ZA_NR_VON, ZA_NR_BIS und ZA_ZWERT aus ZA_ZEITATR |
Output | Errechneter Gesamtwert eines ZA-Intervalls in Euro, entspricht Umfang (in Ar) / 100 * Wert des ganzen ZA |
Beschreibung | Der Zeitwert bezieht sich immer auf einen ganzen ZA (entspricht logisch einen ha), der Umfang wird i.d.R. in Hunderstel a(entspricht einem AR) angegeben. |
Beispiel |
*2:RS:ZA_REGSTAT/ZA_IV_EXT;ZA_IV_UMF;ZA_ZWERT;$ZA_WERT(ZA_IV_UMF;ZA_ZWERT/Gesamt):BNR15;=;091990000001 *2:RS:ZA_ZEITATR/$ZA_WERT(ZA_NR_VON;ZA_NR_BIS;ZA_ZWERT/ZA_Wert):ZA_LAND;=;9;AND;ZA_SERIE;=;199001 |
Input | Spalte mit einem technischen oder fachlichen BIS-Zeitstempel als Timestamp wie z.B. SYS_BIS oder DBET_BIS |
Output | Ermittelt ob Datensatz storniert ist, also Wert des Timestamps 31.12.2100. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen. |
Beschreibung | $STORNO(SYS_BIS) Angabe
ob der Datensatz storniert ist, z.B: SYS_BIS =
31.12.2100 ergibt 0, alles andere ergibt 1 (kann in GROUP verwendet werden) $AKTIV(DBET_BIS) Angabe ob der Datensatz aktiv ist, z.B: DBET_BIS = 31.12.2020 ergibt 1, also auch alle Timestamps größer jetzt ergeben 1, alles andere ergibt 0 Hinweis: Es gibt noch das offene Problem, dass Datensätze die fachlich noch nicht begonnen haben auch als aktiv gelten Bei Zeitpunktsabfragen (RS/Zxx) wird die Angabe relativ zum Zeitpunkt xx gesehen, d.h. wenn ein Satz am 2.1.2010 storniert wird bringt eine Abfrage RS/Z1.1.2010 die Antwort $STORNO()=0 also NEIN und $AKTIV()=1 also JA. |
Beispiel | *4:RS/I:ZUGANG/BNR15;$STORNO(SYS_VON);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$STORNO(SYS_VON) |
Input | --- (die nötigen fachlichen und technischen Timestampspalten werden aus Data Dictionary geholt) |
Output | 0: A - aktiv 1: AO - aktiv (und offen) 2: AE - aktiv (hat aber Ende in Zukunft) 3: B - beendet (nicht mehr aktiv) 4: ZO - noch nicht aktiv (und offen) 5: ZE - noch nicht aktiv (und hat Ende in Zukunft) 9: STO - storniert |
Beschreibung | Ermittelt ob Datensatz fachlich und technisch aktiv, storniert
oder in der Zukunft beendet ist. Bei Zeitpunktsabfragen (RS/Zxx) wird die Angabe relativ zum Zeitpunkt xx gesehen. |
Beispiel | *4:RS/I:ZUGANG/BNR15;$FSTATUS();$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$FSTATUS() |
Input | Spalte mit einer Betriebsnummer |
Output | 0: Nein, 1:Ja |
Beschreibung | Ermittelt ob der Benutzer selbst gemeldet hat, also die angegebene BNR-Spalte identisch zum MELD_BNR ist. |
Beispiel | *1:RS:TOD/$YEAR(TOD_DAT/Jahr);$BNRLAND(BNR15/Land);$SELFMELD(BNR15/selbst);$COUNTD(BNR15/Anz_Betriebe);$COUNT(/Anz_Meld):TOD_ART;=;0;GROUP;$YEAR(TOD_DAT);$BNRLAND(BNR15);$SELFMELD(BNR15) |
Input | Spalte mit einem numerischen Schlüsselwert wie z.B. 90, bei Rasse |
Output | Lesbar aufbereiteter Wert wie "SBT". Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste. |
Beschreibung | Hole zur entsprechenden Schlüsselliste (Codeset) den Kurztext zum Schlüsselwert. |
Beispiel | *2:RS:GEBURT/$CODEKURZ(RASSE):LOM;EQ;DE0913106031 |
Holt Codetext zu einem Schlüssel (analog $CODEKURZ)
Input |
|
Output | Codenummer nach Umsetzung. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste. |
Beschreibung | Hole in der entsprechenden Schlüsselbrücke (CODECROSS) die umgesetzte Nummer zum ursprünglichen Schlüsselwert. |
Beispiel | *2:RS/R1:UNTAUF_LX/UNTS_GRUND;$CODEXNR(UNTS_GRUND;TSN_UN_GRN/XNR);$CODEXNR(UNTS_GRUND;TSN_URN/XNR):UNTS_GRUND;IS;31 |
Holt Kurztext zu einem Schlüssel gemäß Schlüsselbrücke (analog $CODEXNR)
Holt Codetext zu einem Schlüssel gemäß Schlüsselbrücke (analog $CODEXNR)
Ermöglicht eine Textkonstante aus zu geben
Ermöglicht eine Zahlenkonstante aus zu geben. Der Unterschied zu $TEXT liegt in der Formatierung, insbesondere bei der Weiterverarbeitung mit HitBatch Out-Format 5 "Excel optimiert".
Input | Beliebige Spalte der Abzufragenden Entität, Startwert, optional Länge |
Output | Ab der gegebenen Start-Position (<START>)
wird von der Zeichenkette eine bestimmte Anzahl Zeichen (<LAENGE<)
ausgegeben oder bis zum Ende wenn Länge nicht angegeben. Achtung: Der Standardname, der bei der Gruppierung verwendet werden muss, beinhaltet nur den 1.Parameter, also $SUBSTR(NAME) |
Beschreibung | die Funktion dient zum Ausschneiden von Teilen einer Zeichenkette. |
Beispiel | *2:RS:BTR_D/$SUBSTR(NAME;1;5/NAME_Anfang);$COUNT(/Anzahl):BNR15;BW;276091330700001;276091330700002;GROUP;$SUBSTR(NAME) |
Input | Beliebige Spalte der Abzufragenden Entität |
Output | Der Wert wird unverändert ausgegeben |
Beschreibung | die Funktion dient lediglich dazu den Spaltennamen in der Ausgabe zu ändern. |
Beispiel | *2:RS:GEBURT/$RENAME(LOM/Ohrmarke):LOM;EQ;DE0913106031 |
Input | Index 1..n zur Auswahl des Rowkeys |
Output | Der ausgewählte Rowkey im Befehl wird in die Ausgabe übernommen. Damit kann z.B. die nicht normierte Originalschreibweise einer LOM für eine Suchabfrage in den Output übernommen werden um das Ergebnis der eigenen Suche zu zu ordnen |
Beschreibung | zur entsprechenden Schlüsselliste (Codeset) den Kurztext zum Schlüsselwert. |
Beispiel | *2#k1;k2:RS:GEBURT/LOM;$ROWKEY(1):LOM;EQ;DE0913106031 |
Holt Schwere, Text und Objekt zu gegebener Plausinummer.
Hole Rasse-Code, Kurztext und Text für AT / DE - Umsetzung.
<int>;RASSE
<int>;RASSE_URS;LAND_MSA
Hole Prämien-Code, Kurztext und Text für AT / DE - Umsetzung
<int>;PRAESTAT
<int>;MSA_PRAEM;LAND_MSA
Input | X - Anzahl Tage (default 7) |
Output | NULL: Tier lebt noch, 1: ja - tot innerhalb, 0:nein - später tot |
Beschreibung | Ermittle in TIERSTAT ob Tier innerhalb der ersten X Tage tot ist. |
Beispiel |
*2:RS:TIERSTAT/BNR15_AB;LOM;GEB_DATR;DAT_END;$FRVER(10):BNR15_AB;IS;09 000
000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;ORDER;1;2 *3:RS:TIERSTAT/BNR15_AB;$FRVER(10/FRVER);$COUNT(/GEB_GEM):BNR15_AB;IS;09 000 000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;GROUP;BNR15_AB;$FRVER(10) *4:RS:TIERSTAT/BNR15_AB;$SUM_FRVER(10/SUM_FRVER);$COUNT(/GEB_GEM):BNR15_AB;IS;09 000 000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;GROUP;BNR15_AB |
Input | Betriebsnummer der aktuellen Entität wird automatisch übernommen,
Führungs-Entitäten siehe Verwendung optional VON und BIS-Datum zu welchem Datum oder in welchen Zeitraum der Daten ermittelt werden, default zu Heute |
Output | BNR15; (Input) NAME;NAME2;ORTSTEIL;STR_NR;PLZ;ORT siehe Feldliste. |
Beschreibung | Betriebsanschrift zur aktuellen Betriebsnummer, also Adresse der Betriebsstätte |
Erstellung | Lese in BTR_D Betriebsstammdaten mit Adresse |
Beispiel | *2:RS/C:TIERBETR/LOM;BNR15;#ADDRHOF(BNR15;1.1.2000):BNR15;EQ;276091330701001 *3:RS/C:TIERBETR/LOM;BNR15;#ADDRHOF(BNR15;1.1.2000;31.12.2008):BNR15;EQ;276091330701001 |
Hinweis | Es gibt auch die einfacher zu verwendende Inline-Funktion $ADDRHOF |
Input | Betriebsnummer der aktuellen Entität wird automatisch übernommen,
Führungs-Entitäten siehe Verwendung optional VON und BIS-Datum zu welchem Datum oder in welchen Zeitraum der Daten ermittelt werden, default zu Heute |
Output | BNR15; (Input) NAME;NAME2;ORTSTEIL;STR_NR;PLZ;ORT siehe Feldliste. |
Beschreibung | Postanschrift zur aktuellen Betriebsnummer |
Erstellung | Lese in BTR_P (abweichende Postanschrift) und wenn dort nichts gefunden lese in BTR_D Betriebsstammdaten mit Adresse |
Beispiel | *2:RS/C:TIERBETR/LOM;BNR15;#ADDRPOST():BNR15;EQ;276091330701001 |
Hinweis | Es gibt auch die einfacher zu verwendende Inline-Funktion $ADDRPOST |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bestandsregister.
Input |
Führungs-Entitäten siehe Verwendung |
||||||||||||||||||||||
Output | siehe Feldliste. | ||||||||||||||||||||||
Beschreibung | Alle Tiere die im angegebenen Zeitraum im Betrieb gestanden sind, also
........ Stichtag oder Gesamtbestandsregister mit allen auch schon wieder abgegangenen Tieren. Seit Ende März 2002 werden auch Werte zum Tierende geliefert, die aber analog zur Funktion #TIERENDE nur angezeigt werden, wenn der Endbenutzer Kompetenz dafür hat, also wenn es Prämienrelevant ist. |
||||||||||||||||||||||
Erstellung | lese alle ERSTERF, GEBURT, IMPMARK, EUEIN where BNR=bnr where BNR=bnr lese alle ZUGANG where BNR=bnr, if not exist STAMMDAT(lom) suche Entstehung bei anderen Betrieben in (GEBURT, ERSTERF...) lese alle ABGANG, TOD, SCHLACHT, AUSFUHR where BNR=bnr, if not exist STAMMDAT(lom) suche Entstehung Eintritt/Austritt zuordnen für alle Tiere (es gibt Zeilen mit Ausgang ohne Eingang) Für die verbliebenen bei ZU/ABGANG Vor/Nachbesitzer lesen, merke einen bereits zugeteilten Vor/Nachbesitzer pro LOM und teile nicht 2. mal zu ??!!! Lese alle Entstehungen am Betrieb (GEBURT, ERSTERF, EUEIN, IMPMARK) kleiner gleich BIS-Datum und nehme die Stammdaten raus. Lese alle ZUGANG kleiner gleich BIS-Datum und suche zugehörige Stammdaten bei anderen Betrieben, hole zusätzlich den Vorbesitzer, also den der einen Abgang max. 2 Tage vor meinem?? Zugang. Suche zu allen gefundenen Tieren ob ein Abgang vorliegt und ermittle ggf. den Nachbesitzer. LOMX ist Ohrmarke des Tieres in aufbereiteter Form (DE..) Wenn die Mutterohrmarke nur in Alphaform (LOM_MUTA aus ERSTERF bzw. LOM_MUTE aus EUEIN) nicht aber numerisch vorliegt ist bei der Ausgabe nur das Feld LOM_MUTX, nicht aber LOM_MUT gefüllt. Da dieses Feld aber sowieso die besser lesbare Darstellung enthält, sollte sie bei der Ausgebe bevorzugt verwendet werden. |
||||||||||||||||||||||
Beispiel | *2:RS/C:BTR_D_AKT/NAME;#BESTREG(16.09.2008;16.09.2008;BNR15;0/LOM;GEB_DATR):BNR15;EQ;276091311400001 |
Input | analog BESTREG, Führungs-Entitäten siehe Verwendung. |
Output | analog BESTREG SCHL_NR;SCHL_KAT;SCHL_GEW;LEB_GEW (Daten aus Schlachtsatz), siehe Feldliste. |
Beschreibung | erweiterte Möglichkeiten für Verwaltungsstellen. Die Daten zum Tierende sind analog zu #TIERENDX immer erhältlich, auch wenn der Melder oder Tierhalter sie nicht sehen darf, weil sie nicht prämienrelevant scheinen, z.B. Abstand Schlachtung/Abgang größer 30 Tage. |
Erstellung | analog zu BESTREG, zusätzlich kann auf eine einzelnes Tier des Bestandes gefiltert werden. |
Beispiel | *2:RS/C:BTR_D_AKT/NAME;#BESTREX(1.1.2010;1.1.2010;BNR15;0;1;1;DE
09 131 07011):BNR15;EQ;276091311400001 *3:RS/C:BTR_D_AKT/#BESTREX(01.04.2010;30.04.2010;BNR15;0;2;200;;5/*):BNR15;EQ;276091310600001 |
Input | analog BESTREG, Führungs-Entitäten siehe Verwendung. |
Output | analog BESTREG SCHL_NR;SCHL_KAT;SCHL_GEW;LEB_GEW (Daten aus Schlachtsatz), siehe Feldliste. |
Beschreibung | erweiterte Möglichkeiten für Verwaltungsstellen |
Erstellung | analog zu BESTREG, zusätzlich kann auf eine einzelnes Tier des Bestandes gefiltert werden. |
Beispiel | *3:RS:BTR_D/#BESTREY(1.1.2010;1.1.2010/LOM_X;;BREGY_M0;BREGY_M3;BREGY_M6;BREGY_M9;BREGY_W12):BNR15;EQ;276091310700001 |
Input |
|
Output | BNR15; (Input) BNR15;BNR15_X;BNR15_ZO;BNR15_ZOX;BNR15_ZU;BNR15_ZUX;BZUO_LEV;BZUO_ART;BZUO_VON;BZUO_BIS siehe Feldliste. |
Beschreibung | Ermittle insbesondere für Prämienrechnung relevanten Betriebsstammdaten, Unternehmens- oder Betriebsstättenzuordnungen und Betriebsnachfolger bzw. Vorgänger mit den zugehörigen Gültigkeitszuordnungen. |
Erstellung | Level 0: Lese zum gegebenen Betrieb - alle Stammdatensätze ( BTR_D), - zugehörigen Betriebsstätten (BNR15_C in BTR_Z mit TYP_ZUO=1 oder 5, AFA-Zuordnung Niedersachsen) und Unternehmen (BNR15_P ...) - zugehörigen Nachfolger (BNR15_N in BTR_N) und Vorgänger (BNR15_V ...) im gesamten Zeitraum 1.1.1900 bis 31.12.2100 und trage sie in Liste ein. Ermittle für
alle im aktuellen Level eingetragenen Zuordnungen (übergehe die Stammdatensätze), für
deren Gültigkeitszeitraum (VON/BIS) |
Beispiel | *2:RS/C:BTR_D/#BETRCLUST(BNR15/BNR15_ZO;BNR15_ZOX;BNR15_ZU;BNR15_ZUX;BZUO_LEV;BZUO_ART;BZUO_VON;BZUO_BIS):BNR15;EQ;090000000001 *2:RS/C:BTR_D/#BETRCLUST(BNR15;1/BNR15_ZO;BNR15_ZOX;BNR15_ZU;BNR15_ZUX;BZUO_LEV;BZUO_ART;BZUO_VON;BZUO_BIS):BNR15;EQ;090000000001 |
Input |
|
|||||||||||||||||||||||||||
Output | siehe Feldliste. | |||||||||||||||||||||||||||
Beschreibung | Anzeigen oder Aktualisieren der Unternehmenszusammenfassung für CC-Sanktion, insbesondere Vergleich der Ergebnisse des alten Berechnungsalgorithmus mit der neuen Sanktionsberechnungsweise. | |||||||||||||||||||||||||||
Beispiel | *2:RS:CC_ZUN/#CC_SANKT(BNR15_UNCC;VOK_JAHR;0;13;3;3;0;0;1):BNR15_UNCC;=;276091360400201;AND;VOK_JAHR;=;2007 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Etikettierungsdaten
Input | LOM (Ohrmarke), Führungs-Entitäten siehe Verwendung. [optional für Verwaltungsstellen: Betriebsnummer des Halters aus dessen Sicht die Funktion ermittelt werden soll oder leer] [optional Gebiet für das geprüft werden soll ob die jeweilige Haltungsperiode innerhalb des Gebiets liegt, die Angabe erfolgt als Kreisliste wie in "Extended Input" beschrieben] |
Output |
Es werden Entstehung, Haltungen und Schlachtung angezeigt, siehe Feldliste. |
Beschreibung | Der Lebenslauf des Tieres wird in zusammengehörige Paare zu Haltungszeiträumen sortiert. Zusätzlich werden die Namen und Adressen der Halter, Stammdaten und ggf. die Endedaten angezeigt. Bei Fehlern im Lebenslauf oder Stamm und Ende, z.B. fehlende Entstehung, doppelte Schlachtung oder Meldekettenfehler werden die Sätze mit eine Fehlerschwere und einer Plausinummer gekennzeichnet. |
Erstellung | Lese Meldungen zum Rind, inklusive ggf. Schlachtung/Direktimport, bilde Lebenslauf und sortiere Stationen. Ermittle Stamm- Ende- und Haltungsfehler. Anonymisiere die Haltungen und füge für Lücken oder Auslandshaltungen zusätzliche Haltungszeile eine. |
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276090000000008;900008;3;1200 |
Die Funktion wurde konform der Anzeigevorschriften in 3 Teilfunktionen untergliedert:
Input |
|
|||||||||||||||||||||
Output | siehe Feldliste. | |||||||||||||||||||||
Beschreibung | In der Führungsentität verwendet man HT_ZUTE - die zugeteilten Passserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden alle Ausgaben und Einzüge gesucht und von den freien Heimtierpassnummern abgezogen. Ausgegeben werden Intervall der freien Heimtierpassnummern als Untergrenze/Obergrenze oder alle freien einzeln als Untergrenze (Obergrenze dabei leer). Optional können auch die verbrauchten als Intervalle oder einzeln mitausgegeben werden. | |||||||||||||||||||||
Beispiel | *2:RS/R+4:HT_ZUTE/#HTPFREE():BNR15;=;09 000 000 0001;ORDER;HTP_DAT;- |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Einzeltier.
Input |
|
Output | LOM; (Input) BNR15;BEW_DAT;BEW_MELD;...;PLAUSINR;SCHWERE;... , siehe Feldliste. |
Beschreibung | Eine Zeile für jede Tiermeldung und Hinweise zu vermuteten
Fehlersituationen. Hinweis: Im Feld BEW_DAT steht das Bewegungs- oder Ereignisdatum. Im Falle der Ersterfassung ist das der 26.09.1999. Da es in manchen Fällen wünschenswert ist bei der Ersterfassung auf das Geburtsdatum zuzugreifen wurde eine neue Spalte BEWGE_DAT eingeführt. Sie enthält ebenfalls das Bewegungsdatum, aber bei der Ersterfassung das Geburtsdatum. |
Erstellung | Lese alle Entstehungen, Bewegungen und Ende-Entitäten, sortiere nach Betrieb und zu/abgehend und erstelle bei jedem Zustands-Ereignisübergang eine Plausimeldung (Bereich 10000 - 10050). Daraus ist der wahrscheinliche Lebenslauf und mögliche Fehler erkennbar. Das Programm geht ähnlich wie die aposteriori-Plausiprüfung vor, aber nicht ganz genau so weil auch die aktuellesten Meldungen miteinbezogen werden und die Plausimeldungen speziell an Anzeigebedürfnisse angepasst sind. |
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276090000000015;0;900015;3;1200 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Einzeltier.
Input |
|
Output | LOM; (Input) BNR15;BEW_DAT;BEW_MELD;...;PLAUSINR;SCHWERE;... , siehe Feldliste. |
Beschreibung | Eine Zeile für jede Haltung und Hinweise zu vermuteten Fehlersituationen. |
Erstellung | analog LEBENSLF |
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276090000000015;0;900015;3;1200 |
Input |
|
|||||||||||||||||||||
Output | siehe Feldliste. | |||||||||||||||||||||
Beschreibung | In der Führungsentität verwendet man LOMS - die ausgegebenen Ohrmarkenserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden alle Geburten und Importmarkierungen gesucht und von den freien Ohrmarken abgezogen (unabhängig von der Betriebsnummer der Verwendung). Ausgegeben werden Intervall der freien Ohrmarken als Untergrenze/Obergrenze oder alle freien einzeln als Untergrenze (Obergrenze dabei leer) | |||||||||||||||||||||
Beispiel | *2:RS/R4:LOMS/#LOMSFREE():BNR15;=;09 000 000 0001;ORDER;LOMS_DAT;- |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | Statistikdaten zur aktuellen Sitzung, siehe Feldliste #STATISTIK |
Beschreibung | Alle Aktionen I,X,C,S,R,U,D,R werden pro Entität ausgegeben. |
Beispiel | *2:RS:ZDB_SYS/ZDB_TS;#STATISTIK(): |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste #TAMBEST, #TAMBESTB, #TAMBESTV, #TAMBESTH |
Beschreibung | Das Rinderbestandsregister für das Kalenderhalbjahr wird gebildet. Dann wird ermittelt welche Tiere am Anfang da waren - die gehören in die Bestandsmeldung, welche Tiere im Haltjahr zugegangen sind bzw. geboren wurden - die gehören am jeweiligen Tag in die Bestandszugangsmeldung, welche Tiere abgingen (per Abgang, Tod, Export ...) - die gehören am jeweiligen Tag in die Bestandsabgangsmeldung und welche Tiere wann 8 Monate alt wurden - die gehören n Abgang Kalb und Zugang Rind. |
Beispiel | *2:RS/C:BTR_D/#TAMBEST(BNR15;142;1;0/*):BNR15;=;090000000001 *3:RS/C:BTR_D/#TAMBESTV(BNR15;142;1;0/*):BNR15;=;090000000001 |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste #TAMBESW, #TAMBESWB, #TAMBESWV, #TAMBESWH |
Beschreibung | Das Schweinebestandsregister für das Kalenderhalbjahr wird gebildet. Dann wird ermittelt welche Tiere am Anfang da waren - die gehören in die Bestandsmeldung, welche Tiere im Haltjahr zugegangen sind bzw. geboren wurden - die gehören am jeweiligen Tag in die Bestandszugangsmeldung, welche Tiere abgingen (per Abgang, Tod, Export ...) - die gehören am jeweiligen Tag in die Bestandsabgangsmeldung und welche Tiere wann 8 Monate alt wurden - die gehören n Abgang Kalb und Zugang Rind. |
Beispiel | *2:RS/C:BTR_D/#TAMBESW(BNR15;142;1;0/*):BNR15;=;090000000001 *3:RS/C:BTR_D/#TAMBESWV(BNR15;142;1;0/*):BNR15;=;090000000001 |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste #TAMSALDO |
Beschreibung | TAM- Anfangsbestand und Bestandsveränderungen werden gelesen und saldiert. Daraus wird ein Saldo, Durchschnittszahlen und eine Hochrechnung ermittelt. |
Beispiel | *2:RS/C:BTR_D/#TAMSALDO(BNR15;142;11/*):BNR15;=;090000000001 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bewegungsmeldung.
Input | Betriebsnummer, Ohrmarke und Datum der aktuellen Entität werden automatisch übernommen, Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste. |
Beschreibung | In d.........geben. |
Erstellung | |
Beispiel | *2:RS:ABGANG/LOM;ABGA_DAT;#TIERAUS(*/*):BNR15;EQ;276090000000001 |
Input |
Führungs-Entitäten siehe Verwendung |
||||||||||||||||||||||||||||||||||
Output | Verschiedene Prüfungen zum Rind werden durchgeführt und ausgegeben, siehe auch Feldliste. | ||||||||||||||||||||||||||||||||||
Beschreibung | |||||||||||||||||||||||||||||||||||
Erstellung | Bilde Lebenslauf, ermittle überwiegenden Halter der letzten 30 Tage vor dem Prüfdatum | ||||||||||||||||||||||||||||||||||
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276091311400001;0;900000;3;1200 |
Input |
Führungs-Entitäten siehe Verwendung |
||||||||
Output | Verschiedene Prüfungen zum Rind werden durchgeführt und ausgegeben, siehe auch Feldliste. | ||||||||
Beschreibung | |||||||||
Erstellung | Bilde Lebenslauf, ermittle überwiegenden Halter der letzten 30 Tage vor dem Prüfdatum | ||||||||
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276091311400001;0;900000;3;1200 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bewegungsmeldung.
Input | Betriebsnummer, Ohrmarke und Datum der aktuellen Entität werden automatisch übernommen, Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste. |
Beschreibung | In der Entität ABGANG werden Abgänge zum Tier zu diesem und 2 Tagen zuvor gesucht. Der neueste Satz wird genommen. Wenn mehr als ein Satz am selben Tag vorliegt, kann der Vorbesitzer nicht entschieden werden und beide Sätze werden ausgegeben. Zur Betriebsnummer werden auch noch die Adressfelder der Entität BTR_D (also die Hofadresse und nicht die evt. abweichende Postadresse) ausgegeben. |
Erstellung | |
Beispiel | *2:RS:ZUGANG/LOM;#TIEREIN(BNR15;LOM;ZUGA_DAT):LOM;EQ;DE0913106031 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bewegungsmeldung.
Input | Betriebsnummer, Ohrmarke und Datum der aktuellen Entität werden automatisch übernommen, Führungs-Entitäten siehe Verwendung. |
Output | Daten zum letzten Besitzer, siehe Feldliste. |
Beschreibung | In der Entität ABGANG werden Abgänge zum Tier zu diesem und 2 Tagen zuvor gesucht. Der neueste Satz wird genommen. Wenn mehr als ein Satz am selben Tag vorliegt, kann der Vorbesitzer nicht entschieden werden und beide Sätze werden ausgegeben. Zur Betriebsnummer werden auch noch die Adressfelder der Entität BTR_D (also die Hofadresse und nicht die evt. abweichende Postadresse) ausgegeben. |
Erstellung | |
Beispiel | *2:RS:ZUGANG/LOM;#TIEREIN(BNR15;LOM;ZUGA_DAT):LOM;EQ;DE0913106031 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Meldungsübersicht.
Input | Ohrmarke und Betrieb der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung. |
Output | LOM; (Input) - Wiedergabe der Inputspalten TIER_END;END_DAT; (hier ist Meldungsart und ggf. Differenzierung Verendet/Hausschlachtung und Ereignisdatum erkennbar) BNR15_EB (Besitzer bei dem das Tier verendet oder geschlachtet .... SCHL_KAT;SCHL_GEW... (Daten aus Schlachtsatz), siehe Feldliste. |
Beschreibung | Enddaten zum Tier aus Tod, Schlachtung oder ggf. Ausfuhr. Die
Schlachtdaten werden entsprechend der Verordnung nur gefüllt wenn das Tier männlich und
älter als 5 Monate oder weiblich und nur 5-6 Monate... sonst ist Gewicht NULL (es wird
nichts abgezeigt). Ende Ereignisse werden nur angezeigt wenn sie am eigenen Betrieb stattgefunden haben oder wenn ein Abgang von der eignen Nummer oder einer abhängigen Betriebsstätten höchstens ein Monat vor der Endedatum liegt. |
Erstellung | Es wird zunächst in den Entitäten TOD, SCHLACHTUN gesucht. Wenn mehr
als eine dann werden auch mehrere ausgegeben. Wenn keine gefunden dann auch in AUSFUHR
(ist eventuell nicht wirkliches Ende. Es wird zur Zeit nicht berücksichtigt ob neuerliche
Einfuhr vorliegt. Wenn 2 widersprüchliche Entstehungen vorhanden sind, genügt es dass eine das Tier als prämienrelevant kennzeichnet um die zusätzlichen Schlachtdaten auszugeben. |
Beispiel | *6:RS:ZUGANG/LOM;BNR15;ZUGA_DAT;#TIERENDE(*/DAT_END;BNR15_EBX):LOM;EQ;DE0913106031 |
Input |
Führungs-Entitäten siehe Verwendung. |
||||
Input | Ohrmarke und Betrieb der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung. | ||||
Output | LOM; (Input) - Wiedergabe der Inputspalten TIER_END;END_DAT; (hier ist Meldungsart und ggf. Differenzierung Verendet/Hausschlachtung und Ereignisdatum erkennbar) BNR15_EB (Besitzer bei dem das Tier verendet oder geschlachtet .... SCHL_KAT;SCHL_GEW... (Daten aus Schlachtsatz), siehe Feldliste. |
||||
Beschreibung | Enddaten zum Tier aus Tod, Schlachtung oder ggf. Ausfuhr. Erweiterte Anzeigemöglichkeiten, insbesondere für Prämienbehörden, analog #TIERENDE, aber ohne Einschränkung durch Monatsfrist oder Geschlecht. | ||||
Erstellung | Es wird zunächst in den Entitäten TOD, SCHLACHTUN gesucht. Wenn mehr
als eine dann werden auch mehrere ausgegeben. Wenn keine gefunden dann auch in AUSFUHR
(ist eventuell nicht wirkliches Ende. Es wird zur Zeit nicht berücksichtigt ob neuerliche
Einfuhr vorliegt. Wenn 2 widersprüchliche Entstehungen vorhanden sind, genügt es dass eine das Tier als prämienrelevant kennzeichnet um die zusätzlichen Schlachtdaten auszugeben. |
||||
Beispiel | *6:RS:ZUGANG/LOM;BNR15;ZUGA_DAT;#TIERENDX(*/DAT_END;BNR15_EBX):LOM;EQ;DE0913106031 |
Input |
Führungs-Entitäten siehe Verwendung |
Output | Verschiedene Daten zu Tiergesundheit, siehe auch
Feldliste. Die Dateninhalte sind teilweise abhängig von Rolle und Kompetenz des Benutzers Falls eine Verwaltung diese Funktion nutzt um Daten aus Sicht Halters abzurufen, muss unbedingt im 2.Parameter die Betriebsnummer des Halters angegeben werden, da die Funktion schon nicht das zutreffende Ergebnis erzeugt. |
Beschreibung | Daten wie BVD- , Brucelose, Leukose oder BHV1-Status eines
Tieres werden aktuell aus den Befunden errechnet. Der Impfstatus wird aus
vorliegenden Einzelimpfungen ermittelt, teilweise nur als Information "eine
Impfung liegt vor ja/nein". Insbesondere bei BVD- und BHV1-Impfstatus hängt
die Ermittlungsweise und der Detailgrad des Ergebnisses vom Vorliegen von
Teilnahmeerklärungen (BVDBTEIL) ab. Die Versionen "light" und "erweitert" unterscheiden sicht vor allem in der Kompetenz und Benutzbarkeit für Halter, Tierarzt und Verwaltung und dem entsprechend im Ausgabeumfang. |
Erstellung | Hole Befunddaten, Impfungen, Tierdaten und ermittle Ergebnis |
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276091311400001;0;900000;3;1200 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bewegungsmeldung.
Input |
Führungs-Entitäten siehe Verwendung. |
|||||||||||||||||||||||||||||||||||
Output | LOM;LOM_X; (Input,aufbereitet) - Wiedergabe der Inputspalten TIER_ANF;TIER_ANFX;DAT_ANF; (hier ist erkennbar durch welche Meldung ein Tier wann ins System kam) GEB_DATR;RASSE;RASSE_X;GESCHL_R;GESCHL_X;LOM_MUT;LOM_MUTX;LOM_A ...; BNR15_AB;BNR15_ABX; (Anfangsbetrieb: Geburtsbetrieb bei GEBURT, ERSTERF, EUEIN aber Markierbetrieb bei IMPMARK) BNR15_GEB;BNR15_GEX;LAND_URS;LAND_URX;LAND_GEB;LAND_GEX;BLAND_GEB;BLAND_GEX, siehe Feldliste. |
|||||||||||||||||||||||||||||||||||
Beschreibung | Suche in den Entitäten GEBURT, ERSTERF, EUEIN, IMPMARK. Wenn mehrere Sätze vorhanden wird auf Übereinstimmung geprüft. Es kann sein, dass insbesondere Geburts- und Ersterfassungsdaten vorliegen. Bei einem Reimport können auch mehrere Sätze vorliegen. | |||||||||||||||||||||||||||||||||||
Erstellung | Es wird zunächst in den Entitäten GEBURT, ERSTERF, IMPMARK gesucht,
wenn keine gefunden dann auch in EUEIN. Wenn mehr als eine, dann werden auch alle
ausgegeben. LOM_MUTX: Ohrmarke Muttertier aufbereitet (DE..) oder alte alphanumerische Marke, LOMX ist Ohrmarke des Tieres in aufbereiteter Form (DE..) Wenn die Mutterohrmarke nur in Alphaform (LOM_MUTA aus ERSTERF bzw. LOM_MUTE aus EUEIN) nicht aber numerisch vorliegt ist bei der Ausgabe nur das Feld LOM_MUTX, niucht aber LOM_MUT gefüllt. Da dieses Feld aber sowieso die besser lesbare Darstellung enthält, sollte sie bei der Ausgebe bevorzugt verwendet werden. Erklärung spezielle Spalteninhalte:
|
|||||||||||||||||||||||||||||||||||
Beispiel | *6:RS:ZUGANG/LOM;BNR15;ZUGA_DAT;#TIERSTAM(*/GEB_DATR;RASSE;GESCHL_R):LOM;EQ;DE0913106031 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu Tierpassanzeige
Input | LOM (Ohrmarke), Führungs-Entitäten siehe Verwendung. |
Output | Für geschlachtete Tiere werden Entstehung, Haltungen und Schlachtung angezeigt, siehe Feldliste. |
Beschreibung | Der Lebenslauf des Tieres wird in zusammengehörige Paare zu Haltungszeiträumen sortiert. Zusätzlich werden die Namen und Adressen der Halter, Stammdaten und ggf. die Endedaten angezeigt. Bei Fehlern im Lebenslauf oder Stamm und Ende, z.B. fehlende Entstehung, doppelte Schlachtung oder Meldekettenfehler werden die Sätze mit eine Fehlerschwere und einer Plausinummer gekennzeichnet. Ein Tierpass ist nicht in Ordnung und sollte nicht herausgegeben werden bei einer Fehlerschwere von 3. |
Erstellung | analog Etikettierung. |
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276090000000008;900008;3;1200 |
Wenn in den Tierdaten Fehler im Lebenslauf sind, kann das an der Schwere >= 3 erkannt werden. Dann ist es i.d.R. sinnvoll und übersichtlicher die Daten getrennt in 3 Teilfunktionen zu analysieren:
Input |
Führungs-Entitäten siehe Verwendung #TSN_TB_LO und Verwendung #TSN_TB_ON |
Output | Tierbestandszahlen, siehe Feldliste #TSN_TB_LO, #TSN_TB_ON |
Beschreibung | Abruf den Bestandszahlen anlog zur Onlinemaske. |
Beispiel | *2:RS/C;#FktOnly:TIERBETR/#TSN_TB_LO(BNR15;;0;1;1;1;1):BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162
*2:RS/C;#FktOnly:TIERBETR/#TSN_TB_LO(BNR15;1.1.2017;1;1;1;1;1):BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162 |
Input |
|
||||
Output | Letzte Meldung aus dem Lebenslauf, bzw. bei Angabe eines Stichtags letzte Meldung kleiner oder gleich diesem Datum, mit Fehlerstatus und zusätzlich überwiegender Halter des letzten Monats, siehe auch Feldliste. | ||||
Beschreibung | Es wird der Lebenslauf zum Tier ermittelt, inklusive
Prüfung, aber es wird nur die letzte Meldung als Tierende oder aktuelle
Haltung ausgegeben. Zusätzlich wird analog zur Ermittlung im BSETEST der
überwiegende Halter des letzten Monats ermittelt, der i.d.R. der
Definition des letzten landwirtschaftlichen Halters entspricht oder nahe
kommt. Um auf einen Blick die Verlässlichkeit der Information abschätzen
zu können wird zusätzlich der Status und Fehlermeldung dieser Meldung
aus der aktuellen Lebenslaufsermittlung und der maximale Fehler im
Lebenslauf angegeben. Mit dem Offset ist es möglich, wenn eine Liste mit Ohrmarke und Zugangsdatum existiert, den Verbleib zu diesem Zugangsdatum -1 Tag zu ermitteln - das ist der Betrieb wo das Tier vorher war, also herkommt. |
||||
Erstellung | Bilde Lebenslauf inklusive Hinweisen zu Meldefehlern und blende nicht anzuzeigende Daten aus. | ||||
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276090000000015;900015;1;1200 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Einzeltier.
Input |
|
Output | analog zu #LEBENSLAUF, aber mit Anzeigeeinschränkungen
speziell für Tierhalter. Eigene Meldungen
werden vollständig angezeigt, ebenso Meldungen die der aktuelle Benutzer als
Meldevertreter für andere abgegeben hat. Fremde Meldungen zeitlich vor den eigenen werden
anonym mit Meldeart, Datum und Land angezeigt, so dass die Meldekette überprüft werden
kann, siehe auch Feldliste. Hinweis: Im Feld BEW_DAT steht das Bewegungs- oder Ereignisdatum. Im Falle der Ersterfassung ist das der 26.09.1999. Da es in manchen Fällen wünschenswert ist bei der Ersterfassung auf das Geburtsdatum zuzugreifen wurde eine neue Spalte BEWGE_DAT eingeführt. Sie enthält ebenfalls das Bewegungsdatum, aber bei der Ersterfassung das Geburtsdatum. Falls eine Verwaltung diese Funktion nutzt um Daten aus Sicht Halters abzurufen, muss unbedingt im 3.Parameter die Betriebsnummer des Halters angegeben werden, da die Funktion schon nicht das zutreffende Ergebnis erzeugt. |
Beschreibung | Ähnlich zu den Daten auf dem Pass mit Angaben von Herkunft und Lebensweg anonymisiert nach Land und Bundesland. |
Erstellung | Bilde Lebenslauf inklusive Hinweisen zu Meldefehlern und blende nicht anzuzeigende Daten aus. |
Beispiel |
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276091311400001;0;900000;3;1200
*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276090000000015;0;900015;3;1200 |
Beschreibung siehe auch auf den Programm-Hilfeseiten unter ZI-Daten - Hilfe zu Übersicht Zahlungsanspruchs-Konto.
Input |
Führungs-Entitäten siehe Verwendung. |
Output | siehe Feldliste. |
Beschreibung | Das Zahlungsanspruchsregister ist eine
flexible Funktion zur Ermittlung von Zahlungsanspruchsdaten für verschiedene
Zwecke, wie z.B:
|
Erstellung | Lese alle Daten aus den gewünschten
Basis-Entitäten zum Betrieb, die zum angegebenen Zeitpunkt oder aktuell
fachlich gültig sind.
Durch Verschneidung der verschiedenen Basisintervall können neue "Unterintervalle" mit unterschiedlicher Basis entstehen, z.B. kann ein im Eigentum befindliches Intervall teilweise verpachtet, oder teilweise in offenem Verkauf sein. Anschließend werden zu den gefundenen Intervallen zugehörige Daten ermittelt. Dabei werden insbesondere folgende Entitäten heran gezogen:
Bei der Verschneidung mit den Basisdaten können weiter unterteilte Unterintervalle entstehen. Folgende Datenwerte des Registers werden bei der Antragssortierung heran gezogen:
Für die Abgabesortierung gilt:
|
Beispiel | *2:RS/C:ZA_EIGENT/#ZA_REGIST(ZA_EI_BNR;1;1;1;1;1;0;0;1;%--/*):ZA_EI_BNR;BW;091230000000;099999999999 |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | siehe Feldliste. |
Beschreibung | Das Zahlungsanspruchsregister zur
Antragstellung ist eine spezielle Version des allgemeinen Registers,
abgestimmt auf die Bedürfnisse der Antragstellung.
Als Zeitpunkt gilt der 15.5. des Antragsjahres mit Zeitpunkt 23:59:45. Hintergrund ist, dass Benutzer Minuten genau noch für den ganzen Antragsstichtag handeln können, also bis 23:59h. Die letzte Minute des Tages wird verwendet um Übertragungen zwischen dem 16.5 und 31.5 des Jahres mit Wirksamkeit für die Antragstellung des aktuellen Jahres um 23:59:30 zu buchen. Der Stichtag kann jahresspezifisch wegen Sonn- und Feiertagen auch auf dem 16. oder 17.5 liegen. Damit kann die Abholung der Werte für Milch- und Tabakzuteilung mit Zeitpunkt 23:59:15 erfolgen und alle für den Tag von Benutzern gebuchten Übertragungen berücksichtigen, die "nach gemeldeten" aber absichtlich noch dem alten Besitzer zurechnen. Als Basis werden alle "ZA im Besitz" betrachtet, d.h. alle aktuell zum Antragszeitpunkt im Eigentum (abzüglich verpachteter) und zuzüglich der gepachteten. Offene Verkäufe und Verpachtungen sind eigentlich nicht dem Antragsteller zu zurechnen, können aber für Überprüfungszwecke mit ausgegeben werden (siehe ZAREG_ANAU). |
Erstellung | analog zu #ZA_REGIST (siehe oben) |
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276091460105003;900000;3;1200 |
Input |
Führungs-Entitäten siehe Verwendung. |
Output | siehe Feldliste. |
Beschreibung | Diese Funktion ist eine spezielle Version des allgemeinen Registers, abgestimmt auf die Bedürfnisse der Abwicklung von Verkaufs- und Verpachtungstransaktionen, insbesondere unter dem Aspekt, nach Abschluss der Transaktion dem Übergeber und Übernehmer die Daten zu den übertragenen ZA-Intervallen an zu zeigen. Der Abgeber sieht die Daten sofort, der Übernehmer erst nach erfolgreicher Zubuchung |
Erstellung | analog zu #ZA_REGIST (siehe oben) |
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276091460100026;900000;3;1200 |
Input |
Führungs-Entitäten siehe Verwendung. |
||||||||||||||||||||
Output | siehe Feldliste. | ||||||||||||||||||||
Beschreibung | Diese Funktion die dazu Name und Adresse zu den Beteiligten einer Übergabetransaktion aus zu geben. Dabei wird überprüft, ob die angegebene Transaktion bereits abgeschlossen ist. Entsprechend wird nur die eigenen Daten oder nach erfolgter Gegenbuchung auch die Daten des Handelspartners geliefert. | ||||||||||||||||||||
Erstellung | Zunächst wird aus der Führungsentität
ermittelt ob Basis Verkauf oder Verpachtung
vorliegt und ob aus Sicht des Abgebers oder Übernehmers die
Abfrage erfolgt und entsprechend das Recht zur Anzeige der Daten bei noch
nicht abgeschlossener Transaktion gegeben ist. Wenn nicht "abgeschlossen" - dann nur die Adresse zum Ver.. oder Zu.. je nach Kompetenz der Führungsentität
Momentan werden nur Betriebsstammdaten (BTR_D) zum aktuellen Zeitpunkt berücksichtigt. Später:
|
||||||||||||||||||||
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276091460105003;900000;3;1200 |
Input |
Führungs-Entitäten siehe Verwendung. |
Beispiel |
*1:XS:LOGON/BNR15;PIN;MELD_WG;MAXCERR;TIMEOUT:276090000005003;905003;3;0;1200 *2:RS/C:ZA_EIG_BES/#ZA_LLF_VW(ZA_LAND;ZA_SERIE;;;0;0;0;0;0/*):ZA_LAND;EQ;9;AND;ZA_SERIE;EQ;146052 *2:RS/C:ZA_EIG_BES/#ZA_LLF_VW(ZA_LAND;ZA_SERIE;ZA_NR_VON;ZA_NR_BIS;0;0;0;0;0/*):ZA_LAND;EQ;9;AND;ZA_SERIE;EQ;146052 |
Output | siehe Feldliste. |
Beschreibung | Der Lebenslauf stellt ein
Betriebsübergreifendes zeitlich geschichtetes Zahlungsanspruchsregister für
eine ganze Serie oder ein Intervall dar. Welche Entitäten verknüpft werden, ergibt sich automatisch aus den angeforderten Ausgabespalten. Aus Gründen der Performance und Beschränkung des Datenumfangs ist es daher dringend angeraten nur die wirklich benötigten Spalten zu spezifizieren. Der Zeitpunkt einer jeden Änderung einer betroffenen Entität ergibt eine neue "Zeitschicht". Innerhalb dieser Schichten ergeben Attributverschneidungen die einzelnen Intervalle. Dabei kann die Feinheit der Darstellung ("Granularität") analog zum Register gewählt werden. |
Erstellung | Ermittle aus den angegebenen Outputspalten
die heran zu ziehenden Entitäten, dabei werden berücksichtigt:
Nicht berücksichtig wird "Nutzrangfolge" da sie benutzerspezifisch und nicht universell gültig für das Intervall ist. Bilde sortierte Liste der Grenz-Zeitpunkte. Suche für alle Zeitpunkte zugehörige Basisdaten (EI, PA, VKO, VPO). Generiere bei der Verschneidung ggf. neue Intervalle. Hole für die vorhandenen Zeilen (entstanden aus den verschiedenen Basisintervallen) des aktuellen Grenzblocks der Reihe nach Attribute (GR, ZW, PK, NU). Anschließend alle Teile verwerfen die komplett außerhalb gesuchten Intervalls liegen. Beispiel: Gesucht IV 91-100, gefunden Eigentum 1-100,
wird getrennt durch Attribut in 1-50 und 51-100 Anschließend für Zeitraum Konsistenz prüfen, ggf. gesamte Ausgabe verwerfen wenn Daten inkonsistent und nur konsistente Lebensläufe gezeigt werden sollen. Dann Granularität ändern. Am Ende nach allen Zeiträumen Handelsbesonderheiten / Sperre für die Serie ermitteln und ggf. in Antwortliste stellen Nur bei der Endkundenversion "ZA_LLF_EB": Handelsbesonderheiten / Sperre für Betriebe werden nur für den aktuell angemeldeten Betrieb ermittelt wenn es sich um einen "Endkunden", d.h. nicht um eine Verwaltungsstelle handelt. Diese ist identisch mit der BNR aus der Führungsentität. |
Beispiel | *2:RS/C:ZA_EIG_BES/#ZA_LLF_VW(ZA_LAND;ZA_SERIE;;;1;0;1/*):ZA_EB_BNR;IN;276091460100049 |
Input | ENTITY, LOM, BNR15, DATUM, DATA_VON werden i.d.R. automatisch aus der Entität VORGANG übernommen, Führungs-Entitäten siehe Verwendung. |
Output | Einzelne Entitäten ERSTERF, GEBURT, EUEIN, IMPMARK, ABGANG, ZUGANG, AUSFUHR, SCHLACHTUN, TOD mit den zugehörigen ca. 42 verschiedenen Feldelementen, siehe Feldliste. |
Beschreibung | Diese Funktion dient dazu, die Originalsätze zu einem Fehlervorgang zusammen mit dem Vorgang zu holen auch wenn der Benutzer auf diesen Originalsatz selbst keine Kompetenz hat. Als Führungsentität dient VORGANG. Die Parameter aus der aktuellen Vorgangszeile, die einen Datensatz eindeutig identifizieren, also Namen der Meldung (ENTITY), Ohrmarke, Betriebsnummer und Datum (je nach Meldung GEB_DATR, ZUGA_DAT, SCHL_DAT usw.) sowie der DATA_VON (als SYS_VON-Timestamp) dienen dazu den Satz zu lesen und alle oder die gewünschten Outputspalten auszugeben. |
Erstellung | Die Datensätze werden aus der jeweiligen Meldungs-Entität gelesen und unsortiert in eine Liste eingetragen. Für einen Vorgangssatz ist normalerweise nur ein Datensatz in der Funktionsergebnismenge. |
Beispiel | *2:RS/H:VORGANG/VORGNR;#ORGDATEN(ENTITY;LOM;BNR15;DATUM;DATA_VON): |
Input | Ohrmarke der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung. |
Output | Wechselnde Entitäten GEBURTA, ERSTERF, GEBURT, EUEIN, IMPMARK, ABGANG, ZUGANG, AUSFUHR, SCHLACHTUN, TOD mit den zugehörigen ca. 42 verschiedenen Feldelementen, siehe Feldliste. |
Beschreibung | Alle VVVO-Meldungen, also Bewegungen im weiteren Sinn - Entstehung aus ERSTERF, GEBURT, IMPMARK und EUEIN, Zugänge aus ZUGANG und Abgänge aus ABGANG, sowie Tierende aus AUSFUHR, TOD und SCHLACHTUN, SCHL_IMP, zusätzlich Sondermeldungen TRANSIT, TBA_MELD werden nach Datum sortiert angezeigt. Das dient als Grundlage für die Einzeltierverfolgung. |
Erstellung | Aus einer Führungsentität wird die jeweils aktuelle Ohrmarke (LOM) der gelesenen eile als Input genommen und alle zugehörigen Daten in den oben genannten Entitäten gelesen und nach Datum sortiert in eine Liste eingetragen. Wenn keine Outputspalten spezifiziert werden, wird für jede Entität alle darin enthaltenen Spalten ausgegeben. Wenn konkret gewünschte Outputspalten angegeben sind, werden nur diese ausgegeben, die anderen sind nicht leer sondern entfallen. Wenn die gewünschten Spalten in einer Entität nicht vorkommt, wird dort überhaupt nicht gelesen. |
Beispiel | *2:RS:GEBURT/LOM;GEB_DATR;#BEWMELD(LOM):BNR15;EQ;276091234567890 |
Im HIT-Data-Dictionary unter Funktions-Verwendung findet sich eine Liste mit welcher Führungs-Entität und welchen Parameterlisten die einzelnen Funktionen aufgerufen werden können.
Die Outputparameter stehen im Data-Dictionary bei den Meldungs-Elementen zur jeweiligen Funktion, siehe HIT-Meldungen und Funktionen
Der HitServer liefert normalisierte Ausgaben, die für die Ausgabedatei denormalisiert werden müssen. Es wird eine teilweise Denormalisierung durchgeführt, d.h. es werden nur gelieferte Felder in einer vollständigen CSV-Zeile gefüllt.
Eine Abfrage liefert
-2:BTR_D/BNR15;NAME:276090000000001;Meier -2:#BESTREG/BNR15;VON;LOM;ZUGA_DAT:276090000000001;01.01.1999;DE0810000001;01.01.1999 -2::276090000000001;01.01.1999;DE0810000031;02.02.1999 -2:#ADDRPOST/ORT:München
Die Abfrage liefert die Spalten BNR15, NAME, VON, LOM, ZUGA_DAT und ORT, die einer CSV-Zeile stehen müssen. Durch das sequentielle Abarbeiten der Antworten können daher auch nur die Spalten der jeweiligen Zeilen gefüllt werden. Um die funktionellen Abfragen auseinander halten zu können, wird dieser mit ausgegeben. Die resultierende CSV-Datei sieht gemäß des Beispiels dann so aus:
ENTITAET;BNR15;NAME;VON;LOM;ZUGA_DAT;ORT BTR_D;276090000000001;Meier;;;; #BESTREG;276090000000001;;01.01.1999;DE0810000001;01.01.1999; #BESTREG;276090000000001;;01.01.1999;DE0810000031;02.02.1999; #ADDRPOST;;;;;;München
Zum Weiterverarbeiten müssen die Daten gruppenweise eingelesen werden und entweder in relationalen Datenbanken in entsprechende Tabellen eingetragen und verknüpft werden oder per eigenständigem Programm zu vollständigen CSV-Zeilen aufbereitet werden.
![]() | Die Betriebsangaben, z.B. zu VB/Vorbesitzer oder NB/Nachbesitzer beziehen sich auch BTR_D, sind also Hof-Adressen. |
![]() | Wenn auch Postadressen benötigt werden, sollte eine analoge Funktion definiert werden, z.B. #TIEREINP |
![]() | Kompetenz über benutzte Funktionen |
![]() | Parameterprüfung, welche zulässig oder Default sind, erfolgt in Abhängigkeit von abgefragter Grund-Entität. |
![]() | Ggf. zusätzliche Kompetenz für bestimmte Spalten, wird aber i.d.R. durch eigene Funktion definiert, die dann kompetenzbeschränkt ist. |
![]()
© 1999-2019 Bay.StMELF,
verantwortlich für die Durchführung sind die
Stellen der Länder ,
fachliche Leitung ZDB: Frau Dr. Kaja.Kokott@hi-tier.de,
Technik: Helmut.Hartmann@hi-tier.de
Seite zuletzt bearbeitet:
05. August 2019 12:58,
Anbieterinformation: Impressum und Datenschutz.
|