Zur Homepage www.HI-Tier.de HIT-Abfragefunktionen
Home Nach oben Weiter
Öffentlicher Bereich für Entwickler

 

Inhalt

bulletAllgemeines
bulletSyntax und Beispiele
bulletDefinierte Abfragefunktionen
bulletBeschreibung der Funktionen
bulletAusgabeformat
bulletSonstige Hinweise

Allgemeines

Kontext

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

  1. Die normale Kompetenzprüfung bezüglich der abzufragenden Datensätze in der Führungsentität findet statt
  2. Es wird geprüft ob der Betrieb aufgrund seiner Typen die gewünschte Funktion überhaupt benutzen darf.

Stichpunkte und Verweise

bulletDie ursprüngliche Absicht semi-complexe Abfrage über eigene Entitäten zu lösen wurde fallengelassen, statt dessen wurden die HIT-Abfragefunktionen eingeführt.
bulletHIT-Abfragefunktionen sind eine Erweiterung der HIT-Query-Laguage, siehe HIT-QL
bulletAbfragefunktionen werden in die Feldliste des Retrieve-Objekts eingetragen und liefern zusätzliche Daten zu einer gegebenen Abfrage auf eine Grundentität.
bulletBezüglich des Ausgabeumfangs gibt es 3 Typen von Abfragefunktionen
bulletInline-Funktionen sind mit Dollar ($) gekennzeichnet. Sie erscheinen als normale Spalte in der einzelnen Ausgabezeile der abgefragten Entität, Spaltennamen ist entweder der Funktionsaufruf wie eingegeben oder der unter Output angegebene frei wählbare Name.
bulletNewline-Funktionen sind mit Route (#) gekennzeichnet. Sie erscheinen als ein oder mehrere separate Ausgabezeilen nach der jeweiligen Ausgabezeile der abgefragten Entität.
bulletMixtline-Funktionen sind mit Rufzeichen (!) gekennzeichnet. Sie sind analog zu Newline-Funktionen, geben aber nicht gleichgeformte Ausgabezeilen, sondern verschiedene Antwortentitäten zurück.
bulletNewline- und Mixtline-Funktionen dürfen nur am Ende der Feldliste stehen
bulletIn einer Abfrage (RETRIEVE) sind mehrere Funktionen zulässig.
bulletFunktionen können nicht innerhalb von Funktionen angewendet werden.
bulletStichtagsabfragen über Retrieve-Subcode /Z.. und Abfragen stornierter Daten über Subcode /I werden dort, wo es sinnvoll erscheint, auch unterstützt.

Einschränkungen

Die 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 Beispiele

Funktionsaufbau

Token Definition Bemerkung
<Funktion> <Fkt-Name>(<Input>[/<Output>]) Funktionsname mit Klammern, Input-Parametern und ggf. mit Schrägstrich getrennt Outputliste
<Fkt-Name> <Fkt-Typ><Fkt-Basename> Typkenner und Basisname der Funktion
<Fkt-Typ>  $ (Dollar) | # (Hash) | ! (Rufzeichen) $ (=Inline-Funktion) | # (=Newline-Funktion) | ! (=Mixtline-Funktion)
<Fkt-Basename> COUNT | COUNTF | COUNTD | MIN | ALPHALOM | TIEREIN | ORGDATEN | ... Erläuterung zu den einzelnen Funktionen, siehe HIT-Abfragefunktionen
<Input>  * | <Inputliste> die Standardparameter werden i.d.R. durch Stern angegeben
<Inputliste> <Inputfeldname>|<Konstante>[;<Inputliste>] die Inputparameter können aus Feldnamen und Konstanten bestehen
<Output> * | <Outputliste> Stern für alle Outputfelder oder konkrete Angabe der Feldnamen als Liste
<Outputliste> <Outputfeldname>[;<Outputliste>] ein oder mehrere Feldnamen mit Semikolon getrennt

Beispiele

Diese ersten Beispiele geben eine ersten Einblick in die Benutzung der Funktionen, eine genauere Erläuterung erfolgt unten.

Funktion Beschreibung

$COUNT(*)

Zeilenanzahl

$COUNTB(*)

Zeilenanzahl, bei sehr großen Datenmengen

$COUNTF(RASSE)

Zeilenanzahl mit vorhandener Rasse

$COUNTD(BNR15)

Anzahl verschiedener Betriebe

$COUNT(*/ANZ_GEBURTEN)

Zeilenanzahl, als Ergebnis-Spalte "ANZ_GEBURTEN"

$MIN(GEB_DATR)

kleinstes Geburtsdatum, Outputname ist Standard

$MIN(GEB_DATR/FIRST_DAT)

kleinstes Geburtsdatum, explizite Angabe des Outputnamens

$YEAR(GEB_DATR/JAHR_GEB)

Jahr aus dem Geburtsdatum, explizite Angabe des Outputnamens

$MONTH(GEB_DATR)

Monat aus dem Geburtsdatum

$DAY(GEB_DATR)

Tag aus dem Geburtsdatum

$DAYS(GEB_DATR)

Laufende Nummer des Tag seit 1.1.1970

$DATE(SYS_VON)

Datum aus dem Timestamp SYS_VON

$ALPHALOM(LOM_MUT)

Ohrmarke in aufbereiteter Form

$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

$BNRSTAAT(BNR15)

Staat (numerisch), z.B: 276 für DE bei Betrieb 09 177 148 0001

$BNRLAND(BNR15)

Land (numerisch), z.B: 9 bei Betrieb 09 177 148 0001

$BNRREGBEZ(BNR15)

Regierungsbezirk (numerisch), z.B: 1 bei Betrieb 09 177 148 0001

$BNRKREIS(BNR15)

Landkreis (numerisch), z.B: 177 bei Betrieb 09 177 148 0001

$BNRGEMDE(BNR15)

Gemeinde (numerisch), z.B: 148 bei Betrieb 09 177 148 0001

$MELD_FRST(ZUGA_DAT)

Berechnet Differenz aus Meldedatum und Ereignisdatum

$MELD_FR14(ZUGA_DAT)

Differenz aus Meldedatum und Ereignisdatum, beschränkt auf 14 Tage

$MELD_FRG1(ZUGA_DAT)

Differenz aus Meldedatum und Ereignisdatum, nach Gruppen 1

$MELD_FRG2(ZUGA_DAT)

Differenz aus Meldedatum und Ereignisdatum, nach Gruppen 2

$DATE_DIFF(VOK_ADAT;VOK_ADAT)

Differenz aus VOK-Datum und Datum der Ankündigung

$ADD(SCHL_GEW;LEB_GEW)

zum Addieren von Zahlen

$SUBTRACT(SCHL_GEW;LEB_GEW)

zum Subtrahieren von Zahlen

$MULTIPLY(ZA_IV_UMF;ZA_ZWERT)

zum Multiplizieren von Zahlen

$DIVIDE(ZA_IV_UMF;ZA_ZWERT)

zum Dividieren von Zahlen

$DIVIDEX(ZA_IV_UMF;ZA_ZWERT)

zum erweiterten Dividieren von Zahlen (ohne Rundung)

$UMFANG(ZA_NR_VON;ZA_NR_BIS)

zum Ermittelns des Umfangs von Zahlenbereichen

$ISBETWEEN(ZA_IV_UMF;1;200)

zum Ermitteln ob eine Wert im Bereich liegt

$ISNOTBETW(ZA_IV_UMF;1;200)

zum Ermitteln ob eine Wert außerhalb eines Bereiches liegt

$ZA_WERT(ZA_IV_UMF;ZA_ZWERT)

zum Berechnen von ZA-Werten in ZA_REGSTAT (aus ZA_IV_UMF und ZA__ZWERT)

$STORNO(SYS_BIS)

Ermittelt ob Datensatz storniert ist, also Wert des Timestamps 31.12.2100

$AKTIV(SYS_BIS)

Ermittelt ob Datensatz aktiv ist ist, also Wert des Timestamps größer jetzt (current timestamp)

#TIEREIN(BNR15;LOM;ZUGA_DAT)

Tiereingang, default alle Ergebnisspalten

#TIEREIN(*/*)

Tiereingang, explizit alle Ergebnisspalten

#BESTREG(27.9.1999;31.12.1999/*)

Bestandsregister zum Stichtag, alle Ergebnisspalten

#BESTREG(*/ANF_TYP;ANF_DAT)

Default-Argument Bestand heute, nur bestimmte Ergebnisspalten

#LINENR(BNR15/Zeile)

fortlaufende Nummer pro Wert (außer NULL)

#GRPNR(BNR15/Gruppe)

fortlaufende Nummer pro Gruppe, also neuem Wert (außer NULL)

Beispiele unzulässiger Verwendung

bullet*2:RS:ZUGANG/BNR15;#TIERSTAM(*);ZUGA_DAT - Newline-Funktion muss am Ende stehen
bullet#BESTREG(27.9.1999;BNR15;1.1.2000/BNR15;#ADDRPOST(BNR15)) - Funktion in Funktion, falsche Reihenfolge der Inputargumente
bullet#BESTREG(27.9.1999;1.1.2000; 09 123 456 7890 - Betriebsnummer ausgeschrieben statt Feldname

Definierte Abfragefunktionen

Inline-Funktionen

$-Inline- Funktionen

Bedeutung

Entity *1)

Input *2)

Output *3)

Beispiel *4)

$ALPHALOM

Alpha-Darstellung von Ohrmarken

(beliebig, mit LOM-Spalte)

LOM-Spalte

(leer oder Text als AS),
siehe Feldliste

*2:RS:GEBURT/$ALPHALOM():LOM;EQ;DE0913106031
*3:RS:GEBURT/$ALPHALOM(LOM):LOM;EQ;DE0913106031

$ALPHABNR

Gegliederte Darstellung von Betriebsnummern

(beliebig, mit BNR-Spalte)

BNR-Spalte

(leer oder Text als AS),
siehe Feldliste

*2:RS:BTR_Z/$ALPHABNR(BNR15_P):BNR15_C;EQ;276090000000001

$AVG

Durchschnitts-Wert

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS),
siehe Feldliste

*2:RS:SCHLACHTUN/$AVG(SCHL_GEW):BNR15;EQ;276090000000002

$STDDEV

Standardabweichung

(beliebig)

(beliebiger Spaltenname einer numerischen Spalte)

(leer oder Text als AS)

*2:RS:SCHLACHTUN/$STDDEV(SCHL_GEW):BNR15;EQ;276090000000002

$VARIANCE

Varianz

(beliebig)

(beliebiger Spaltenname einer numerischen Spalte)

(leer oder Text als AS)

*2:RS:SCHLACHTUN/$VARIANCE(SCHL_GEW):BNR15;EQ;276090000000002

$CODEKURZ
$CODETEXT

Kurztext zu Schlüsselwerten
Langtext zu Schlüsselwerten

(beliebig, mit Schlüsselwert-Spalte)

(beliebiger Spaltenname)

(leer oder Text als AS)

*2:RS:GEBURT/$CODEKURZ(RASSE):LOM;EQ;DE0913106031

$COUNT
$COUNTB

Zeilenzähler

(beliebig)

* (konstant)

(leer oder Text als AS),
siehe Feldliste

*2:RS:ZUGANG/$COUNT(LOM/Anz):BNR15;EQ;276090000000001

$COUNTD

Anzahl verschiedener ("distinct") Werte im Feld

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS),
siehe Feldliste

*2:RS:ZUGANG/$COUNTD(BNR15/Betriebe):LOM;EQ;DE0913106031

$COUNTF

Zeilenzähler mit Feld gefüllt ("not NULL")

(beliebig)

(beliebiger Spaltenname)

(leer oder optional beliebiger Name als AS), siehe Feldliste

*2:RS:GEBURT/

$FMUN_TX Vereinfachte Darstellung der Tätigkeiten von Futtermittel-Unternehmen, Komma separiert FM_UN, FM_UN_BD FMUN_T_A;...K

(leer oder Text als AS)

*2:RS:FM_UN/BNR15;$FMUN_TX():BNR15;EQ;276091330500003

$MAX

Maximum-Wert

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS),
siehe Feldliste

*2:RS:ZUGANG/$MAX(ZUGA_DAT):LOM;EQ;DE0913106031

$MIN

Minimum-Wert

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS),
siehe Feldliste

*2:RS:ZUGANG/$MIN(ZUGA_DAT):LOM;EQ;DE0913106031
$PLSOBJEKT,
$PLSSCHWER,
$PLSTEXT
Schwere, Kurztext oder Langtext zu Plausinummer (beliebig, mit Plausinummern-Spalte) PLAUSINR   *2:RS:VORGANG/LOM;$PLSOBJEKT();:LOM;EQ;276000913507039
*3:RS:VORGANG/$PLSSCHWER();$PLSTEXT():LOM;EQ;276000913507039
$RASSECODE
$RASSEKURZ
$RASSETEXT
Rasse-Code, Kurztext und Text für AT / DE - Umsetzung (genaue Beschreibung fehlt noch) (beliebig, mit Rasse-Spalte)
insbes. MSA_EINF, MSA:AUSF
RASSE oder RASSE_URS
und
  *3:RS:MSA_EINF/$RASSETEXT(276;RASSE_URS;LAND_MSA/DE_CODE):
*4:RS:MSA_EINF/$RASSETEXT(*/DE_CODE):LOM;EQ;40000712873345

$SUM

Numerische Summe

(beliebig)

(num. Spalte)

(leer oder Text als AS),
siehe Feldliste

*2:RS:SCHLACHTUN/$SUM(SCHL_GEW):BNR15;EQ;276090000000002

$PRAEMCODE
$PRAEMKURZ
$PRAEMTEXT
Prämien-Code, Kurztext und Text für AT / DE - Umsetzung (genaue Beschreibung fehlt noch) (beliebig, mit ccc-Spalte)
insbes. MSA_EINF, MSA:AUSF
MSA_PRAEM    
$ZA_IV_EXT
$ZA_IV_FC
$ZA_IV_FM
Zahlungsansprüche in externe Intervalldarstellung umwandeln
Fehlercode bei der Umwandlung
Fehlermeldung bei der Umwandlung
(beliebig) ZA-IV-Spalten: ZA_LAND; ZA_SERIE; ZA_NR_VON; ZA_NR_BIS
oder 4 Zahlen als Konstante

(leer oder Text als AS)

*2:RS:ZA_GRUND/$ZA_IV_EXT():ZA_SERIE;EQ;BBB
/ZA_IV_EXT(ZA_LAND;ZA_SERIE;ZA_NR_VON;ZA_NR_BIS)
/ZA_IV_EXT(9;12345;1;2000)

$ZA_IV_INT
$ZA_IV_UMF
Zahlungsansprüche in interne Intervalldarstellung umwandeln
Umfang des ZA-Intervalls in Hundertstel
(beliebig) ZA-IV-Spalten: ZA_LAND; ZA_SERIE; ZA_NR_VON; ZA_NR_BIS
oder Text mit externer Darstellung als Konstante

(leer oder Text als AS)

*2:RS:ZA_GRUND/$ZA_IV_UMF():ZA_SERIE;EQ;BBB'
/ZA_IV_INT('09 BBB 1 - 2')

$CURR_TS

Current Timestamp, Systemzeit als Timestamp

(beliebig)

Leer (kein Input)

(leer oder Text als AS)

*2:RS:CSETS/$CURR_TS():SETNR;EQ;1

$CURR_DATE

Current Date, aktuelle Systemzeit als Datum

(beliebig)

Leer (kein Input)

(leer oder Text als AS)

*2:RS:CSETS/$CURR_DATE(/Date):SETNR;EQ;1

$CURR_TIME

Current Time, aktuelle Systemzeit als Zeit

(beliebig)

Leer (kein Input)

(leer oder Text als AS)

*2:RS:CSETS/$CURR_TS(/Jetztzeit):SETNR;EQ;1

Newline-Funktionen

#-Newline- Funktionen

Bedeutung

Entity *1)

Input *2)

Output *3)

Beispiel *4)

#ADDRPOST

Postanschrift zum Betrieb

(beliebig, mit BNR-Spalte)

BNR-Spalte
[;Von;Bis]

BNR15; (Input)
ZEILE1;ZEILE2;PLZ;ORT, siehe Feldliste

*2:RS/C:TIERBETR/LOM;BNR15;#ADDRPOST():BNR15;EQ;276091330701001

#ADDRHOF

Hofanschrift zum Betrieb

(beliebig, mit BNR-Spalte)

BNR-Spalte
[;Von;Bis]

BNR15; (Input)
ZEILE1;ZEILE2;PLZ;ORT, siehe Feldliste

*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

#BESTREG

Bestandsregister zum Betrieb im Zeitraum

BTR_

* oder Von;Bis [;BNR-Spalte [;BREG_SORT [;GVE_MODE [;GVE_FAKTOR
[;LOM
[;GVE_ERR_MO]]]]]]

BNR15;DAT_VON;DAT_BIS; (Input)
LOM;GEB_DATR; ...;TIER_EIN;ZUG_...;ABG_...;...,
SCHL_NR;SCHL_KAT;SCHL_GEW;LEB_GEW (NEU)
 sieheFeldliste

*2:RS/C:BTR_D_AKT/NAME;#BESTREG():BNR15;EQ;276091311400001

#BESTREX Bestandsregister (extended) (mit Schlachtdaten und LOM-Auswahl) analog BESTREG analog BESTREG
siehe Feldliste
*2:RS/C:BTR_D_AKT/NAME;#BESTREX():BNR15;EQ;276091311400001
#BESTREY Bestandsregister (Statistik) (mit Alterstatistik) analog BESTREG analog BESTREG + BREGY_xx,
siehe Feldliste
*3:RS:BTR_D/#BESTREY(1.1.2010;1.1.2010):BNR15;EQ;276091310700001
#BESTRTG Bestandsregister mit Tiergesundheit   analog BESTREG siehe Feldliste  

#BETRCLUST

Zugeordnete Betriebe (über Nachfolge oder UN/BS)

BTR_

BNR-Spalte
[;Form]

BNR15; (Input)
BNR15_ZO;BNR15_ZU;..., siehe Feldliste
*2:RS/C:BTR_D/#BETRCLUST():BNR15;EQ;090000000001
#BSETERGZ

Abruf BSE-Ergeb.

       
#CC_SANKT CC Sanktionsberechnung Unternehmenszusammenfassung CC_ZUN   siehe Feldliste  

#ETIKETT

Etikettierungsdaten 

SCHLACHTUN
ZUGANG

* oder LOM-Spalte, weitere Parameter s.u.

siehe Feldliste

--

#ETIKETT_G

Geburt und Stammdaten

    siehe Feldliste  
#ETIKETT_M

Mast mit Haltungszeiträumen

    siehe Feldliste  
#ETIKETT_S

Schlachtung oder Tierende

    siehe Feldliste  

#LEBENSLF

Lebenslauf eines Tieres mit Kommentaren

(beliebig, mit LOM-Spalte)

* oder LOM-Spalte [;LLF_FORM]

LOM; (Input)
BNR15;BEW_DAT;BEW_MELD;

PLAUSI;SCHWERE;..., siehe Feldliste

*2:RS/C:TIERBETR/#LEBENSLF():LOM;EQ;DE09...

#LOMBEDARF

Ohrmarkenbedarfsberechnung

    siehe Feldliste  
#LOMSFREE

Anzeigen der freien Ohrmarken einer Serie

    siehe Feldliste  
#TBADATEN

Eingeschränkte Endedaten, z.B. BSE-Testpflicht

    siehe Feldliste  

#TIERAUS

Tierausgang Nachbesitzer

ABGANG...

* oder
BNR-Spalte;LOM-Spalte;Datums-Spalte

BNR15; LOM; DATUM; (Input)
BNR15_NB; ZUDAT_NB; NAME; NAME2; PLZ; ORT; STR_NR, siehe Feldliste

*2:RS:ABGANG/LOM;ABGA_DAT;#TIERAUS(*/*):BNR15;EQ;276090000000001
#TIERCHK

Prüfung eines Rindes unter verschiedenen Aspekten, insbesondere Bescheinigungen

VWTIER, TIERBETR

* oder LOM-Spalte, weitere Parameter s.u.

siehe Feldliste  
#TIERCHKL

Vereinfachte Prüfung eines Rindes für Beauftrage der Veterinärbehörden

ZUGANG

* oder LOM-Spalte

siehe Feldliste  

#TIEREIN

Tiereingang Vorbesitzer

ZUGANG...

* oder
BNR-Spalte;LOM-Spalte;Datums-Spalte

BNR15; LOM; DATUM; (Input)
BNR15_VB; ABDAT_VB; NAME; NAME2; PLZ; ORT; STR_NR, siehe Feldliste

*2:RS:ZUGANG/LOM;#TIEREIN(BNR15;LOM;ZUGA_DAT):LOM;EQ;DE0913106031

#TIERENDE

Tierende-Daten

(fast alle Tier-Meldungen)

* oder LOM u. BNR-Spalte

LOM; (Input)
TIER_END;END_DAT;BNR15_EB; SCHL_NR;SCHL_KAT;SCHL_GEW;SCHL_LEB, siehe Feldliste

*6:RS:ZUGANG/#TIERENDE(*/DAT_END;BNR15_EBX):LOM;EQ;DE0913106031

#TIERENDX Tierende-Daten (extended) (fast alle Tier-Meldungen) * oder LOM u. BNR-Spalte LOM; (Input)
TIER_END;END_DAT;BNR15_EB; SCHL_NR;SCHL_KAT;SCHL_GEW;SCHL_LEB, siehe Feldliste
*6:RS:ZUGANG/LOM;BNR15;ZUGA_DAT;#TIERENDX(*/DAT_END;BNR15_EBX):LOM;EQ;DE0913106031
#TIERGES

Tiergesundheit Rind

    siehe Feldliste  
#TIERGESL

Tiergesundheit Rind - light

    siehe Feldliste  
#TIERGESX

Tiergesundheit Rind - extended

    siehe Feldliste  

#TIERSTAM

Tierstamm-Daten

(fast alle Tier-Meldungen)

* oder LOM-Spalte

LOM; (Input)
TIER_ANF;ANF_DAT;
GEB_DATR;RASSE;GESCHL_R;LOM_MUTX;LOM_A; BNR15_AB;BNR15_GEB;LAND_URS;LAND_GEB, siehe Feldliste

*6:RS:ZUGANG/#TIERSTAM(*/GEB_DATR;RASSE;GESCHL_R):LOM;EQ;DE0913106031

#TIERSTAX

Tierstamm-Daten - extended

    siehe Feldliste  

#TPE

Tierpass/Ersatzpapier Vorder- Rück- und Endeseite

TPNACHB | TIERBETR

LOM-Spalte

LOM; (Input)
LOM; RASSE; GEB_DAT .... siehe Feldliste

--

#TPE_VS

Tierpass/Ersatzpapier

TPNACHB | TIERBETR

LOM-Spalte

LOM; (Input)
... siehe Feldliste

--

#TPE_RS

Tierpass/Ersatzpapier Rohdaten nur Rückseite

TPNACHB | TIERBETR

LOM-Spalte

LOM; (Input)
... siehe Feldliste

--

#TPE_ES

Tierpass/Ersatzpapier

TPNACHB | TIERBETR

LOM-Spalte

LOM; (Input)
... siehe Feldliste

--

#VERBLEIB

Verbleib des Tieres

(fast alle Tier-Meldungen)

* oder LOM-Spalte [;Stichtag[;Offset]]

LOM; (Input)
siehe Feldliste

*2:RS:ABGANG/#VERBLEIB(LOM;1.1.2010):

#VORHALT

Vorangegangene Haltungen

VMTIER

* oder LOM-Spalte;Datums-Spalte

DATUM;LOM; (Input)
siehe Feldliste

*2:RS:VMTIER/LOM;#VORHALT(*/ILAND_VB;BLAND_VB):

#ZA_REGIST

Zahlungsanspruchsregister für Betrieb zum Zeitpunkt

BTR_* |
ZA_*
(mit BNR)

* oder BNR-Spalte, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

*2:RS/C:ZA_EIGENT/#ZA_REGIST(ZA_EI_BNR;1;1;1;1;1;0;0;1;%--/*):ZA_EI_BNR;EQ;091230000000

#ZA_REGANT Zahlungsanspruchsregister für Betrieb zur Antragstellung (analog #ZA_REGIST)

* oder BNR-Spalte, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

--
#ZA_VX_ADR Name und Adresse zu abgeschlossenem Zahlungs-Verkauf und -Verpachtung (analog #ZA_REGIST)

* oder BNR-Spalten, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

--
#ZA_VX_DAT Zahlungsanspruchsdaten zu Verkauf und Verpachtung (analog #ZA_REGIST)

* oder BNR-Spalten, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

--
#ZA_LLF_VW Zahlungsanspruch Lebenslauf für Verwaltungsstellen ZA_*

* ZA-Spalten, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

*2:RS/C:ZA_EIG_BES/#ZA_LLF_VW(ZA_LAND;ZA_SERIE;;;1;0;1/*):ZA_EB_BNR;IN;276091460100049
#TAMBEST #TAMBESTB
#TAMBESTV
#TAMBESTH
Abgleich zwischen Rinder-Bestandsregister und TAM-Meldungen BTR_D / TAM_ERKLDB

BNR-Spalte, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

 
#TAMSALDO Saldo, Durchschnitt und Hochrechnung TAM-Bestand BTR_D / TAM_ERKLDB

BNR-Spalte, weitere Parameter s.u.

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

 
#STATISTIK Sitzungs-Statistik ZDB_SYS  

(Inputwerte werden nicht ausgegeben)
 Outputspalten siehe Feldliste

 

Mixtline-Funktionen

!-Mixtline- Funktionen

Bedeutung

Entity *1)

Input *2)

Output *5)

Beispiel *4)

!ORGDATEN

Originaldatensatz zu Fehlervorgang

VORGANG

Entity-Sp.;LOM-Sp.;BNR-Sp.;Datum-Sp.; TS-Von-Sp.

GEBURT/* | ZUGANG/* ...., siehe Feldliste

*2:RS/H:VORGANG/VORGNR;#ORGDATEN(ENTITY;LOM;BNR15):

!BEWMELD

Alle VVVO-Meldungen zur LOM

(beliebig, mit LOM-Spalte)

LOM-Spalte

GEBURT/* | ZUGANG/* ...., siehe Feldliste

*2:RS:GEBURT/#BEWMELD(LOM):BNR15;EQ;276091234567890

*) Fußnoten :

  1. Eine vollständige Liste der verwendbaren Entitäten siehe untern bei Funktionsverwendung/Führungs-Entitäten.
  2. Bei den Input-Parameter gibt es zwei Arten: Konkrete Werte als konstanter Sting und Spaltennamen der Grundentität.
    1. Werte: Ein Wert für Stichtag oder Von/Bis-Datum ist als einfacher Datumsstring i.d.F. T.M.J anzugeben, wenn der Parameter fehlt weil Stern oder Leer angegeben wird ein jeweils sinnvoller Wert angenommen, z.B. das heutige Datum als Stichtag.
    2. Spaltennamen: Da ein Funktion immer in Verbindung mit dem RETRIEVE eine Grundentität gebraucht wird, kann der Spaltenname eines Feldes dieser Entität als Parameter angegeben werden (welche Spalte aus der jeweiligen Entität verwendet werden darf steht unter .... ). Bei der Ausführung wird dann der jeweilige Satz der Grundentität gelesen und der Wert der Inputparameterspalte als Argument an die Funktion übergeben.
    3. Am einfachsten ist nur * zu schreiben.
  3. Die Bedeutung der Outputspalte ist bei Inline-Funktionen etwas anders als bei New/Mixtline-Funktionen
    1. Inline: Der Output der Funktion erhält einen beliebigen im Outputparameter angegebenen Namen
    2. New/Mixt: Aus der Liste der möglichen Output-Spalten (vollständige Liste siehe HIT-Data-Dictionary) werden einzelne ausgewählt.
  4. Komplexe Berechnungen wie z.B. BESTREG müssen auf ein sinnvolles Maß beschränkt werden, also nicht alle Betriebe eines Landes auf einmal rechnen !!
  5. Als Output kommen verschiedene Entitäten mit den zugehörigen Spalten, welche Entitäten kommen können steht bei der jeweiligen Funktionsbeschreibung.

Beschreibung der Inline-Funktionen

$COUNT - Zeilenzähler

Input * (konstant)
Output Anzahl Datenzeilen. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste.
Beschreibung Das Ergebnis der Datenbankfunktion COUNT(*) wird gebildet und zurückgegeben.
Beispiel *2:RS/V1:ERSTERF/$COUNT(*/count_alle):BNR15;BW;276091610000000;276091880000000

$COUNTB - Zeilenanzahl, bei sehr großen Datenmengen

analog $COUNT(), wenn das Ergebnis sehr groß ist

$COUNTF - Zeilenzähler mit Feld gefüllt ("not NULL")

Input (beliebiger Spaltenname)
Output Ergebnis der Standard-Datenbankfunktion zum Zählen von Datenzeilen mit vorhandenen Werten im angegebenen Feld. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste.
Beschreibung Das Ergebnis der Datenbankfunktion "COUNT(<feld>)" wird gebildet und zurückgegeben.

$COUNTD - Anzahl verschiedener ("distinct") Werte im Feld

Achtung: 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.

Input (beliebiger Spaltenname)
Output Ergebnis der Standard-Datenbankfunktion zum Zählen von Datenzeilen mit verschiedenen Werten im angegebenen Feld. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Das Ergebnis der Datenbankfunktion "COUNT(DISTINCT <feld>" wird gebildet und zurückgegeben. Ein COUNT auf ein bestimmtes Feld mit Ignorieren von NULL-Values ist nicht möglich.
Beispiel *2:RS:ZUGANG/$COUNTD(BNR15/Betriebe):LOM;EQ;DE0913106031

$MIN - Minimum,
$MAX - Maximum,
$AVG - Durchschnitt,
$SUM - Summe,
$STDDEV - Standardfehlerabweichung,
$VARIANCE - Varianz

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

$YEAR - Jahr,
$MONTH - Monat,
$DAY - Tag,
$DAYS - Tagnummer,
$DATE - Datum,
$CURR_TS - aktueller Zeitstempel,
$CURR_DATE - aktuelles Datum,
$CURR_TIME - aktuelle Zeit

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

$ALPHALOM - Lesbar aufbereitete Ohrmarke

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

$ALPHABNR - Lesbar aufbereitete Betriebsnummer

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

$LOMSTAAT, $LOMLAND - Funktionen zum Extrakt aus Ohrmarkennummern

Input
  1. Spalte mit einem numerischen Ohrmarkenwert wie z.B. 276000912345678, also i.d.R. LOM oder LOM_MUT,
  2. optionale Ausgabeform (Codeliste AUSG_FORM)
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>)

Form Kürzel $LOMLAND
0 STD 9
1 NR 9
2 KRZ BY
3 TXT Bayern

$BNRSTAAT, $BNRLAND, $BNRREGBEZ, $BNRKREIS, $BNRGEMDE - Funktionen zum Extrakt aus Betriebsnummern

Input Spalte mit einer numerischen Betriebsnummer wie z.B. 276091234567809, also i.d.R. BNR15 oder BNR15_VB ...
  1. VON-Datum als freie Eingabe,
  2. optionale Ausgabeform (Codeliste AUSG_FORM)
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 $BNRSTAAT(BNR15)    Staat (numerisch), z.B: 276 für DE bei Betrieb 09 177 148 0001
$BNRLAND(BNR15)    Land (numerisch), z.B: 9 bei Betrieb 09 177 148 0001
$BNRREGBEZ(BNR15)    Regierungsbezirk (numerisch), z.B: 1 bei Betrieb 09 177 148 0001
$BNRKREIS(BNR15)    Landkreis (numerisch), z.B: 177 bei Betrieb 09 177 148 0001
$BNRGEMDE(BNR15)    Gemeinde (numerisch), z.B: 148 bei Betrieb 09 177 148 0001

Standardfunktion $BNRKREIS: Suche Kreis über direkt aus KFZ-Kennzeichen (kurz, ohne PLUS)

Beispiel: $BNRKREIS(276091623456789,<Form>)

Betrieb Form 1 Form 2 Form 3 Form 4 Form 5 Form 6 Form 7 Form 8 Form 9
05 313 000 0000 5313 (unbekannt) (unbekannt) AC+ AC+ 05334, 05354, 05313 05334, 05354, 05313 5001 5001
05 334 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 354 000 0000 5354 (unbekannt) (unbekannt) AC+ AC+ 05334, 05354, 05313 05334, 05354, 05313 5001 5001
05 562 000 0000 5562 RE Recklinghausen RE RE+ 05 562 05 562, 05 916 5410 5411
05 916 000 0000 5916 HER Herne, Stadt HER RE+ 05 916 05 562, 05 916 5210 5411
05 999 000 0000 5999 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--
09 161 000 0000 9161 IN Ingolstadt, Stadt IN IN 09 161 09 161 9390 9390
09 161 140 0000 9161 IN Ingolstadt, Stadt IN IN 09 161 09 161 9390 9390
09 162 000 0000 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
09 162 140 0000 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
09 181 000 0000 9181 LL Landsberg a. Lech LL LL 09 181 09 181 9520 9520
09 181 140 0000 9181 LL Landsberg a. Lech LL LL 09 181 09 181 9520 9520
09 183 000 0000 9183 Mühldorf a. Inn 09 183 09 183 9600 9600
09 183 140 0000 9183 Mühldorf a. Inn 09 183 09 183 9600 9600
09 188 000 0000 9188 STA Starnberg STA STA 09 188 09 188 9840 9840
09 188 140 0000 9188 STA Starnberg STA STA 09 188 09 188 9840 9840
14 263 000 0000 14263 (unbekannt) (unbekannt) GR+ GR+ 14 626,14 263,14 284,14 286 14 626,14 263,14 284,14 286 14041 14041
14 284 000 0000 14284 (unbekannt) (unbekannt) GR+ GR+ 14 626,14 263,14 284,14 286 14 626,14 263,14 284,14 286 14041 14041
14 286 000 0000 14286 (unbekannt) (unbekannt) GR+ GR+ 14 626,14 263,14 284,14 286 14 626,14 263,14 284,14 286 14041 14041
14 626 000 0000 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 14041
15 082 000 0000 15082 ABI Anhalt-Bitterfeld ABI ABI 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082 15082
15 082 123 0000 15082 ABI Anhalt-Bitterfeld ABI ABI 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082 15082
15 151 001 0000 15151 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--
15 151 002 0000 15151 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--
15 151 003 0000 15151 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--
15 159 000 0000 15159 (unbekannt) (unbekannt) ABI ABI 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082, 1515100(1,2,6), 1515101(0,1,4,5,9), 1515102(0,2,6), 1515103(2,3,7,9), 1515104(1,2,4,6,9), 1515105(8,9), 1515106(3,7,8), 15154, 15159 15082 15082

Sonderfunktion $BNRKREIX: Suche Kreis über KFZ-Kennzeichen (kurz, ohne PLUS)

Betrieb Form 1 Form 2 Form 3 Form 4 Form 5 Form 6 Form 7 Form 8 Form 9
05 313 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 334 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 354 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 562 000 0000 5562 RE Recklinghausen RE RE+ 05 562 05 562, 05 916 5410 5411
05 916 000 0000 5916 HER Herne, Stadt HER RE+ 05 916 05 562, 05 916 5210 5411
05 999 000 0000 5999 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--

Sonderfunktion $BNRKREIY: Suche Kreis über KFZ-Kennzeichen (lang, mit PLUS)

Betrieb Form 1 Form 2 Form 3 Form 4 Form 5 Form 6 Form 7 Form 8 Form 9
05 313 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 334 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 354 000 0000 5334 AC Aachen, Städteregion AC AC+ 05 334 05334, 05354, 05313 5000 5001
05 562 000 0000 5562 RE Recklinghausen RE RE+ 05 562 05 562, 05 916 5410 5411
05 916 000 0000 5562 RE Recklinghausen RE RE+ 05 562 05 562, 05 916 5410 5411
05 999 000 0000 5999 (unbekannt) (unbekannt) %-- %-- %-- %-- %-- %--

Der Hauptunterschied ist, dass hier bestimmte Kreise wie z.B. "05916 Herne" in einen PLUS-Kreis "RE+" fallen und dann dieser geliefert wird

 

Beispiel *4:RS:BTR_D/BNR15;$BnrStaat(BNR15/Staat);$BnrLand(BNR15/Land);$BnrKreis(BNR15/Kreis);$BnrGemde(BNR15/Gemde):BNR15;EQ;276091330700001

$MELD_FRST, $MELD_FR14, $MELD_FRG1, $MELD_FRG2 - Funktionen zum Berechnen der Differenz aus Meldedatum und Ereignisdatum

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
Beispiel *4:RS:ZUGANG/BNR15;$MELD_FRG1(ZUGA_DAT);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$MELD_FRG1(ZUGA_DAT)

$DATE_DIFF - generische Funktionen zum Berechnen der Differenz aus zwei Datumswerten

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)

$ADD - generische Funktionen zum Addieren von zwei Zahlenwerten

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

$SUBTRACT - generische Funktionen zum Subtrahieren von zwei Zahlenwerten

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

$MULTIPLY - generische Funktionen zum Multiplizieren von zwei Zahlenwerten

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

$DIVIDE - generische Funktionen zum Dividieren von zwei Zahlenwerten

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

$DIVIDEX - generische Funktionen zum erweiterten Dividieren von zwei Zahlenwerten ohne Rundung

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

$UMFANG - generische Funktionen zum Berechnen des Umfang von Zahlenbereichen (VON-BIS)

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

$ISBETWEEN - zum Ermitteln ob eine Wert im Bereich liegt

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

$ISNOTBETW - zum Ermitteln ob eine Wert außerhalb eines Bereiches liegt

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

$LINENR - fortlaufende Nummer pro Wert (außer NULL)

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

$GRPNR - fortlaufende Nummer pro Gruppe, also neuem Wert (außer NULL)

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

$ZA_WERT - generische Funktionen zum Berechnen von ZA-Werten in ZA_REGSTAT (aus ZA_IV_UMF und ZA__ZWERT)

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

$STORNO, $AKTIV - Funktionen zum Ermitteln ob Datensatz storniert bzw. aktiv ist und Ereignisdatum

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(ZUGA_DAT)    Angabe ob der Datensatz storniert ist, z.B: SYS_BIS = 31.12.2100 ergibt 0, alles andere ergibt 1
$AKTIV(ZUGA_DAT)         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)

$CODEKURZ - Kurztext zu Wert aus Schlüsselliste

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

$CODETEXT

Holt Codetext zu einem Schlüssel (analog $CODEKURZ)

$TEXT

Ermöglicht eine Textkonstante aus zu geben

$SUBSTR - Teil einer Zeichenkette

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)

$RENAME - Umbenennen von Spalten

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

$ROWKEY - benutzerdefinierter Rowkey aus Befehl

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

$PLSSCHWER, $PLSTEXT, $PLSOBJEKT

Holt Schwere, Text und Objekt zu gegebener Plausinummer.

$RASSECODE, $RASSEKURZ, $RASSETEXT

Hole Rasse-Code, Kurztext und Text für AT / DE - Umsetzung.

<int>;RASSE
<int>;RASSE_URS;LAND_MSA

$PRAEMCODE, $PRAEMKURZ, $PRAEMTEXT

Hole Prämien-Code, Kurztext und Text für AT / DE - Umsetzung

<int>;PRAESTAT
<int>;MSA_PRAEM;LAND_MSA

Beschreibung der Newline-Funktionen

#ADDRPOST - Betriebsanschrift

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

#ADDRHOF - Hofanschrift

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

#BESTREG - Bestandsregister

Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bestandsregister.

Input
  1. VON-Datum als freie Eingabe
  2. BIS-Datum als freie Eingabe (für Stichtagsregister selber Wert wie VON)
  3. Betrieb wird aus aktuellen Entität übernommen (anzugeben ist damit der Spaltenname i.d.R. BNR15)
  4. Ausgabesortierung (Codeliste BREG_SORT)
  5. GVE-Rechenmodus (siehe Codeliste GVE_MODE)
  6. GVE-Faktor (siehe Codeliste GVE_FAKTOR)
  7. LOM-Wert - normal Leer für alle Tiere,  wenn nur ein Tier aus dem Bestand gewünscht wird kann hier direkt die Ohrmarke angegeben werden
    Wenn nur ein einziger Ergebnissatz als Summe aller Tiere des Betriebs gewünscht wird, kann hier "0" angegeben werden, z.B. für "Durchschnittsbestand"
  8. GVE-Error Mode, Anweisung ob die aufwändige Berechnung für Lebenslauffehler (GVE_ERROR) durchgeführt werden soll (siehe Codeliste GVE_ERR_MO)
  9. Verbleib Mode, Anweisung ob Informationen zum Verbleib der Tiere ermittelt werden sollen (nur für Verwaltungsstellen mit Kompetenz auf #VERBLEIB) (siehe Codeliste REG_VX_MO)
  10. Horizont, Anweisung wie Daten nach dem Abgang des Tieres vom Betrieb behandelt werden  (nur für Vet.Verwaltung) (siehe Codeliste UNB_HORIZ )
  11. UN Mode (noch in Erprobung, nicht endgültig freigegeben)
    bullet0: nur der angegebene Betrieb allein (Default)
    bullet1: mit Betriebsstätten und Vorgänger (analog PRAEMEXT) - Abhängigkeiten in ..Z und ..N streng berücksichtigen
    bullet2: Abhängigkeiten in ..Z und ..N pauschal berücksichtigen
  12. Absoluter Beginn, i.d.R. LEER - damit werden alle Daten einbezogen. Bei sehr großen Betrieben, z.B. Händler oder Schlachter kann ein "Nährungsregister" gebildet werden indem alte Zugänge vor einem gegebenen Datum ignoriert werden (normalerweise sind diese Tiere nicht mehr am Betrieb)
  13. Kompakt (für UN-Mode 1)
    bullet0: Standard - keine Zusammenfassung
    bullet1: Kompakt - innere Umsetzungen zwischen Betriebsteilen zusammenfassen (weg und zurück am selben Tag)
  14. Impfmodus BVD / BHV1:  0:Standard Impfanzeige generisch oder detailliert je nach Beitrittserklärung. 1:rechne testweise detailliert auch ohne Beitrittserklärung

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

#BESTREX - Bestandsregister erweitert, mit alle Tod- , Schlacht- oder Ausfuhrdaten zum Tier

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

#BESTREY - Bestandsregister mit Altersstatistik

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

#BETRCLUST - Betriebscluster, zugeordnete Betriebe (über Nachfolge oder UN/BS...)

Input Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
  1. Form, welche Zuordnungstypen sollen einbezogen werden (TYP_ZUO)
    0=ohne ELER-Zuordnungen 51, 52 (Default)
    1=mit ELER, dann kommt es aber insbesondere in 08:BW zu Überschneidungen mit BS-Zuordnungen

  2. Sollen Zuordnungen nach oben (parent/up) und nach unten (child/down) einbezogen werden
    0=Alle Zuornungsrichtugen - up & down (Default)
    1=nur nach unten, abhängige Betriebe (down only), keine übergeordneten

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)
alle zugehörigen Stammdatensätze und Zuordnungen (Level n+1). Zuordnungen die bereits in der Liste sind (insbesondere die jeweils reversiblen UN<->BS) werden übergangen. Beim Gültigkeitszeitraum wird die "Schnittmenge" des angegebenen Zeitraum mit dem übergeordneten gebildet (siehe "Zeitschnitt").

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

#CC_SANKT - CC-Sanktionsberechnung für die Unternehmenszusammenfassung

Input
1. BNR-Spalte für UN Betriebsnummer des Unternehmens der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
2. Jahr Jahr für Berechnung als Spaltenname aus RS, oder Konstante, ggf. 0 für alle
3. Aktion 0:anzeigen ohne update
1:anzeigen mit update
4. Methode 0:Standart-Methode, ab 2013 neue Berechnung, vorher alte Berechnung
12:alte Methode (Version 2012) für alle Jahre
13:neue Methode (Version 2013) für alle Jahre
5. Stadium 0:keine Detailausgabe
1:Ausgangslage, alle Kontrolle - betriebsweise, vor Aggregat innerhalb Kontrolle
2:nach Aggregat von Teilen innerhalb Kontrolle - unternehmensweise, vor Aggregat zwischen Kontrollen
3:nach Aggregat zwischen Kontrollen - unternehmensweise
4:nach Konsolidierung über ganzes Jahr - unternehmensweise
6. Turm 0:alle
1:BP (19 Standards)
2:ELER-Wald (23=19+4 Standards)
3:AUM (24=19+4+1 Standards)
7. Umfang 0:nur die letzte Kontrolle im Jahr mit Verstößen
1:alle Kontrollen mit Verstößen
2:alle Kontrolle
8. Gesamt 0:Gesamtergebnis nicht ausgeben
1:zusätzliche Zeile mit Unternehmens-Gesamtergebnis
9. Verbose 0:keine zusätzlichen Hinweise zur Sanktionsberechnung
1:zusätzlich Hinweise zur Sanktionsberechnung, wie bei Online-Prüfen
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

#ETIKETT - Geburt, Mast und Schlachtung für Etikett

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
*2:RS/C:ERSTERF/#ETIKETT_G():LOM;BW;276000913100000;276000913199999
*2:RS/C:SCHLACHTUN/#ETIKETT(LOM;;09133,09134,09135/ETIK_TYP;ETIK_TYPX;LOM;LOM_X;HALT_TYP;BNR15;ETI_GEBIET):LOM;EQ;276000913307017

Die Funktion wurde konform der Anzeigevorschriften in 3 Teilfunktionen untergliedert:

  1. #ETIKETT_G - Geburt und Stammdaten, siehe Feldliste
  2. #ETIKETT_M - Mast mit Haltungszeiträumen, siehe Feldliste
  3. #ETIKETT_S - Schlachtung oder Tierende, siehe Feldliste

#LEBENSLF - Lebenslauf eines Tieres mit Kommentaren

Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Einzeltier.

Input

Ohrmarke der aktuellen Entität wird automatisch übernommen
optional Ausgabeform und Umfang (Codeliste LLF_FORM), Default 0 - Standard, nur VVVO-Meldungen, Führungs-Entitäten siehe Verwendung.

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
*2:RS/C:VWTIER/#LEBENSL F(LOM/BEW_MELD;BEWGE_DAT;BNR15;BNR15_X;SCHWERE;FEHLERTEXT):LOM;EQ;276000913114502

#LOMSFREE - Anzeigen der freien Ohrmarken einer Serie

Input
1. BNR-Spalte für UN Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
2. LOMS_UG Spaltenname mit Untergrenze, i.d.R. leer und automatisch aus LOMS-Satz
3. LOMS_OG Spaltenname mit Obergrenze, i.d.R. leer und automatisch aus LOMS-Satz
4. Umfang 0:Ausgabe als Intervalle anzeigen (Default)
1:jeder freie Ohrmarke einzeln (Achtung Umfang kann groß werden)
5. MaxEinzel Obergrenze für Einzelanzeige, dann wird nicht mehr individuell angezeigt sondern auf Intervall umgeschaltet, Default=50, Maximum=1000
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/#LOMS():BNR15;=;09 000 000 0001;ORDER;LOMS_DAT;-

Hier wird die neue Form der Ausgabebeschränkung RS/R+4 verwendet. Sie gibt exakt die ersten 4 gelesenen Zeilen der Führungsentität aus und alle Funktionszeilen dazu, also da die Ohrmarkenserien nach Datum absteigend angezeigt werden (die neuesten zuerst), handelt es sich hier um die 4 zuletzt ausgegebenen Serien.

Die einfache Version RS/R4 beendet die Ausgabe nach 4 Zeilen insgesamt, egal ob die Sätze aus der Führungsentität oder der Funktion stammen.

#STATISTIK - Sitzungs-Statistik

Input
  1. -- (kein 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():

#TAMBEST - Spezielles Rinder-Bestandsregister zum Abgleich mit TAM-Meldungen,
#TAMBESTB - Abgleichliste mit TAM-Bestand (TAM_BEST),
#TAMBESTV - Abgleichliste mit TAM-Bestandsänderung (TAM_BVER),
#TAMBESTH - Abgleichliste mit TAM-Nutzungsart (TAM_HALT)

Input
  1. Betrieb-Spalte der aktuellen Entität,  i.d.R. konstant "BNR15"
  2. Periode, d.h. Kalenderhalbjahr, siehe Codeliste TAM_PERIOD
  3. Angabe zu Betrieb: 1:reine Mast (alle Tiere für Mast), 2:Mischbetrieb (nur männliche Tiere für Mast)
  4. soll vor dem Aufruf ein ggf. vorhandener Cache gelöscht werden und neu gelesen: 0:Nein (default, d.h. use chache), 1:Ja - clear cache
  5. sollen Daten in der Zukunft angezeigt werden: 0:Nein (default, d.h. nur bis heute), 1:Ja - zeige Hochrechnung (insbesondere Alterswechsel bis Periodenende)

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

#TAMSALDO - Saldo, Durchschnitt und Hochrechnung TAM-Bestand

Input
  1. Betrieb-Spalte der aktuellen Entität,  i.d.R. konstant "BNR15"
  2. Periode, d.h. Kalenderhalbjahr, siehe Codeliste TAM_PERIOD
  3. Nutzungsart, siehe Codeliste TAMB_FORM
  4. Datum für Hochrechnung bei Durchschnittsberechnung, i.d.R. LEER für Halbjahresende

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

#TIERAUS - Tierausgang Nachbesitzer

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

#TIERCHK - Tierprüfung

Input
  1. LOM-Spalte der aktuellen Entität,  i.d.R. konstant "LOM"
  2. Betriebsnummer als Spalte der aktuellen Entität oder freie Eingabe
  3. Prüfdatum
    <date>: Konkretes Datum in der Form TT.MM.JJJJ
  4. Auswahl der Prüfungen über Profile
    bullet-1: individuelle Auswahl
    bullet0: alle Prüfungen mit maximaler Intensität
    bullet50: NW, für innergemeinschaftlichen Handel
    bullet90: BY, für innergemeinschaftlichen Handel
    bullet91: BY, für Binnenhandel
  5. Verschiedene Prüfungen (CHK_LEVEL 1...n)  0:deaktivieren, 1..x aktivieren, je höher desto schärfer
    1. OK Hinweis wenn kein Fehler: 0:Nein, 1:Ja
    2. LLF Fehler im Lebenslauf: 0:Nein, 1:Ja
    3. VVO VVVO-Vorgänge zum Tier: 0:Nein, 1:Ja
    4. VET Veterinär-Vorgänge zum Tier: 0:Nein, 1:Ja
    5. BEW Bewegungen innerhalb der letzten 30 Tage: 0:Nein, 1:Ja
    6. SP1 Betriebs- oder Tiersperre nach VO 494/98 (M3, M4) innerhalb der letzten x Tage:
      bullet0:Nein,
      bullet1:Ja (nur Prüfdatum),
      bullet2:Ja (Prüfdatum und Vortag),
      bullet3:Ja (7 Tage),
      bullet4:Ja (30 Tage)
    7. SP2 Betriebs- oder Tiersperre sonstige (M13, M14) innerhalb der letzten x Tage
    8. SP3 Betriebs- oder Tiersperre gem. Tierseuchenrecht (M15) innerhalb der letzten x Tage
    9. SPX : Wenn keine Sperre am bei SP1-SP3 gefunden, Hinweis auf Stand der Einstellung durch Land des Halters
      bullet0:Nein,
      bullet1:Ja, aber nur für andere Bundesländer (nicht eigenes Land des Abfragenden)
      bullet2:Ja (entsprechend Stand des Landes. Momentan ist noch kein Land bekannt, das Sperren vollständig einstellt)
    10. DRI Drittlandimporte innerhalb der letzten 30 Tage: 0:Nein, 1:Ja
    11. BVD Prüfe auf Vorliegen eines negativen BVD-Befundes:
      bullet0:Nein,
      bullet1:Ja (egal wann),
      bullet2:Ja (zum Prüfdatum),
      bullet3:Ja (zum Prüfdatum, zusätzlich keine pos. Befunden innerhalb der letzten 30 Tage)

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
*2:RS/C:VWTIER/LOM;#TIERCHK(LOM;;1.8.2013;1;1;1;1;0;0;0;1):LOM;IS;276000713301204

#TIERCHKL - Tierprüfung, vereinfacht für Beauftragte der Veterinärverwaltung

Input
  1. LOM-Spalte der aktuellen Entität,  i.d.R. konstant "LOM"
  2. Betriebsnummer als Spalte der aktuellen Entität oder freie Eingabe
  3. Prüfdatum
    <date>: Konkretes Datum in der Form TT.MM.JJJJ
  4. Verschiedene vordefinierte Profile von Prüfungen
    bullet0: alle Prüfungen mit maximaler Intensität
    bullet50: NW, für innergemeinschaftlichen Handel
    bullet90: BY, für innergemeinschaftlichen Handel
    bullet91: BY, für Binnenhandel

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
*2:RS/C:ZUGANG/LOM;#TIERCHKL(LOM;;1.8.2013;1;1;1;1;0;0;0;1):BNR;=;07 133 012 0004;AND;LOM;=;276000713301204

#TIEREIN - Tiereingang Vorbesitzer

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

#TIEREIN - Tiereingang Vorbesitzer

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

#TIERENDE - Tod- , Schlacht- oder Ausfuhrdaten zum Tier

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

#TIERENDX - Tod- , Schlacht- oder Ausfuhrdaten zum Tier (extended)

Input
  1. LOM-Spalte der aktuellen Entität,  i.d.R. konstant "LOM"
  2. Betriebsspalte-Spalte der aktuellen Entität,  i.d.R. LEER
  3. Umfang der Ausgabe
    bullet0:alle Stammdatenzeilen (insbesondere bei Re-Import mehrere Zeilen)
    bullet1:nur eine, die letzte Zeile

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

#TIERGES - Tiergesundheit / #TIERGESL - light / #TIERGESX - erweitert

Input
  1. LOM-Spalte der aktuellen Entität,  i.d.R. konstant "LOM"
  2. Betriebsnummer als Spalte der aktuellen Entität
    oder freie Eingabe - nur wenn "extended use" erlaubt, kann Verwaltung spezifizieren die Daten aus Sicht eines bestimmten Betriebes zu sehen
  3. Horizont, Anweisung wie Daten nach dem Abgang des Tieres vom Betrieb behandelt werden  (nur für Vet.Verwaltung) (siehe Codeliste UNB_HORIZ )
    wenn LEER: Entscheidung gemäß Rolle und Kompetenz
    1:immer Beschränkt wie Halter selbst wenn mehr Kompetenz
    <date>: Konkretes Datum in der Form TT.MM.JJJJ
  4. Impfmodus BVD / BHV1:  0:Standard Impfanzeige generisch oder detailliert je nach Beitrittserklärung. 1:rechne testweise detailliert auch ohne Beitrittserklärung

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
*2:RS/C:VWTIER/LOM;#TIERGESX(LOM/LOM;BVD_ERG;BVD_IMP):LOM;IN;DE0537140518

#TIERSTAM - Stammdaten zum Tier

Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Bewegungsmeldung.

Input
  1. LOM-Spalte der aktuellen Entität,  i.d.R. konstant "LOM"
  2. Datum für Altersprüfung
    bulletwenn LEER heute
    bulletSpalte aus Führungsentität oder
    bullet<date>: Konkretes Datum in der Form TT.MM.JJJJ
  3. Umfang der Ausgabe
    bullet0:alle Stammdatenzeilen (insbesondere bei Re-Import mehrere Zeilen, insbes. Geburtsbetrieb beim 2. unbekannt)
    bullet1:nur eine, die 1.Zeile

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:

ANF_DAT BNR15_AB BNR15_GEB LAND_URS LAND_GEB BLAND_GEB
GEBURT GEB_DATR BNR15 als BNR15 gegeben leer 276 Teil der LOM
ERSTERF 26.09.1999 BNR15 als BNR15_GEB optional optional wenn LOM_MUT gefüllt und Tier 276.. dann 276 sonst leer ggf aus LOM
IMPMARK MARK_DAT BNR15 keine Angaben mandatory optional leer
EUEIN EINF_DAT BNR15 ersatzweise BNR15_EU mandatory mandatory leer
Beispiel *6:RS:ZUGANG/LOM;BNR15;ZUGA_DAT;#TIERSTAM(*/GEB_DATR;RASSE;GESCHL_R):LOM;EQ;DE0913106031

#TPE - Tierpass/Ersatzpapier Vorder- Rück- und Endeseite

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
*2:RS/C:TIERBETR/LOM;#TPE_VS(LOM/*):LOM;IN;276000713302094;276000912222001
*2:RS/C:TIERBETR/LOM;#TPE_ES(LOM/*):LOM;IN;276000713302094;276000912222001
*2:RS/C:TIERBETR/LOM;#TPE_RS(LOM/*):LOM;IN;276000713302094;276000912222001

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:

  1. #TPE_VS - Rohdaten nur Vorderseite, siehe Feldliste
  2. #TPE_RS - Rohdaten nur Rückseite, siehe Feldliste
  3. #TPE_ES - Rohdaten nur Endeseite, siehe Feldliste

#VERBLEIB - Verbleib des Tieres

Input
  1. Ohrmarke der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung,
  2. Stichtag als Datum, Default heute  [optional]
  3. Offset als Zahl von Tagen vor oder nach dem Datum, Default 0 [optional]
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
*2:RS/C:TIERBETR/#VERBLEIB(LOM;01.01.2000/*):LOM;EQ;DE 09 131 14910

#VORHALT - Vorangegangene Haltungen

Beschreibung siehe auch auf den Programm-Hilfeseiten unter HI-Tier - Hilfe zu- Einzeltier.

Input
  1. Ohrmarke und Datum der aktuellen Entität werden automatisch übernommen
  2. optional Ausgabeform und Umfang (Codeliste LLF_FORM), Default 0 - Standard, nur VVVO-Meldungen, Führungs-Entitäten siehe Verwendung.
  3. [optional für Verwaltungsstellen: Betriebsnummer des Halters aus dessen Sicht die Funktion ermittelt werden soll]
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
*2:RS/C:VWTIER/#VORHALT(LOM;2):LOM;EQ;DE0913114001

*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276090000000015;0;900015;3;1200
*2:RS/C:VWTIER/#VORHALT(LOM;2;276091311400002):LOM;EQ;276000913114502
*3:RS/C:VWTIER/#VORHALT(LOM;2;276090000000001):LOM;EQ;276000913114502

#ZA_REGIST - Zahlungsanspruchsregister für Betrieb zum Zeitpunkt

Beschreibung siehe auch auf den Programm-Hilfeseiten unter ZI-Daten - Hilfe zu Übersicht Zahlungsanspruchs-Konto.

Input
  1. BNR-Spalte der Führungsentität, Spaltenname z.B. BNR15 oder ZA_EI_BNR
  2. Basis Eigentum 0:nein, 1:ja    (ZAREG_B_PA)
  3. Basis zugepachtet 0:nein, 1:ja  (ZAREG_B_PA)
  4. Basis verpachtet 0:nein, 1:ja   (ZAREG_B_VP)
  5. Basis Verkauf (offen) 0:nein, 1:ja    (ZAREG_B_VO)
  6. Basis Verpacht (offen) 0:nein, 1:ja  (ZAREG_B_PO)
  7. Sortierung, siehe ZAREG_SORT
    0=ohne spezielle Sortierung, rein technisch nach Serie, Von - Bis
    1=Sortierung für die Antragstellung, unter Berücksichtigung einer benutzerdefinierten Rangfolge
    2=Sortierung für die Registeranzeige zur Abgabe, insbesondere Pakete separat
    3=Sortierung für die Antragstellung, ohne Berücksichtigung einer benutzerdefinierten Rangfolge
  8. Granularität, siehe ZAREG_GRAN
    0=Standard, Intervalle wie sie sich aus den jeweils herangezogenen Basisdaten ergeben
    1=Fein, alle ganzen und gebrochenen separat einzeln
    2=Grob, d.h. möglichst große Intervalle
    3=Feinst, jeder ganze einzeln und gebrochenen separat einzeln
    4=Grob, für Nutzung aber ggf. gebrochene Teile am Anfang und Ende separat
  9. Konsistenz, auch unsaubere Daten anzeigen 0=Nein, 1=Ja (ZAREG_KONS)
    0=Strikt,
    1=auch unsaubere Daten anzeigen
  10. Zeitpunkt - leer ist aktuell
  11. Basis Nutzerrangfolge 0:nein, 1:ja    (ZAREG_B_NR)
  12. Verwerfe nicht benötigte Zeilen  (ZAREG_DROP)
    0=nichts verwerfen,
    1=verpachtete,
    2=verpachtete & offene Verkauf- / Verpachtung,
    3=nur offene Verkauf- / Verpachtung verwerfen, verpachtete drinnen lassen
    4=verwerfe was für TB/ZU-Erhöhung nicht benötigt, also STL, besondere im Paket, entwertete, ggf. VKO
    5=verwerfe für Einzug (nur NR) - besondere im Paket, entwertet, VKO, nur mit Einzugswert ...
    6=verwerfe für Einzug wg. Nichtnutzung - besondere im Paket, entwertet, VKO, nur mit Einzugswert ...
    7=verwerfe für Einzug-Check, d.h. nur fremde (interne Verwendung)
    8= verwerfe für 18b, insbesondere die zu spät übernommen oder zu spät gemeldet
    9=Einzugskandidaten (nach Level), ohne dass LEVEL bereits in BIV stehen muss (Netto-Liste)
    10=offene Verkauf verwerfen, offene Verpachtung & verpachtete drinnen lassen (uneingeschränktes Eigentum)
    11=offene Verkauf & verpachtete verwerfen, offene Verpachtung drinnen lassen
    12=offene Verkauf & offene Verpachtung & verpachtete verwerfen (uneingeschränkter Besitz)
  13. Unterdrücken von entwerteten ZA 0=Nein, 1=Ja (ZAREG_ENTW)
  14. Informationen zur Fristeinhaltung bei Übertragungen (ZAREG_FRST)
    0=Keine Informationen zur Fristeinhaltung benötigt (damit Ermittlung schneller),
    1=Informationen Fristeinhaltung ermitteln und für alle Intervalle liefern,
    2=Auf Basis von verspäteter Meldung nicht prämienberechtigte Intervalle verwerfen
  15. Basis Aktion-Betrieb-Intervalle
    0=Keine Informationen aus ZA_AKT_BIV
    1..n=ein zu beziehender Aktionslevel (ZA_AKT_LEV),
    aber nur wenige Aktionen wie z.B. Einzug in NR haben Intervallbezug und können hier genutzt werden

  16. Basis Aktion-Betrieb-Intervalle, Angabe des Level bei Mehrfachaktionen
    0=Keine Informationen aus ZA_AKT_LFN
    1..n=ein zu beziehende Laufende Nummer des Aktionslevel (ZA_AKT_LFN)

  17. Pseudo-Nutzung ausschließen, nur echte Nutzung betrachten (ZAREG_EXPN)
    0=Nein, betrachte alle Nutzungsarten (Default), insbesondere für Einzugsprüfung,
    1=Ja, betrachte nur echte Nutzungen, insbesondere für Antragsregister-Nutzrangfolge

  18. Schwelle Ausgabe eines Hinweises auf Vorliegen von Handelsbesonderheiten (ZAREG_SHAN)
    0=Alle Hinweise ausgeben (Default)
    9=Keine Hinweise ausgeben

  19. Schwelle Ausgabe eines Hinweises auf Vorliegen von ZA-Vorgängen (ZAREG_SVOR)
    0=Alle Vorgänge ausgeben (Schwelle bei Schwere 0)
    1,2=Vorgänge ausgeben mit Schwere größer X
    3=Vorgänge ausgeben mit Schwere größer 3:Fehler (Default)
    9=Keine Vorgänge ausgeben

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:
  1. Anzeige der im Eigentum befindlichen ZA und ihrer Attribute zum Zwecke des Verkaufs oder der Verpachtung
  2. Anzeige der im Besitz befindlichen ZA und ihrer Attribute zum Zwecke der Festlegung einer individuelle Rangfolge für die Aktivierung bzw. Nutzung
  3. Abholen der Daten für die Verarbeitung der Antragstellung, dazu siehe spezielle Version "Antragsregister" (#ZA_REGANT)
Erstellung Lese alle Daten aus den gewünschten Basis-Entitäten zum Betrieb, die zum angegebenen Zeitpunkt oder aktuell fachlich gültig sind.
  1. Bei Eigentum wird die fachliche Gültigkeit durch Beginn (ZA_EI_VON) und Ende (ZA_EI_BIS) der Eigentumstabelle (ZA_EIGENT) bestimmt.
  2. Bei Basis "zugepachtet" werden aus der Entität PACHT Intervalle betrachtet bei denen zum gegebenen Zeitpunkt (ZA_PA_VON / ZA_PA_BIS) der gegebene Betrieb Pächter war (ZA_PA_BNR aus ZA_PACHT).
  3. Bei Basis "verpachtet" wo Betrieb als Verpächter zum Zeitpunkt eingetragen war (ZA_VP_BNR aus ZA_PACHT).
  4. Wenn offene Abgabetransaktionen als Basis mit heran gezogen werden sollen, wir auf den Status 0=OFFEN geachtet, bei Verkauf ZA_VK_STAT in ZA_VERKAUF.
  5. Bei Verpachtung ZA_VP_STAT in ZA_VERPA.
    Wenn rückwirkend zu einem Stichtag in der Vergangenheit das Register angezeigt wird und die Übergabetransaktion mittlerweile abgeschlossen ist, können diese offenen Vorgänge in der Vergangenheit nicht angezeigt werden. Das beeinträchtigt nicht die Reproduzierbarkeit der Ergebnisse, die mittels Zeitstempel RS/Z in der Abfrage immer gegeben ist.
  6. Da die benutzerdefinierte Rangfolge für die Nutzung betriebsspezifisch ist wird sie analog zur Datenbasis zum gegebenen Betrieb aus Nutz-Rangfolge (ZA_NURANG) ermittelt. Dabei wird als Jahr (ZA_NU_JAHR) das Kalenderjahr des gewünschten Zeitpunktes herangezogen.

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:

  1. Grundattribute - ZA_GRUND
  2. Zeitattribute - ZA_ZEITATR
  3. Paketdaten - ZA_PAKET
  4. Nutzung  - ZA_NUTZUNG

Bei der Verschneidung mit den Basisdaten können weiter unterteilte Unterintervalle entstehen.

Folgende Datenwerte des Registers werden bei der Antragssortierung heran gezogen:

  1. ZA_REG_FL (ascending)
  2. ZA_ART_NBS (ascending S:1, N:2, B:3)
  3. Benutzerrangfolge (ascending, außer wenn 0 oder negativ, nur heranzeiehen bei Option 1, nicht bei 3)
  4. ZA_NR_G_20 (J/N, descending)
  5. ZA_ZWERT (je nach Art: S dann nicht, N dann descending, B dann ascending)
  6. ZA_OGS (J/N, descending)
  7. ZA_NU_JAHR (ascending)
  8. ZA_LAND (ascending)
  9. ZA_SERIE (ascending)
  10. ZA_NR_VON (ascending)

Für die Abgabesortierung gilt:

  1. ZA_P_LAND (ascending) damit kommen besondere ohne Paket nach oben
  2. ZA_ART_NBS (ascending S:1, N:2, B:3)
  3. ZA_LAND (ascending)
  4. ZA_SERIE (ascending)
  5. ZA_NR_VON (ascending)
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

#ZA_REGANT - Zahlungsanspruchsregister für Betrieb zur Antragstellung

Input
  1. BNR-Spalte der Führungsentität, Spaltenname z.B. BNR15 oder ZA_EI_BNR
  2. Sortierung, siehe ZAREG_SORT (Beschreibung oben bei #ZA_REGIST)
  3. Granularität, siehe ZAREG_GRAN
  4. Konsistenz, siehe ZAREG_KONS
  5. Ausgabe ohne (0) oder mit (1) Datenzeilen die nicht unmittelbar antragsberechtigt sind, siehe ZAREG_ANAU,
    aber zur Verfolgung unklarer Situationen dienen können wie
    a) verpachteten ZA
    b) offene Verkäufe
    c) offene Verpachtungen
  6. Behandlung besonderer ZA, siehe ZAREG_ANBE
  7. Jahr
  8. Unterdrücken von entwerteten ZA 0=Nein, 1=Ja (ZAREG_ENTW)
  9. Informationen zur Fristeinhaltung bei Übertragungen (ZAREG_FRST)
    0=Keine Informationen zur Fristeinhaltung benötigt (damit Ermittlung schneller),
    1=Informationen Fristeinhaltung ermitteln und für alle Intervalle liefern,
    2=Auf Basis von verspäteter Meldung nicht prämienberechtigte Intervalle verwerfen
  10. Logische Sekunde bei Antragsbearbeitung (ZAREG_SEK)
    45=vor Antragstellung, Besondere mit Fläche beantragt sind noch Besondere,
    55=zur Antragstellung, Besondere mit Fläche beantragt sind ungewandelt in Normal ehemals Besonders (NBE),
    58=nach Antragstellung, Nutzung des aktuellen Jahres ist sichtbar
  11. Pseudo-Nutzung ausschließen, nur echte Nutzung betrachten 0=Nein, 1=Ja (ZAREG_EXPN)
    0=Nein, betrachte alle Nutzungsarten, insbesondere für Einzugsprüfung,
    1=Ja, betrachte nur echte Nutzungen (Default), insbesondere für Antragsregister-Nutzrangfolge
  12. Schwelle Ausgabe eines Hinweises auf Vorliegen von Handelsbesonderheiten (ZAREG_SHAN)
    0=Alle Hinweise ausgeben (Default)
    9=Keine Hinweise ausgeben

  13. Schwelle Ausgabe eines Hinweises auf Vorliegen von ZA-Vorgängen (ZAREG_SVOR)
    0=Alle Vorgänge ausgeben (Schwelle bei Schwere 0)
    1,2=Vorgänge ausgeben mit Schwere größer X
    3=Vorgänge ausgeben mit Schwere größer 3:Fehler (Default)
    9=Keine Vorgänge ausgeben

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
*2:RS/C:ZA_EIG_BES/#ZA_REGANT(ZA_EB_BNR;0;0;0;0;0;2005):ZA_EB_BNR;IN;276091460100052;276091460100053

#ZA_VX_DAT - Zahlungsanspruchsdaten zu Verkauf und Verpachtung

Input
  1. BNR-Spalte des Abgebers der Führungsentität, Spaltenname z.B. ZA_VK_BNR oder ZA_VP_BNR
  2. BNR-Spalte des Übernehmers der Führungsentität, Spaltenname z.B. ZA_ZK_BNR oder ZA_ZP_BNR
  3. TAN-Spalte der Führungsentität, Spaltenname z.B. ZA_VK_TAN oder ZA_VP_TAN
  4. Sortierung, siehe ZAREG_SORT, Details siehe oben
  5. Granularität, siehe ZAREG_GRAN, Details siehe oben
  6. Konsistenz, auch unsaubere Daten anzeigen (ZAREG_KONS)

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
*2:RS/C:ZA_VERKA_Z/#ZA_VX_DAT():ZA_VK_BNR;IN;276091460100025

#ZA_VX_ADR - Name und Adresse zu abgeschlossenem Zahlungs-Verkauf und -Verpachtung

Input
  1. BNR-Spalte des Abgebers der Führungsentität, Spaltenname z.B. ZA_VK_BNR oder ZA_VP_BNR
  2. BNR-Spalte des Übernehmers der Führungsentität, Spaltenname z.B. ZA_ZK_BNR oder ZA_ZP_BNR
  3. TAN-Spalte der Führungsentität, Spaltenname z.B. ZA_VK_TAN oder ZA_VP_TAN
  4. Adresszeitpunkt, siehe ZAREG_ADDR

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

bulletSicht des Abgebers, wenn
bulletVerkauf (ZA_VERKAUF)
bulletVerpachtung (ZA_VERPA)
bulletSicht des Übernehmers, wenn
bulletZukauf (ZA_ZUKAUF)
bulletZupachtung (ZA_ZUPA)
bulletVerkaufsdaten aus Sicht des Übernehmers (ZA_VERPA_Z)
bulletVerpachtdaten aus Sicht des Übernehmers (ZA_VERKA_Z)

Momentan werden nur Betriebsstammdaten (BTR_D) zum aktuellen Zeitpunkt berücksichtigt.

Später:

bulletBerücksichtigung zum gegebenen Zeitpunkt
bulletggf. Berücksichtigung abweichender Postanschrift
Beispiel

*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:276091460105003;900000;3;1200
*2:RS/C:ZA_VERKAUF/#ZA_VX_ADR(ZA_VK_BNR;ZA_ZK_BNR;ZA_VK_TAN):ZA_VK_BNR;EQ;276091460100029

#ZA_LLF_VW - Zahlungsanspruch Lebenslauf für Verwaltungsstellen

Input
  1. Land-Spalte der Führungsentität, zur Zeit fix ZA_LAND
  2. Serien-Spalte der Führungsentität, zur Zeit fix ZA_SERIE
  3. NR-Von-Spalte der Führungsentität, zur Zeit fix ZA_NR_VON oder
    Untergrenze als Zahl z.B. 1 oder
    leer lassen für ganze Serie
  4. NR-Bis-Spalte der Führungsentität, zur Zeit fix ZA_NR_BIS oder
    Obergrenze als Zahl z.B. 999 oder
    leer lassen für ganze Serie
  5. Adresszeitpunkt, siehe ZAREG_ADDR
    0:aktueller Name und Adresse
    1:zum Ereigniszeitpunkt, also z.B. Pacht- oder Eigentumsbeginn
  6. Granularität, siehe ZAREG_GRAN, Details siehe oben
  7. Konsistenz, auch unsaubere Daten anzeigen 0=Nein, 1=Ja (ZAREG_KONS)
  8. Verwerfe nicht benötigte Zeilen 0=nichts verwerfen (ZAREG_DROP)
    1=verpachtete,
    2=verpachtete & offene Verkauf- / Verpachtung,
    3=nur offene Verkauf- / Verpachtung verwerfen, verpachtete drinnen lassen
    4=verwerfe was für TB/ZU-Erhöhung nicht benötigt, also STL, besondere im Paket, entwertete, ggf. VKO
  9. Unterdrücken von entwerteten ZA 0=Nein, 1=Ja (ZAREG_ENTW)

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:
  1. Eigentum  - ZA_EIGENT
  2. Pacht als Verpachtung  - ZA_PACHT
  3. ZA in Verkauf (offen), hier kein Zeitbezug  - ZA_VERKA
  4. ZA in Verpachtung (offen), hier keine Zeitbezug  - ZA_VERPA
  5. Grundattribute - ZA_GRUND
  6. Zeitattribute - ZA_ZEITATR
  7. Paketdaten - ZA_PAKET
  8. Nutzung  - ZA_NUTZUNG

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
jetzt muss 1-50 verworfen werden, auch weil für das ggf. bestimmte Attribute nicht ermittelt wurden weil ja nicht im gesuchten IV 91-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

Beschreibung der Mixtline-Funktionen

!ORGDATEN - Originaldaten zu Fehlervorgängen

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.

Wenn der Originaldatensatz mittlerweile storniert wurde wird der Satz z.Zt. nicht mehr ausgegeben. Dieser Punkt kann aber auf Wunsch auch noch geändert werden.

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

!BEWMELD - VVVO Bewegungsmeldungen

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 einschließlich alter Paßdaten aus GEBURTA, Entstehung aus ERSTERF, GEBURT, IMPMARK und EUEIN, Zu- und Abgänge sowie Tierende aus AUSFUHR, TOD und SCHLACHTUN 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

Führungs-Entitäten und Inputparameter

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.

Outputparameter

Die Outputparameter stehen im Data-Dictionary bei den Meldungs-Elementen zur jeweiligen Funktion, siehe HIT-Meldungen und Funktionen

Ausgabeformat

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.

Beispiel:

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.

Sonstige Hinweise

bulletDie Betriebsangaben, z.B. zu VB/Vorbesitzer oder NB/Nachbesitzer beziehen sich auch BTR_D, sind also Hof-Adressen.
bulletWenn auch Postadressen benötigt werden, sollte eine analoge Funktion definiert werden, z.B. #TIEREINP
bulletKompetenz über benutzte Funktionen
bulletParameterprüfung, welche zulässig oder Default sind, erfolgt in Abhängigkeit von abgefragter Grund-Entität.
bulletGgf. zusätzliche Kompetenz für bestimmte Spalten, wird aber i.d.R. durch eigene Funktion definiert, die dann kompetenzbeschränkt ist.
 
© 1999-2014 Bay.StMELF, Verantwortlich für Fachfragen: Frau Dr. K.Kokott <mailto:Kaja.Kokott@HI-Tier.de>, Technik: Herr H. Hartmann <mailto:Helmut.Hartmann@HI-Tier.de>
Seite zuletzt bearbeitet: 01. Oktober 2014 09:44, Anbieterinformation siehe hier im Impressum.