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

horizontal rule

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

$COUNTD(BNR15)

Anzahl verschiedener Betriebe

$ALPHALOM(LOM_MUT)

Ohrmarke in aufbereiteter Form

#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

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)

Darstellung, Ausgabeaufbereitung, Formatierung

$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

$LOM

Numerische Darstellung von Ohrmarken

(beliebig)

Spalte oder Konstante, in 15stellige LOM zu konvertieren

(leer oder Text als AS),
siehe Feldliste

*2:RS:ERSTERF/LOM;LOM_A;$LOM(LOM_A/A15):LOM;EQ;DE0913106031

$BNR

Numerische Darstellung von Betriebsnummern

(beliebig)

Spalte oder Konstante, in 15stellige BNR zu konvertieren

(leer oder Text als AS),
siehe Feldliste

*2:RS:SINGLE/SOMETHING;$BNR(09 123 456 7890):

$UELNN
$UELNA

Normierten Equiden-UELN
Alpha-Form der normierten Equiden-UELN

(beliebig, mit UELN-Spalte)

UELN-Spalte

 

*1:RS/C:EQ_PASS/UELN;$UELNN(UELN;3/UELNN3);$UELNN(UELN/UELNN);$UELNA(UELN/UELNA);$UELNA(UELN;2/UELNA2):TRNR15;=;276021234567890

$TAM_PER

Numerische Darstellung der TAM-Periode

(beliebig)

Datum oder Timestamp-Spalte, in 3stellige Periode zu konvertieren

 

*2:RS/R10:TAM_XABAWA/TAMX_AWDAT;$TAM_PER(TAMX_AWDAT/(Periode);$CONT(/Anzahl):GROUP;TAMX_AWDAT

$TP_SZST

Abruf der Schaf/Ziegen-Stichtagszahlen für Tierprämie ab 2023

TP_ANT_SZ

Spalte für VVVO-Betrieb: BNR15 oder BNR15_PE und Jahr (TP_JAHR)

 

*1:RS:TP_ANT_SZ/BNR15;$TP_SZST(SZ_A_G2_S;1;BNR15;TP_JAHR/SZ_A_G2_S);$TP_SZST(SZ_A_G3_S;1;BNR15;TP_JAHR/SZ_A_G3_S);$TP_SZST(SZ_A_G2_Z;1;BNR15;TP_JAHR/SZ_A_G2_Z);$TP_SZST(SZ_A_G3_Z;1;BNR15;TP_JAHR/SZ_A_G3_Z):BNR15_AS;=;276141900300001;AND;TP_JAHR;=;2023;AND;SZ_LOM;=;0

$BTR_PSEU

Pseudonym zu Betriebsnummer

BTR_PSEU

Spalte für Betrieb: BNR15 oder BNR15_PE

 

*2:RS/R5:Z2_ANTR/BNR15_BSL;BNR15_BLL;$BTR_PSEU(BNR15_BSL/P1);$BTR_PSEU(BNR15_BSL/P2):BNR15_BSL;IS;09;ORDER;1

$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

$AVG

Durchschnitts-Wert

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS),
siehe Feldliste

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

$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

       
$TXINT(<zahl>)
$TXLNG(<zahl>)
$TXDATE(<datum>)
$TXTIME(<zeit>)
$TXTS(<timestamp>)
$TXDEC(<zahl>)
Konstante Texte als Spaltenausgabe, nicht als Spalte im SELECT daher nicht nutzbar im ORDER       *3:RS/F01.01.2024:BTR_D/$TEXT(Auswertung zum/Hinweis);$TXDATE(01.01.2024/Stand);$COUNT(/ANZ):BNR15;IS;09189
$KONST_INT(<zahl>)
$KONST_LNG(<zahl>)
$KONST_DAT(<datum>)
$KONST_TIM(<zeit>)
$KONST_TS(<timestamp>)
$KONST_DEC(<zahl>)
$KONST_TXT(<text>)
Konstante als Spaltenausgabe, auch als Spalte im SELECT daher nutzbar im ORDER.
Macht auf ersten Blick wenig Sinn, kann aber hilfreich sein, wenn man "Psudo-Splaten" nutzen will um leichter zwischen Eintities zu wechseln.
      *3:RS/F01.01.2024:BTR_D/$KONST_TXT(Auswertung zum/Hinweis);$KONST_DAT(01.01.2024/Stand);$COUNT(/ANZ):BNR15;IS;09189;ORDER;Hinweis;Stand
Datumsfunktionen, Datumsberechnung, Meldefrist

$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

       

$DATE_21XN(ABGA_DAT)
$DATE_X(ABGA_DAT)
$DATE_Y(ABGA_DAT)

Datum oder NULL wenn 31.12.2100
Datum oder HEUTE wenn NULL
Datum oder HEUTE wenn NULL oder 31.12.2100

       

$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

       

$MELD_FRG3(ZUGA_DAT)

Differenz aus Meldedatum und Ereignisdatum, nach Gruppen 3

       

$DATE_DIFF(VOK_ADAT;VOK_ADAT)
$DATE_DIFX
$DATE_DIFY
$DATE_DIFZ
$MAX_DA_DI / $MIN_DA_DI
$MAX_DA_DX / $MIN_DA_DX

Differenz aus VOK-Datum und Datum der Ankündigung

       
Arithmetische Berechnung

$ADD(SCHL_GEW;LEB_GEW)
$MAX_ADD(SCHL_GEW;LEB_GEW)
$MIN_ADD(SCHL_GEW;LEB_GEW)

zum Addieren von Zahlen, bzw. MAX oder MIN davon

       

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

       

$IS_EQ(BNR15;MELD_MELD_BNR)

zum Prüfen ob der Inhalt der angegebenen Spalte GLEICH ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte (z.Zt. nur numerisch und Datum)

       

$IS_NULL(FIRMA)
$IS_LEER(FIRMA)
$IS_NU_LE(FIRMA)

zum Prüfen ob der Inhalt der angegebenen Spalte NULL bzw. LEER bzw. NULL oder LEER ist

       

$IS_EU(LAND_ZIE)

zum Prüfen ob der Staat EU-Mitglied (Stand 2020, inkl. Schweiz gleichgestellt)

       

$COMPARE(SCHL_GEW;LEBEND)

zum Prüfen ob der Inhalt der angegebenen Spalte KLEINER, GLEICH oder GRÖSSER ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte (z.Zt. nur numerisch und Datum)

       

$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)
$ZB_WERT(ZB_IV_UMF;ZB_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)

       

$FSTATUS()

Ermittelt den fachlichen und technischen Gültigkeitsstatus des Datensatzes

       

$SELFMELD()

Ermittelt ob der Benutzer selbst gemeldet hat, also die angegebene BNR-Spalte identisch zum MELD_BNR ist

       

$LINENR(BNR15/Zeile)

fortlaufende Nummer pro Wert (außer NULL)

       

$GRPNR(BNR15/Gruppe)

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

       

$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
$CODE

Kurztext zu Schlüsselwerten
Langtext zu Schlüsselwerten
Variable Ausgabe Schlüsselwerten

(beliebig, mit Schlüsselwert-Spalte)

(beliebiger Spaltenname)

(leer oder Text als AS)

*2:RS:GEBURT/$CODEKURZ(RASSE):LOM;EQ;DE0913106031
*2:RS:GEBURT/$CODE(RASSE;RASSE;4;3/NR_KURZ):LOM;EQ;DE0913106031

$CODEXNR
$CODEXKURZ
$CODEXTEXT

Codenummer zu Schlüssel aus Schlüsselbrücke
Kurztext zu Schlüssel aus Schlüsselbrücke
Langtext zu Schlüssel aus Schlüsselbrücke

(beliebig, mit Schlüsselwert-Spalte)

(beliebiger Spaltenname)

(leer oder Text als AS)

*2:RS/R1:UNTAUF_LX/UNTS_GRUND;$CODEXNR(UNTS_GRUND;TSN_UN_GRN/XNR);$CODEXNR(UNTS_GRUND;TSN_URN/XNR):UNTS_GRUND;IS;31

$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

$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
$ZA_IV_UM2
Zahlungsansprüche in interne Intervalldarstellung umwandeln
Umfang des ZA-Intervalls in Hundertstel, also entsprechend Ar
Umfang des ZA-Intervalls mit 2 Nachkommastellen, entspr. ha
(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')
$ZB_IV_INT
$ZB_IV_UMF
$ZB_IV_UM2
analog oben für Zahlungsansprüche Version II (beliebig) ZA-IV-Spalten: ZB_LAND; ZB_SERIE; ZB_NR_VON; ZB_NR_BIS
oder Text mit externer Darstellung als Konstante

(leer oder Text als AS)

*2:RS:ZB_GRUND/$ZB_IV_UMF():ZB_SERIE;EQ;161010'
/ZB_IV_INT()

$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
Ggf. Addition oder Subtraltion

(beliebig)

Leer (kein Input) oder zu addierende Tage, Monate, Jahre

(leer oder Text als AS)

*2:RS:CSETS/$CURR_DATE(+1/Morgen):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

$DATE_ADD

Addition oder Subtraltion

(beliebig)

Name einer Datumsspalte und zu addierende Tage, Monate, Jahre

(leer oder Text als AS)

*2:RS:GEBURT/$DATE_ADD(GEB_DATR;-1/Vortag):LOM;EQ;DE 09 133 07020

$MEDIAN

Laufender Median

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS)

*1:RS:TAM_ABHK/$MEDIAN(TAMS_ABHK/MEDIAN):TAM_PERIOD;=;141

$QUARTIL3

Laufender Wert des 3.Quartils

(beliebig)

(beliebiger Spaltenname)

(leer oder Text als AS)

*1:RS:TAM_ABHK/$QUARTIL3(TAMS_ABHK/QUARTIL3):TAM_PERIOD;=;141

$ADDRHOF
$ADDRPOST

Hofadresse und Postadresse - inline

(beliebig)

BNR-Spalte, Konstante

(leer oder Text als AS)

*3:RS:PRMMREDM2/BNR15_AS;$ADDRHOF(BNR15_HA;NAME/NAME_HA):BNR15_AS;IS;03

$NAME_GES

Name, als intelligente Kombination aus Vorname Nachname oder Firma

(beliebig)

BNR-Spalte,

(leer oder Text als AS)

*3:RS:BTR_D/BNR15;$NAME_GES(/NAME_GES):BNR15;IS;09 000 000 0001

$ADDR_GES

Adresse, als Kombination aus Straße Nr, PLZ Ort, Ortsteil

(beliebig)

BNR-Spalte

(leer oder Text als AS)

*3:RS:BTR_P/BNR15;$ADDR_GES(/ADDR_GES):BNR15;IS;09 000 000 0001

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  
#HTPFREE

Anzeigen der freien Heimtierpassnummern einer zugeteilten Serie

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

#LEBENSLQ

Lebenslauf eines Tieres - Querformat, mir einer Zeile pro Haltung

(beliebig, mit LOM-Spalte)

* oder LOM-Spalte [;LLF_FORM]

LOM; (Input)
BNR15;BEW_DAT;BEW_MELD;

PLAUSI;SCHWERE;..., siehe Feldliste

*2:RS/C:TIERBETR/#LEBENSLQ(LOM;0;1):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  
#TSN_TB_LO
#TSN_TB_ON

Abruf von Tierbestandszahlen für TSN - lokal oder online

    siehe Feldliste #TSN_TB_LO und #TSN_TB_ON  

#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
#ZB_REGIST

Zahlungsanspruchsregister für Betrieb zum Zeitpunkt

BTR_* |
ZA_* / ZB_*
(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
#ZB_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
#ZB_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
#ZB_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
#ZB_LLF_VW
Zahlungsanspruch Lebenslauf für Verwaltungsstellen ZA_*
ZB_*

* 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

 
#TAMBESW #TAMBESWB
#TAMBESWV
#TAMBESWH
Abgleich zwischen Schweine VVVO-Meldungen / 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)

!BESTRTGX

Bestandsregister mit Tiergesundheit, plus Impfungen

 

 

IMPFUNG, BHV1TEST, BVDTEST, BTVTEST, LEUTEST, BRUTEST, GEN_TEST, ZO_TB_RIND, #BESTRTG

 

!BEWMELD

Alle VVVO-Meldungen zur LOM

(beliebig, mit LOM-Spalte)

LOM-Spalte

ERSTERF, GEBURT, IMPMARK, EUEIN, ZUGANG, ABGANG, AUSFUHR, TOD, SCHLACHTUN, SCHL_IMP, TRANSIT, TBA_MELD

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

!ORGDATEN

Originaldatensatz zu Fehlervorgang

VORGANG

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

Meldungen analog !ORGDATEN ggf. auch Schweine-Bewegungen usw.

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

!TIERGESXX

Bestandsregister mit Tiergesundheit, Impfungen und Einzelbefunddaten

 

 

IMPFUNG, BHV1TEST, BVDTEST, BTVTEST, LEUTEST, BRUTEST, GEN_TEST, ZO_TB_RIND, #TIERGESX

 

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

$GRUPPE - Größengruppen

Input
  1. beliebiger Spaltenname einer Spalte mit numerischem Ìnhalt
  2. Gruppengröße
Output Gruppennummer
Beschreibung Ganzzahlanteil der Division Wert / Gruppengröße, z.B: bei einer Gruppengröße von 10 fallen alle Werte von 0 - 9 in die Gruppe 0, die Werte 10 - 19 in die Gruppe 1.
Beispiel *2:RS:CODES/CODENR;$GRUPPE(CODENR;10):CODESET;IN;RASSE;HB_NUTZ;TAMS_THONL;ORDER;CODENR
*3:RS:CODES/CODENR;$GRUPPE(CODENR;10.5):CODESET;IN;RASSE;HB_NUTZ;TAMS_THONL;ORDER;CODENR

$KLASSE - Benutzer definierte Größenklassen, u.a. zur Gruppierung

Input
  1. beliebiger Spaltenname einer Spalte mit numerischem Ìnhalt
  2. Obergrenze der Klasse 1
  3. Obergrenze der Klasse 2
  4. Obergrenze der Klasse 3
  5. usw.
Output Klassennnummer
Beschreibung Alle Werte bis zu Obergrenze der Klasse X erhalten der Wert X, der Rest X + 1
Beispiel *2:RS:TIERSTATX/$KLASSE(ST_AL_TA;0;7;14;31/Klasse);$COUNT(/Anzahl):BNR15_LMON;IS;09 131;GROUP;$KLASSE(ST_AL_TA)

$KLASSEX - mit eigenen Klassennamen

Input
  1. beliebiger Spaltenname einer Spalte mit numerischem Ìnhalt
  2. Obergrenze der Klasse 1
  3. Konstanter Test für Name der Klasse 1
  4. Obergrenze der Klasse 2
  5. Konstanter Test für Name der Klasse 2
  6. Obergrenze der Klasse 3
  7. Konstanter Test für Name der Klasse 3
  8. usw.
Output Klassennnummer
Beschreibung Alle Werte bis zu Obergrenze der Klasse X erhalten der Wert X, der Rest X + 1
Beispiel *2:RS:TIERSTATX/$KLASSEX(ST_AL_TA;0;00 0 Tage;7;01 bis 7 Tage;14;02 bis 14 Tage;31;03 bis 31 Tage/Klasse);$COUNT(/Anzahl):BNR15_LMON;IS;09 131;GROUP;$KLASSEX(ST_AL_TA)

$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, speziell $AVGB - big (große Ganzzahlen), $AVGD - double,
$SUM - Summe, speziell $SUMB - big (große Ganzzahlen), $SUMD - double,
$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,
$DATE_21XN - Datum oder NULL wenn 31.12.2100,
$DATE_X - Datum oder HEUTE wenn NULL,
$DATE_Y - Datum oder HEUTE wenn NULL oder 31.12.2100,
$CURR_TS - aktueller Zeitstempel,
$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

$KW - Kalenderwoche

Input (beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format) oder leer für Heute
Output Ergebnis der Kalenderwoche nach DE-Standard. Der anzuzeigende Name kann als Outputargument angegeben werden.
Beschreibung Das Ergebnis der Kalenderfunktion wird über den Inhalt der angegebenen Spalte oder von heute gebildet und zurückgegeben. Es können nur Felder vom Format DATE oder TS (Timestamp) angegeben werden. Der Output ist i.d.R. von einem anderen Datentyp (INT).
Beispiel *4:RS:GEBURT/BNR15;GEB_DATR;$KW(GEB_DATR/Geb_Woche):BNR15;EQ;276091330700001

$WEEKDAY - Wochentag

Input (beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format) oder leer für Heute
Output Wochentag nach DE-Standard. Der anzuzeigende Name kann als Outputargument angegeben werden.
Beschreibung Der Wochentag als Ganzzahl 1:Mo bis 7:SO wird über den Inhalt der angegebenen Spalte oder von heute ermittelt und zurückgegeben. Es können nur Felder vom Format DATE oder TS (Timestamp) angegeben werden. Der Output ist i.d.R. von einem anderen Datentyp (INT).
Beispiel *4:RS:GEBURT/BNR15;GEB_DATR;$WEEKDAY(GEB_DATR/Wochentag):BNR15;EQ;276091330700001

$CURR_DATE - aktuelles Datum oder daraus abgeleitetes festes Datum

Input Leer oder optional Angabe von zu addierenden oder zu subtrahierenden Tages-, Monats- und Jahreswerte
  1. + oder - Anzahl Tage
  2. + oder - Anzahl Monate
  3. + oder - Anzahl Jahre
Output Aktuelles Datum oder daraus errechnetes Datum. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Das Ergebnis der Datenbankfunktionen CURRENT_DATE() wird gebildet und zurückgegeben. Ggf. wird die angegebene Zahl Tage, Monate und Jahr dazu gezählt oder abgezogen. Der Output vom Datentyp (DATE).
Beispiel *4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(/Heute):BNR15;EQ;276091330700001
*4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(-1/Gestern):BNR15;EQ;276091330700001
*4:RS:GEBURT/BNR15;GEB_DATR;$CURR_DATE(0;0;1/In_einem_Jahr):BNR15;EQ;276091330700001

$DATE_ADD - durch Addition oder Subtraktion abgeleitetes Datum

Input
  1. beliebiger Spaltenname einer Spalte im Datums- oder Timestamp-Format
  2. + oder - Anzahl Tage
  3. + oder - Anzahl Monate
  4. + oder - Anzahl Jahre
Output Errechnetes Datum. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Hole gewünschtes Datum aus der Datenbank und errechne daraus neues Datum indem die angegebene Zahl Tage, Monate und Jahr dazu gezählt oder abgezogen wird. Der Output vom Datentyp (DATE).
Beispiel *4:RS:GEBURT/BNR15;GEB_DATR;$DATE_ADD(GEB_DATR;-1/Vortag):BNR15;EQ;276091330700001
*4:RS:GEBURT/BNR15;GEB_DATR;$DATE_ADD(GEB_DATR;0;0;1/Nach_einem_Jahr):BNR15;EQ;276091330700001

$MEDIAN - Laufender Median
$QUARTIL3 - Laufender Wert des 3.Quartils

Input beliebiger Spaltenname
Output Wert des Median bzw. 3.Quartils zur aktuellen Zeile
Beschreibung Errechnete Kennzahl, nach aktuellem Stand, d.h. der Median in der Dritten Zeile ist der mittlere Wert der ersten drei Datenwerte wenn man sie der Größe nach sortiert. Es kann sich um numerische, aber auch alphanumerische oder Datums/Zeitwerte handeln. Der Median in der letzten Zeile ist der Wert über die gesamte Datenmenge und damit der einzige wirklich interessante.

Um nicht alle Datensätze abholen zu müssen ,wenn eigentlich nur die Kennzahl der letzten Zeile interessiert wurde die Möglichkeit "den letzten Satz zu lesen" mittels RS/R-1 dahingehend modifiziert, dass dabei immer Median bzw. 3.Quartil des gesamten vorher durchlaufenen Datenmaterials ausgegeben wird. Die Funktion ist intern sehr aufwändig und mit Bedacht einzusetzen.

Das gleichzeitige Abrufen des Median und 3.Quartils in einer Abfrage kostet fast keinen zusätzlichen Aufwand und ist einem getrennten Abruf unbedingt vorzuziehen.

Beispiel *1:RS:TAM_ABHK/TAM_PERIOD;TAMH_FORM;TAMS_ABHK;$MEDIAN(TAMS_ABHK/MEDIAN):TAM_PERIOD;=;141;AND;TAMH_FORM;IS;11;AND;TAMS_ABHK;>;0;ORDER;TAM_PERIOD;TAMH_FORM;TAMS_ABHK
*2:RS/R-1:TAM_ABHK/TAM_PERIOD;TAMH_FORM;$MEDIAN(TAMS_ABHK/MEDIAN);$QUARTIL3(TAMS_ABHK/QUARTIL3):TAM_PERIOD;=;141;AND;TAMH_FORM;IS;11

$ADDRHOF - Betriebsadresse / Anschrift
$ADDRPOST - Postadresse / Anschrift

Input
  1. Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
  2. Eine der folgenden Konstanten für gewünschten Spaltennamen
    bulletNAME, NAME2, ORTSTEIL, STR_NR, PLZ, ORT, UR_STAAT, ILANDX
    bulletNAME_GES, ADDR_GES, TELEFON, FAX, EMAIL, MOBILFON, NAME12, KONTAKT
  3. optional
    1. * : Adresse zum aktuellen Zeitpunkt
    2. F : Adresse zum fachlichen Zeitpunkt der im Subcode /F des RS-Befehls gegeben ist
    3. I : Adresse zum neusten fachlichen Zeitpunkt inklusive stornierter Sätze, damit kann auch für stronierte noch irhend Adresse geholt werden
    4. <Spaltenname> : eines Timestamp oder Datumsfeldes der aktuellen Entität, z.B: DTYP_VON (Achtung: DBET_BIS ist schlecht geeingent)
Output entsprechend gewünschter Spalte
Beschreibung analog den Newline-Funktionen:
#ADDRHOF: Betriebsadresse (BTR_D)
#ADDRPOST: Postanschrift (BTR_P) oder wenn nicht vorhanden Betriebsadresse (BTR_D)
Beispiel *1:RS/1.8.2018:PRMMREDFA/BNR15_AS;$ADDRHOF(BNR15_AS;NAME;F/NAME_AS);$ADDRHOF(BNR15_ANTRST;ADDR_GES;F/ADDR_ANTRST);$ADDRHOF(BNR15_HA;NAME;F/NAME_HALTER);$ADDRHOF(BNR15_HA;ADDR_GES;F/ADDR_HALTER):BNR15_AS;EQ;15 000 000 0001
*2:RS:PRMMREDM2/BNR15_AS;$ADDRHOF(BNR15_AS;NAME/NAME_AS);$ADDRHOF(BNR15_AS;NAME2/NAME2_AS);$ADDRHOF(BNR15_AS;ORTSTEIL/ORTSTEIL_AS);$ADDRHOF(BNR15_AS;STR_NR/STR_NR_AS);$ADDRHOF(BNR15_AS;PLZ/PLZ_AS);$ADDRHOF(BNR15_AS;ORT/ORT_AS);$ADDRHOF(BNR15_AS;KONTAKT/KONTAKT_AS):BNR15_AS;EQ;15 000 000 0001

$ADDRHTP - Betriebs- oder Hofadresse / Anschrift speziell für Heimtierpass
$ADDRTAM - ... speziell für TAM

Input
  1. Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
  2. Eine der folgenden Konstanten für gewünschten Spaltennamen
    bulletNAME, NAME2, ORTSTEIL, STR_NR, PLZ, ORT, UR_STAAT, ILANDX
    bulletNAME_GES, ADDR_GES, TELEFON, FAX, EMAIL, MOBILFON, NAME12, KONTAKT
  3. Auswahl der Adressart: 1:Betriebsadresse, 2:

$ADDRAMT - Name und Adresse des Veterinäramtes bzw. der zugehörigen Zahlstelle

Input
  1. Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
  2. Eine der folgenden Konstanten für gewünschten Spaltennamen
    bulletNAME, NAME2, ORTSTEIL, STR_NR, PLZ, ORT, UR_STAAT, ILANDX
    bulletNAME_GES, ADDR_GES, TELEFON, FAX, EMAIL, MOBILFON, NAME12, KONTAKT
    bulletAMTBNR15, AMTBNR_X
  3. Auswahl der Verwaltungsstelle: 1:Veterinäramt, 2:Zahlstelle
Beispiel *2:RS:BTR_D/BNR15;NAME;$NAME_GES(/NAME_GES_HOF);$ADDR_GES(/ADDR_GES_HOF);$ADDRAMT(BNR15;NAME/NAME_AMT);$ADDRAMT(BNR15;NAME_GES/NAME_GES_AMT);$ADDRAMT(BNR15;ADDR_GES/ADDR_GES_AMT):BNR15;IS;09 000 000 0001

$NAME_GES - Name, gesamt
$ADDR_GES - Anschrift, gesamt

Input
  1. Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung, i.d.R BTR_D bzw. BTR_P
Output entsprechend gewünschter Spalte
Beschreibung analog den Newline-Funktionen:
#NAME_GES: Name, als intelligente Kombination aus Vorname Nachname oder Firma
#ADDR_GES: Adresse, als Kombination aus Straße Nr, PLZ Ort, Ortsteil
Beispiel *3:RS:BTR_D/BNR15;$NAME_GES(/NAME_GES);$ADDR_GES(/ADDR_GES):BNR15;IS;09 000 000 0001

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

$LOM - Numerisch aufbereitete Ohrmarke

Input
  1. Spalte oder Konstante, die in 15stellige LOM zu konvertieren ist, mit einem Inhalt wie z.B. "DE 09 123 45678",
  2. optionale Ausgabeform: 0:bei Fehler NULL ausgeben, 1:bei Fehler Imput-Wert ausgeben (der aber nicht dem Format DEC 19 <LOM> entspricht)
Output 15stellig, numerisch aufbereiteter Wert wie "276000912345678".  Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Mit Hilfe der Standard-Routine zur Konvertierung von HIT-Ohrmarken wird versucht den Input in die numerische Form zu konvertieren.
Beispiel *1:RS:SINGLE/SOMETHING;$TEXT(DE0912345678/Input);$LOM(DE0912345678/OutOrNull);$LOM(DE0912345678;1/OutOrIn):
*2:RS:SINGLE/SOMETHING;$TEXT(DE09123456xx/Input);$LOM(DE09123456xx/OutOrNull);$LOM(DE09123456xx;1/OutOrIn):

$BNR - Numerisch aufbereitete Betriebsnummer

Input
  1. Spalte oder Konstante, die in 15stellige BNR zu konvertieren ist, mit einem Inhalt wie z.B. "09 123 456 7890",
  2. optionale Ausgabeform: 0:bei Fehler NULL ausgeben, 1:bei Fehler Imput-Wert ausgeben (der aber nicht dem Format DEC 19 <BNR> entspricht)
Output 15stellig, numerisch aufbereiteter Wert wie "276091234567890".  Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Mit Hilfe der Standard-Routine zur Konvertierung von HIT-Betriebsnummern wird versucht den Input in die numerische Form zu konvertieren.
Beispiel *1:RS:SINGLE/SOMETHING;$TEXT(09 123 456 7890/Input);$BNR(09 123 456 7890/OutOrNull);$BNR(09 123 456 7890;1/OutOrIn):
*2:RS:SINGLE/SOMETHING;$TEXT(09 123 456 78xx/Input);$BNR(09 123 456 78xx/OutOrNull);$BNR(09 123 456 78xx;1/OutOrIn):

$BTR_PSEU - Pseudonym zu Betriebsnummer

Input
  1. Spalte mit Betriebsnummer, für die die Pseudonym-Betriebsnummer zum Projekt gesucht wird
  2. Projekt: z.B. 1 "ZID Klimaberichterstattung u.a. Thünen Institut für Ländliche Räume"
Output 15stellige Pseudonym-Betriebsnummer
Beschreibung gemäß Pseudonymisierungskonzept
Beispiel *2:RS/R5:Z2_ANTR/BNR15_BSL;BNR15_BLL;$BTR_PSEU(BNR15_BSL/P1);$BTR_PSEU(BNR15_BSL/P2):BNR15_BSL;IS;09;ORDER;1

$UELNN - Normierten Equiden-UELN
$UELNA - Alpha-Form der normierten Equiden-UELN

Input
  1. Spalte oder Konstante, die in alphanumerische UELN zu konvertieren ist, mit einem Inhalt wie z.B. "DE 476 123 12345",
  2. optionale Ausgabeform:
    bullet0:bei Fehler NULL ausgeben
    bullet1:bei Fehler Imput-Wert ausgeben (der aber nicht dem Format entspricht)
    bullet2:bei Fehler Fehlermeldung
    bullet3:bei Fehler Compressed mit Hash
Output numerisch oder alpha-numerisch aufbereiteter Wert.  Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung Mit Hilfe der Standard-Routine zur Konvertierung von UELN wird versucht den Input in die numerische bzw. alpha-numerische Form zu konvertieren.
Beispiel *1:RS/C:EQ_PASS/UELN;$UELNN(UELN;3/UELNN3);$UELNN(UELN/UELNN);$UELNA(UELN/UELNA);$UELNA(UELN;2/UELNA2):TRNR15;=;276021234567890

$TAM_PER - Numerische TAM-Periode

Input
  1. Spalte mit Datum oder Timestamp, die in die 3stellige TAM-Periode zu konvertieren ist
Output 3stellig, numerischer Wert wie "142" für 2.Halbjahr 2014.
Beschreibung TAM-Routine wandel in Perioden-Nummer
Beispiel *2:RS/R10:TAM_XABAWA/TAMX_AWDAT;$TAM_PER(TAMX_AWDAT/(Periode);$CONT(/Anzahl):GROUP;TAMX_AWDAT

$TP_SZST - Abruf der Schaf/Ziegen-Stichtagszahlen für Tierprämie ab 2023

Input
  1. Name der gewünschten Daten-Spalte aus SZ_STICHTA:
    1. SZ_A_G2_S - Anzahl Schafe der Gruppe 2 - über 9 bis unter 19 Monate
    2. SZ_A_G3_S - Anzahl Schafe der Gruppe 3 - ab 19 Monate
    3. SZ_A_G2_Z - Anzahl Ziegen der Gruppe 2 - über 9 bis unter 19 Monate
    4. SZ_A_G3_Z - Anzahl Ziegen der Gruppe 3 - ab 19 Monate
  2. Umfang: 0:Zahlen zur Betriebsnummer allein. 1:Aggregierte Zahlen zur Betriebsnummer und allen Betriebsstätten zum Antragstermin (default)
  3. Spalte mit VVVO-Betrieb:
    1. BNR15 - VVVO-Betriebsnummer zum Antragsteller (default)
    2. BNR15_PE - VVVO-Betriebsnummer Pensionsbetrieb
  4. Spalte mit Jahr: TP_JAHR (default)
  5. Stichtagsdatums (optionale Angabe), z.B. 01.01.2023 (insbesondere für Länder, bei denen abweichende Stichtagsdaten verwendet werden). Wenn das Jahr im Datum kleiner gleich 2000 ist dient das als Platzhalter für das entsprechende Datum des gefundenen Antragsjahres
  6. Meldedatum (optionale Angabe), z.B. 15.01.2023 - dann werden nur Meldungen mit Meldedatum kleiner-gleich dem angegeben berücksichtigt
Output bis zu 8stellig, numerischer Wert.
Beschreibung Holt Stichtagsdaten zur Betriebsnummer allein oder mit Betriebsstätten, für das Jahr der Antragstellung (i.d.R. 01.01.xxxx)
Beispiel *1:RS:TP_ANT_SZ/BNR15;$TP_SZST(SZ_A_G2_S;1;BNR15;TP_JAHR/SZ_A_G2_S);$TP_SZST(SZ_A_G3_S;1;BNR15;TP_JAHR/SZ_A_G3_S);$TP_SZST(SZ_A_G2_Z;1;BNR15;TP_JAHR/SZ_A_G2_Z);$TP_SZST(SZ_A_G3_Z;1;BNR15;TP_JAHR/SZ_A_G3_Z):BNR15_AS;=;276141900300001;AND;TP_JAHR;=;2023;AND;SZ_LOM;=;0
*2:RS:TP_ANT_SZ/BNR15;BNR15_PE;$TP_SZST(SZ_A_G2_S;0;BNR15_PE;TP_JAHR/SZ_A_G2_S);$TP_SZST(SZ_A_G3_S;0;BNR15_PE;TP_JAHR/SZ_A_G3_S);$TP_SZST(SZ_A_G2_Z;0;BNR15_PE;TP_JAHR/SZ_A_G2_Z);$TP_SZST(SZ_A_G3_Z;0;BNR15_PE;TP_JAHR/SZ_A_G3_Z):BNR15_AS;=;276141900300001;AND;TP_JAHR;=;2023;AND;SZ_LOM;=;0
*3:RS:TP_ANT_SZ/BNR15;BNR15_PE;$TP_SZST(SZ_A_G2_S;0;BNR15_PE;TP_JAHR;01.01.2000;15.01.2000/SZ_A_G2_S):BNR15_AS;=;276141900300001;AND;TP_JAHR;=;2023;AND;SZ_LOM;=;0

$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
$C12LAND - Analog Land aus Teststellen 1-2 z.B. PR_ANTR_NR

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_FORMB)
  3. optional Kurz/Intern
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 direkt aus der Kreis-Zahl in der Betriebsnummer, suche dazu KFZ-Kennzeichen

FormInhalt
1Numerisch: 9123 bzw. 13123
2Kurz-Code (gemäß Codeset LKR)
3Code-Text (gemäß Codeset LKR)
4KFZ-Kennezichen (gemäß Codeset KURZ_KFZ) - numerisch
5KFZ-Kennezichen, suche weitesten Treffer, meist Plus-Version wenn vorhanden
6Kurz-Code zu 4
7Kurz-Code zu 5
8Code-Text zu 4
9Code-Text zu 5

 

Kurz/InternInhalt
0die Suche des Kreises / Gruppenbildung wird an die Datenbank übertragen (Standard), das funktioniert ausreichend schnell und hat den Vorteil, dass die Funktion damit sinnvoll auch im GROUP verwendet werden kann. Nachteil ist aber, dass das SQL Statement sehr lang ist und ggf. die Fehlerrückmeldungen unnötig extrem aufbläht.
1Kurz/Intern. In diesem Fall wird die Suche des Kreises im Programm vorgenommen und von der Datenbank nur die Betriebsnummer geholt. Dies geht sogar etwas schneller und die Fehlerrückmeldungen ist schlank. ABER: Nicht sinnvoll zusammen mit GROUP zu verwenden, weil hier dann jeder Betrieb eine Gruppenzeile erzeugt.

 

Beispiel: $BNRKREIS(276091623456789;<Form>) sucht zu 09162 und findet M - München

Diese Funktion ist schnell, funktioniert aber nur bei einfachen Zuordnungen korrekt.

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+   05334, 05354, 05313   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+   05334, 05354, 05313   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 000 0001 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
09 162 000 0001 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 184 000 0001 9184 M1 München M M 09 162, 09 184 09 162, 09 184 9530 9530
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+   14 626,14 263,14 284,14 286   14041
14 284 000 0000 14284 (unbekannt) (unbekannt)   GR+   14 626,14 263,14 284,14 286   14041
14 286 000 0000 14286 (unbekannt) (unbekannt)   GR+   14 626,14 263,14 284,14 286   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)

Definition zu Form siehe oben

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)            
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 000 0001 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
09 162 000 0001 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 184 000 0001 9184 M1 München M M 09 162, 09 184 09 162, 09 184 9530 9530
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 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 14041
14 284 000 0000 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 14041
14 286 000 0000 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 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 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 002 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 003 0000 15091 WB Wittenberg WB WB 15091, 1515100(3,5,7,8,9), 1515101(3,6,7,8), 1515102(3,4,5,7,8,9), 1515103(6,8), 1515104(3,7,8), 1515105(0,5,6,7), 1515106(1,2,4,5,9), 15171 15091, 1515100(3,5,7,8,9), 1515101(3,6,7,8), 1515102(3,4,5,7,8,9), 1515103(6,8), 1515104(3,7,8), 1515105(0,5,6,7), 1515106(1,2,4,5,9), 15171 15091 15091
15 159 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

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

Der Hauptunterschied zu $BNRKREIX ist, dass hier bestimmte Kreise wie z.B. "05916 Herne" in einen PLUS-Kreis "RE+" fallen und dann dieser RE auch als Kreis unter Form 4 geliefert wird

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)            
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 000 0001 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
09 162 000 0001 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 184 000 0001 9162 M München, Stadt M M 09 162, 09 184 09 162, 09 184 9530 9530
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 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 14041
14 284 000 0000 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 14041
14 286 000 0000 14626 GR Görlitz GR GR+ 14 626 14 626,14 263,14 284,14 286 14040 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 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 002 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 003 0000 15091 WB Wittenberg WB WB 15091, 1515100(3,5,7,8,9), 1515101(3,6,7,8), 1515102(3,4,5,7,8,9), 1515103(6,8), 1515104(3,7,8), 1515105(0,5,6,7), 1515106(1,2,4,5,9), 15171 15091, 1515100(3,5,7,8,9), 1515101(3,6,7,8), 1515102(3,4,5,7,8,9), 1515103(6,8), 1515104(3,7,8), 1515105(0,5,6,7), 1515106(1,2,4,5,9), 15171 15091 15091
15 159 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

Spezielle Formen für $BNRLAND

Betrieb Form 1 Form 2 Form 3 Form 11 Form 12 Form 13
09 000 000 0001 9 BY Bayern 09 - 9 09 - BY 09 - Bayern

 

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, $MELD_FRG3 - 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
$MELD_FRG3(GEB_DAT)    Differenz in Gruppen 1: 0 - 3 Tage, 2: 4 - 7 Tage, 3: 8 - 14 Tage, 4: 15 - 21 Tage, 5: über 21 Tage
Beispiel *4:RS:ZUGANG/BNR15;$MELD_FRG1(ZUGA_DAT);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$MELD_FRG1(ZUGA_DAT)

$DATE_DIFF - generische Funktionen zum Berechnen der Differenz aus zwei Datumswerten
$DATE_DIFX - erweiterte Version, OG (Null Is Heute, 2100 Is Null) - UG (2100 Is Null)
$DATE_DIFY - erweiterte Version, OG (Null Is Heute, 2100 Is Heute) - UG (2100 Is Null)
$DATE_DIFZ - erweiterte Version, OG (Null Is Heute, 2100 Is Heute) - UG (Null Is Heute, 2100 Is Heute)
$MAX_DA_DI / MAX_DA_DI$MIN_DA_DI - Gruppierungsfunktion MAX / MIN auf Datumsdifferenz
$MAX_DA_DX / $MIN_DA_DX - analog mit Ersetzung von 31.12.2100

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)

$ALTER - Alter als Datumsdifferenz mit Dezimalausgabe i.d.F. "m.tt"
$ALTERT - Alter in Tagen, Ausgabe i.d.F. "t"
$ALTERA - Alter in Monaten und Tagen, Ausgabe i.d.F. "x Mon. x Tg."
$ALTERX - Alter in Monaten mit Bruchteilen, Ausgabe i.d.F. "x.xxxxx"

Input
1. Ende-Datum
  1. als Spaltenname der aktuellen Meldung, wie z.B. DAT_END
  2. als Datumskonstante, wie z.B. 31.12.2030
  3. leer für Heute
2. Beginn-Datum

oder

Ohrmarke

  1. als Spaltenname der aktuellen Meldung, wie z.B. GEB_DATR
  2. als Datumskonstante, wie z.B. 01.01.2020

oder

  1. als Spaltenname der Ohrmarke, wie z.B. LOM_MUT
Output Errechnetes Alter in der gewünschten Formatierung
Beschreibung Wenn das Ende-Datum angegeben wird (als Spalte oder Wert) wird es verwendet, wenn Ende nicht angegeben ist wird das Alter für HEUTE berechnet.
Wenn das Beginn-Datum angegeben wird (als Spalte oder Wert) wird es verwendet, wenn Beginn nicht angegeben ist wird das Geburtsdatum zur aktuellen Ohrmarke aus den Stammdaten gesucht (aufwändiger)
Beispiel Hier sind ale Werte im aktuellen Datensatz oder konstant:
*1:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(02.01.2021;01.01.2021/ALTER):LOM;=;276000913111867
*2:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(DAT_END;01.01.2021/ALTER):LOM;=;276000913111867
*3:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(10.02.2021;GEB_DATR/ALTER):LOM;=;276000913111867
*4:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(DAT_END;GEB_DATR/ALTER):LOM;=;276000913111867

Ab hier mit internem Lesen der Stammdaten:
*5:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(;GEB_DATR/ALTER):LOM;=;276000913111867
*6:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(DAT_END;LOM/ALTER):LOM;=;276000913111867
*7:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(DAT_END/ALTER):LOM;=;276000913111867
*8:RS:TIERSTAT/LOM;$ALPHALOM(LOM/Ohrmarke);$ALTER(/ALTER):LOM;=;276000913111867

analog für $ALTERT, $ALTERA, $ALTERX

 

$ADD - generische Funktionen zum Addieren von zwei Zahlenwerten
$MAX_ADD - Gruppierungsfunktion MAX auf Addition
$MIN_ADD - Gruppierungsfunktion MIN auf Addition

Input Spalten mit einem jeweils Zahlenwert wie z.B. ANTR_LFN (Netto-Fläche) und ANTR_LE (Fläche LE)
an Stelle der 2. Spalte kann auch eine konstante Zahl stehen
Output Errechneter Wert
Beschreibung generische Rechenfunktion PLUS +
Beispiel *2:RS/R3:ZF_ANTR/BNR15;ANTR_LFB;ANTR_LFN;ANTR_LE;$ADD(ANTR_LFN;ANTR_LE/Add):BNR15;IS;091
*2:RS/R3:ZF_ANTR/BNR15;$MAX_ADD(ANTR_LFN;ANTR_LE/Add_Max):BNR15;IS;091

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

$IS_EQ - Vergleiche GLEICH

Input Spalte mit einem numerischen Wert oder Datum
Output 0:GLEICH, 1:NICHT GLEICH
Beschreibung prüft ob der Inhalt der angegebenen Spalte GLEICH ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte.
Beispiel *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$IS_EQ(LOM;276000913106016/EQ_ERG):LOM;IS;DE0913106031,276000913106016
*2:RS:GEBURT/LOM;BNR15;MELD_BNR;$IS_EQ(BNR15;MELD_BNR/EQ_ERG):LOM;IS;DE0913106031,276000913106016

$IS_NULL - Vergleiche auf NULL
$IS_LEER - Vergleiche auf LEER
$IS_NU_LE - Vergleiche auf NULL oder LEER

Input Spalte mit zu prüfenden Wert - für IS_NULL von beliebigen Typ z.B. Rasse
für IS_LEER oder IS_NU_LE nur CHAR-Typen zulässig wie z.B. FIRMA
Output 0:GLEICH NULL/LEER, 1:NICHT GLEICH
Beschreibung prüft ob der Inhalt der angegebenen Spalte NULL bzw. LEER bzw. NULL oder LEER ist.
Beispiel *2:RS:BTR_D/RE_FRM;$IS_NULL(RE_FRM/NIX):BNR15;IS;09131
*2:RS:BTR_D/BNR15;$IS_NULL(FIRMA/NULL);$IS_LEER(FIRMA/LEER);$IS_NU_LE(FIRMA/NULE):BNR15;IS;09131

$IS_EU - Ist EU-Mitglied

Input Spalte mit einem numerischen Schlüsselwert für ISO-Schlüssel Staat (ILAND) wie z.B. bei LAND_ZIE
Output 0:GLEICH, 1:NICHT GLEICH
Beschreibung prüft ob der angegebene ISO-Code der angegebenen Spalte einem EU-Staat  (Stand 2020, inkl. Schweiz gleichgestellt) entspricht.
Beispiel *2:RS/R5:AUSFUHR/LOM;BNR15;LAND_ZIE;$IS_EU(LAND_ZIE/EU):BNR15;IS;09
*2:RS:AUSFUHR/LAND_ZIE;$CODETEXT(LAND_ZIE/Staat);$IS_EU(LAND_ZIE/EU);$COUNT(/Anzahl):GROUP;LAND_ZIE;$IS_EU(LAND_ZIE)

$LOMSUSED - Ohrmerken-Serien Nutzung, Verwendung

Input
1. BNR-Spalte für UN Betriebsnummer der aktuellen Entität wird automatisch übernommen
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. Meldungsart
  1. GEBURT
  2. IMPMARK
  3. ERSTERF
  4. LOMSNEG
5. auch Stornierte Stornierte auch zählen
0:nein (default)
1:ja
Output Anzahl verwendeter Ohrmarken für gewählte Verwendungsart
Beschreibung In der Führungsentität verwendet man LOMS - die ausgegebenen Ohrmarkenserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden dann bezüglich der gewählten Meldungsart alle benutzten Ohrmarken gesucht und die Anzahl wird ausgegeben
Beispiel *2:RS:LOMS/BNR15;LOMS_UG;LOMS_OG;$LOMSUSED(BNR15;LOMS_UG;LOMS_OG;GEBURT;0/ANZ_GEB);$LOMSUSED(BNR15;LOMS_UG;LOMS_OG;LOMSNEG;0/ANZ_NEG):BNR15;IS;09 189 011

$COMPARE - Vergleiche auf KLEINER, GLEICH, GRÖSSER

Input Spalte mit einem numerischen Wert oder Datum
Output -1:KLEINER, 0:GLEICH, 1:GRÖSSER
Beschreibung prüft ob der Inhalt der angegebenen Spalte KLEINER, GLEICH oder GRÖSSER ist wie der angegebene Vergleichswert bzw. Inhalt einer Vergleichsspalte.
Beispiel *2:RS:GEBURT/LOM;BNR15;MELD_BNR;$COMPARE(LOM;276000913106016/COMP_ERG):LOM;IS;DE0913106031,276000913106016
*2:RS:GEBURT/LOM;BNR15;MELD_BNR;$COMPARE(BNR15;MELD_BNR/COMP_ERG):LOM;IS;DE0913106031,276000913106016

$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_IV_UMF - generische Funktionen zum Berechnen von ZA-Intervall Umfang in Hundertstel - entsprechend Ar
$ZB_IV_UMF - analog für Zahlungsansprüche Version II (ZB...)
$SUM_ZUM - analog als Summe

Input Spalten des Intervalls zur Berechnung des Umfang
entweder default () oder Nr-Von, Nr-Bis, wie ZA_NR_VON, ZA_NR_BIS
Output Errechneter Gesamtumfang eines ZA-Intervalls in Hundertstel eines ganzen ZA (entspricht Ar)
Beschreibung Der Umfang wird in Hunderstel angegeben.
Beispiel *2:RS:ZA_GRUND/$ZA_IV_EXT(/Extern);$ZA_IV_UMF(/Umfang_Ar):ZA_AG_BNR;=;276091610100310
*2:RS:ZB_GRUND/$ZB_IV_EXT(/Extern);$ZB_IV_UMF(/Umfang_Ar):ZB_AG_BNR;=;276091610100310

$ZA_IV_UM2 - generische Funktionen zum Berechnen von ZA-Intervall Umfang mit 2 Nachkommastellen - entsprechend ha
$ZB_IV_UM2 - analog für Zahlungsansprüche Version II (ZB...)
$SUM_ZUM2 - analog als Summe

Input Spalten des Intervalls zur Berechnung des Umfang
entweder default () oder Nr-Von, Nr-Bis, wie ZA_NR_VON, ZA_NR_BIS
Output Errechneter Gesamtumfang eines ZA-Intervalls mit 2 Nachkommastellen (entspricht ha)
Beschreibung Der Umfang wird als Bruchteil von ganzen ZA angegeben.
Beispiel *2:RS:ZA_GRUND/$ZA_IV_EXT(/Extern);$ZA_IV_UM2(/Umfang_ha):ZA_AG_BNR;=;276091610100310
*2:RS:ZB_GRUND/$ZB_IV_EXT(/Extern);$ZB_IV_UM2(/Umfang_ha):ZB_AG_BNR;=;276091610100310

$ZA_WERT - generische Funktionen zum Berechnen von ZA-Werten in ZA_REGSTAT (aus ZA_IV_UMF und ZA_ZWERT)
$ZB_WERT - analog für Zahlungsansprüche Version II (ZB...)
$SUM_ZWERT - analog, als Summe für Gruppierung

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

Input Spalte mit einem technischen oder fachlichen BIS-Zeitstempel als Timestamp wie z.B. SYS_BIS oder DBET_BIS
Output Ermittelt ob Datensatz storniert ist, also Wert des Timestamps 31.12.2100. Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen.
Beschreibung $STORNO(SYS_BIS)    Angabe ob der Datensatz storniert ist, z.B: SYS_BIS = 31.12.2100 ergibt 0, alles andere ergibt 1 (kann in GROUP verwendet werden)
$AKTIV(DBET_BIS)         Angabe ob der Datensatz aktiv ist, z.B: DBET_BIS = 31.12.2020 ergibt 1, also auch alle Timestamps größer jetzt ergeben 1, alles andere ergibt 0
Hinweis: Es gibt noch das offene Problem, dass Datensätze die fachlich noch nicht begonnen haben auch als aktiv gelten
Bei Zeitpunktsabfragen (RS/Zxx) wird die Angabe relativ zum Zeitpunkt xx gesehen, d.h. wenn ein Satz am 2.1.2010 storniert wird bringt eine Abfrage RS/Z1.1.2010 die Antwort $STORNO()=0 also NEIN und $AKTIV()=1 also JA.
Beispiel *4:RS/I:ZUGANG/BNR15;$STORNO(SYS_BIS);$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$STORNO(SYS_BIS)

$FSTATUS - Ermittelt den fachlichen und technischen Gültigkeitsstatus des Datensatzes

Input  --- (die nötigen fachlichen und technischen Timestampspalten werden aus Data Dictionary geholt)
Output 0: A - aktiv
1: AO - aktiv (und offen)
2: AE - aktiv (hat aber Ende in Zukunft)
3: B - beendet (nicht mehr aktiv)
4: ZO - noch nicht aktiv (und offen)
5: ZE - noch nicht aktiv (und hat Ende in Zukunft)
9: STO - storniert
Beschreibung Ermittelt ob Datensatz fachlich und technisch aktiv, storniert oder in der Zukunft beendet ist.
Bei Zeitpunktsabfragen (RS/Zxx) wird die Angabe relativ zum Zeitpunkt xx gesehen.
Beispiel *4:RS/I:ZUGANG/BNR15;$FSTATUS();$COUNT(*/ANZ):BNR15;BW;276090000000001;276090000000002;GROUP;BNR15;$FSTATUS()

$SELFMELD - Ermittelt ob selbst gemeldet

Input Spalte mit einer Betriebsnummer
Output 0: Nein, 1:Ja
Beschreibung Ermittelt ob der Benutzer selbst gemeldet hat, also die angegebene BNR-Spalte identisch zum MELD_BNR ist.
Beispiel *1:RS:TOD/$YEAR(TOD_DAT/Jahr);$BNRLAND(BNR15/Land);$SELFMELD(BNR15/selbst);$COUNTD(BNR15/Anz_Betriebe);$COUNT(/Anz_Meld):TOD_ART;=;0;GROUP;$YEAR(TOD_DAT);$BNRLAND(BNR15);$SELFMELD(BNR15)

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

$CODE - Variable Ausgabe Schlüsselwerten

Input
  1. Spalte mit einem numerischen Schlüsselwert wie z.B. 31, bei UNTS_GRUND
  2. Name des Codesets, für die Übersetzung
  3. Typ der Ausgabe
    bullet1: Nummer
    bullet2: Kurz
    bullet3: Text
    bullet4: Nr und Kurz i.d.F. "001 XXX"
    bullet5: Nr und Text i.d.F. "001 Xxxx"
    bullet6: Nr, Kurz und Text i.d.F. "001 (XXX) Xxxx"
  4. Anzahl Stellen, wenn Code mit führenden Nullen ausgegeben werden soll
Output Codenummer nach Umsetzung.  Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste.
Beschreibung Hole in der entsprechenden Schlüsselbrücke (CODECROSS) die umgesetzte Nummer zum ursprünglichen Schlüsselwert.
Beispiel *2:RS/R1:UNTAUF_LX/UNTS_GRUND;$CODE(UNTS_GRUND;TSN_UN_GRN/XNR);$CODE(UNTS_GRUND;TSN_URN/XNR):UNTS_GRUND;IS;31

$CODEXNR - Codenummer zu Schlüssel gemäß Schlüsselbrücke

Input
  1. Spalte mit einem numerischen Schlüsselwert wie z.B. 31, bei UNTS_GRUND
  2. Name des Zielcodesets, für das Schlüsselbrücke in HIT/ZID existiert
Output Codenummer nach Umsetzung.  Der anzuzeigende Name kann als Outputargument angegeben werden. Wird kein Outputparameter spezifiziert erhält das Ausgabefeld standardmäßig den Funktionsnamen, siehe Feldliste.
Beschreibung Hole in der entsprechenden Schlüsselbrücke (CODECROSS) die umgesetzte Nummer zum ursprünglichen Schlüsselwert.
Beispiel *2:RS/R1:UNTAUF_LX/UNTS_GRUND;$CODEXNR(UNTS_GRUND;TSN_UN_GRN/XNR);$CODEXNR(UNTS_GRUND;TSN_URN/XNR):UNTS_GRUND;IS;31

$CODEXKURZ

Holt Kurztext zu einem Schlüssel gemäß Schlüsselbrücke (analog $CODEXNR)

$CODEXTEXT

Holt Codetext zu einem Schlüssel gemäß Schlüsselbrücke (analog $CODEXNR)

$TEXT

Ermöglicht eine Textkonstante aus zu geben

$NUMBER

Ermöglicht eine Zahlenkonstante aus zu geben. Der Unterschied zu $TEXT liegt in der Formatierung, insbesondere bei der Weiterverarbeitung mit HitBatch Out-Format 5 "Excel optimiert".

$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

$FRVER - Frühe Verendung
$SUM_FRVER - Summe der Tiere

Input X - Anzahl Tage (default 7)
Output NULL: Tier lebt noch, 1: ja - tot innerhalb, 0:nein - später tot
Beschreibung Ermittle in TIERSTAT ob Tier innerhalb der ersten X Tage tot ist.
Beispiel *2:RS:TIERSTAT/BNR15_AB;LOM;GEB_DATR;DAT_END;$FRVER(10):BNR15_AB;IS;09 000 000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;ORDER;1;2
*3:RS:TIERSTAT/BNR15_AB;$FRVER(10/FRVER);$COUNT(/GEB_GEM):BNR15_AB;IS;09 000 000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;GROUP;BNR15_AB;$FRVER(10)
*4:RS:TIERSTAT/BNR15_AB;$SUM_FRVER(10/SUM_FRVER);$COUNT(/GEB_GEM):BNR15_AB;IS;09 000 000 0001;AND;GEB_DATR;BW;01.07.2001;30.06.2002;GROUP;BNR15_AB

Beschreibung der Newline-Funktionen

#ADDRHOF - Hofadresse / Anschrift

Input Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
optional VON und BIS-Datum zu welchem Datum oder in welchen Zeitraum der Daten ermittelt werden, default zu Heute
Output BNR15; (Input)
NAME;NAME2;ORTSTEIL;STR_NR;PLZ;ORT siehe Feldliste.
Beschreibung Betriebsanschrift zur aktuellen Betriebsnummer, also Adresse der Betriebsstätte
Erstellung Lese in BTR_D Betriebsstammdaten mit Adresse
Beispiel *2:RS/C:TIERBETR/LOM;BNR15;#ADDRHOF(BNR15;1.1.2000):BNR15;EQ;276091330701001
*3:RS/C:TIERBETR/LOM;BNR15;#ADDRHOF(BNR15;1.1.2000;31.12.2008):BNR15;EQ;276091330701001
Hinweis Es gibt auch die einfacher zu verwendende Inline-Funktion $ADDRHOF

#ADDRPOST - Betriebsadresse / Anschrift

Input Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
optional VON und BIS-Datum zu welchem Datum oder in welchen Zeitraum der Daten ermittelt werden, default zu Heute
Output BNR15; (Input)
NAME;NAME2;ORTSTEIL;STR_NR;PLZ;ORT siehe Feldliste.
Beschreibung Postanschrift zur aktuellen Betriebsnummer
Erstellung Lese in BTR_P (abweichende Postanschrift) und wenn dort nichts gefunden lese in BTR_D Betriebsstammdaten mit Adresse
Beispiel *2:RS/C:TIERBETR/LOM;BNR15;#ADDRPOST():BNR15;EQ;276091330701001
Hinweis Es gibt auch die einfacher zu verwendende Inline-Funktion $ADDRPOST

#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 oder Liste - normal Leer für alle Tiere,  
    bulletwenn nur ein Tier aus dem Bestand gewünscht wird kann hier direkt die Ohrmarke angegeben werden
    bulletwenn mehrere Tiere aus dem Bestand gewünscht sind kann hier auch eine Komma getrennte Liste von Ohrmarke angegeben werden
    bulletWenn 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: mit Betriebsstätten und Vorgänger, Abhängigkeiten in ..Z und ..N pauschal berücksichtigen
    bullet3: EPI-Abhängigkeiten in ..Z und ..N streng 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
  15. STATISTIK
    bullet0:nein
    bullet1:ja
    bullet2:Detail
  16. MULTIPLE - bei Mixtline-Register
    bullet0:nein
    bullet1:ja - wenn für mehrfache Zeilen derselben LOM immer alle Daten gefüllt werden sollen
  17. KOLLEKTION: 0 - 9 wenn entsprechende Kollektion mit Werten aus Registerspalte gefüllt werden soll (experimentell)
  18. KOLLEKT_COL: Name der Registerspalte, wie z.B. LOM, BNR15_VB
  19. TAM_RICHT - angenommene Produktionsrichtung des Betriebes für TAM-Gruppen V.2 (experimentell, noch nicht endgültig abgenommen)
    bullet-1 oder leer: keine TAM
    bullet0: automatisch aus PROD_RICHT
    bullet1 - 6: analog PROD_S_MIK

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 Tierhalter sie nicht sehen darf, weil sie nicht prämienrelevant scheinen, z.B. Abstand Schlachtung/Abgang größer 30 Tage.
Erstellung analog zu BESTREG, zusätzlich kann auf eine einzelnes Tier des Bestandes gefiltert werden.
Beispiel *2:RS/C:BTR_D_AKT/NAME;#BESTREX(1.1.2010;1.1.2010;BNR15;0;1;1;DE 09 131 07011):BNR15;EQ;276091311400001
*3:RS/C:BTR_D_AKT/#BESTREX(01.04.2010;30.04.2010;BNR15;0;2;200;;5/*):BNR15;EQ;276091310600001

#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
  1. Betriebsnummer der aktuellen Entität wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
  2. Cluster-Art (CLS_ART), welche Zuordnungstypen sollen einbezogen werden (TYP_ZUO)
    0=Standardcluster mit TYP_ZUO 1,5,16 und Betriebsnachfolge, ohne ELER-Zuordnungen (Default)
    1=Standardcluster, zusätzlich mit ELER (TYP_ZUO 51, 52), dann kommt es aber insbesondere in 08:BW zu Überschneidungen mit BS-Zuordnungen
    2=EPI-Cluster, nur Zuordnungstyp  "Epidemiologische Einheit" (TYP_ZUO 6)
    3=UN/BS (ohne IVK-Zuordnungen)
    4=EPI+UN/BS

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

  4. Stammdatenzeitraum (MIT_BTR_D): Sollen Zeilen mit den Stammdatenzeiträumen ausgegeben werden
    0=nein, kompakt nur Zuordnungen
    1=mit Stammdatenzeiträumen (Default)

  5. Mit Vorgänger/Nachfolger (BTR_N)
    0=nein
    1=ja (Default)

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

#HTPFREE - Anzeigen der freien Heimtierpassnummern einer zugeteilten Serie

Input
1. BNR15_HTD Betriebsnummer der Druckerei aktuellen Zuteilung wird automatisch übernommen, Führungs-Entitäten siehe Verwendung
2. HT_PASSUG Spaltenname mit Untergrenze, i.d.R. leer und automatisch aus HT_ZUTE-Satz
3. HT_PASSOG Spaltenname mit Obergrenze, i.d.R. leer und automatisch aus HT_ZUTE-Satz
4. BNR15_HTA Spaltenname mit Tierarzt, i.d.R. leer und automatisch aus HT_ZUTE-Satz
5. Umfang 0:Ausgabe als Intervalle anzeigen (Default)
1:jeder freie Heimtierpassnummer einzeln (Achtung Umfang kann groß werden)
6. MaxEinzel Obergrenze für Einzelanzeige, dann wird nicht mehr individuell angezeigt sondern auf Intervall umgeschaltet, Default=50, Maximum=1000
7. verbrauchte 0:verbrauchte nicht anzeigen, nur offene (Default)
1:offenen und verbrauchte anzeigen (verbraucht durch Ausgabe oder Einzug)
Output siehe Feldliste.
Beschreibung In der Führungsentität verwendet man HT_ZUTE - die zugeteilten Passserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden alle Ausgaben und Einzüge gesucht und von den freien Heimtierpassnummern abgezogen. Ausgegeben werden Intervall der freien Heimtierpassnummern als Untergrenze/Obergrenze oder alle freien einzeln als Untergrenze (Obergrenze dabei leer). Optional können auch die verbrauchten als Intervalle oder einzeln mitausgegeben werden.
Beispiel *2:RS/R+4:HT_ZUTE/#HTPFREE():BNR15;=;09 000 000 0001;ORDER;HTP_DAT;-

#LEBENSLF - Lebenslauf eines Tieres mit Kommentaren

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

Input
  1. Ohrmarke der aktuellen Entität wird automatisch übernommen

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

#LEBENSLQ - Lebenslauf eines Tieres, quer - eine Zeile pro Haltung

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

Input
  1. Ohrmarke der aktuellen Entität wird automatisch übernommen

  2. optional Ausgabeform und Umfang (Codeliste LLF_FORM), Default 0 - Standard, nur VVVO-Meldungen, Führungs-Entitäten siehe Verwendung.

  3. optional Datumsergänzung, 0:keine Ergänzung (default), 1:Ergänzung d.h. fülle bei fehlendem Zugangs- bzw. Abgangsdatum Werte aus den Nachbarhaltungen

Output LOM; (Input)
BNR15;BEW_DAT;BEW_MELD;...;PLAUSINR;SCHWERE;... , siehe Feldliste.
Beschreibung Eine Zeile für jede Haltung und Hinweise zu vermuteten Fehlersituationen.
Erstellung analog LEBENSLF
Beispiel

*1:XS:LOGON/BNR15;MBN;PIN;MELD_WG;TIMEOUT:276090000000015;0;900015;3;1200
*2:RS/C:VWTIER/#LEBENSLQ(LOM;0;1):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 Intervalle größer als MaxEinzel werden nicht einzeln sondern immer als Intervall angezeigt, -1:unbeschränkt, Default:5000
funktioniert evtl. unerwartet, besser unten MaxOffene
6. UsedToo Verbrauchte auch anzeigen
0:nein, keine verbrauchten (default, wie bisher)
1:ja, auch verbrauchte,
2:alles nur summarisch als Statistik mit je einer Zeile für freie und belegte Meldungsart
7 DispayOG LOM_OG anzeigen wenn Serienumfamg genau 1
0:OG leer bei freien Einzel-LOM (immer gefüllt bei Sperren, auch wenn nur eine LOM) - Default aktuelles Verhalten,
1:möglichst nur eine UG - also OG leer
2:immer OG gefüllt 3:UG/OG aus Serie, LOM gefülllt (für Einezlanzeige - neu)
8. AuchStornierte Sollen auch stornierte Serien angezeigt werden, 0:nein (Default), 1:ja
9. MaxOffene Obergrenze pro Serie für Einzelanzeige bei offenen, dann ABGEBROCHEN, -1:unbeschränkt, Default:10000
10. MaxVerbrauchte Obergrenze pro Serie für Einzelanzeige bei verbrauchten, dann ABGEBROCHEN, -1:unbeschränkt, Default:10000
Output siehe Feldliste.
Beschreibung In der Führungsentität verwendet man LOMS - die ausgegebenen Ohrmarkenserien. Zur jeweils gefundenen Serie die eine Unter- und Obergrenze hat werden alle Geburten und Importmarkierungen gesucht und von den freien Ohrmarken abgezogen (unabhängig von der Betriebsnummer der Verwendung). Ausgegeben werden Intervall der freien Ohrmarken als Untergrenze/Obergrenze oder alle freien einzeln als Untergrenze (Obergrenze dabei leer)
Beispiel *2:RS/R4:LOMS/#LOMSFREE():BNR15;=;09 000 000 0001;ORDER;LOMS_DAT;-

#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), 3:Tiere nach individueller Auswahl
  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)
  6. 0/1: indiv. Tierdaten: ohne Angabe
  7. 0/1: indiv. Tierdaten: MIK Milchkuh (nur zur Vollständigkeit)
  8. 0/1: indiv. Tierdaten: MUK Ammen- / Mutterkuh (nur zur Vollständigkeit)
  9. 0/1: indiv. Tierdaten: SMK Schlacht- / Mastkuh
  10. 0/1: indiv. Tierdaten: MAR Mastrind (männl. + weibl.)
  11. 0/1: indiv. Tierdaten: ZUR Zuchtrind (weibl.) (nur zur Vollständigkeit)
  12. 0/1: indiv. Tierdaten: ZUB Zuchtbulle (nur zur Vollständigkeit)
  13. 0/1: indiv. Tierdaten: OCH Ochse

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

#TAMBESW - Spezielles Schweine-Bestandsregister zum Abgleich mit TAM-Meldungen,
#TAMBESWB - Abgleichliste mit TAM-Bestand (TAM_BEST),
#TAMBESWV - Abgleichliste mit TAM-Bestandsänderung (TAM_BVER),
#TAMBESWH - 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. Herkunft der Daten: 1:VVVO-Meldungen (alle Tiere sind Mastschweine), 2:aus freiwilligem Schweinebestandsregister
  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 #TAMBESW, #TAMBESWB, #TAMBESWV, #TAMBESWH
Beschreibung Das Schweinebestandsregister für das Kalenderhalbjahr wird gebildet. Dann wird ermittelt welche Tiere am Anfang da waren - die gehören in die Bestandsmeldung, welche Tiere im Haltjahr zugegangen sind  bzw. geboren wurden - die gehören am jeweiligen Tag in die Bestandszugangsmeldung, welche Tiere abgingen (per Abgang, Tod, Export ...) - die gehören am jeweiligen Tag in die Bestandsabgangsmeldung und welche Tiere wann 8 Monate alt wurden - die gehören n Abgang Kalb und Zugang Rind.
Beispiel *2:RS/C:BTR_D/#TAMBESW(BNR15;142;1;0/*):BNR15;=;090000000001
*3:RS/C:BTR_D/#TAMBESWV(BNR15;142;1;0/*):BNR15;=;090000000001

#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

#TSN_TB_LO - Abruf von Tierbestandszahlen für TSN - lokal,
#TSN_TB_ON - Abruf von Tierbestandszahlen für TSN - online

Input
  1. Betrieb-Spalte der aktuellen Entität,  i.d.R. konstant "BNR15"
  2. Datum, oder leer für heute
  3. Herkunft der Daten: 0:Rinderstatistik, 1:Bestandsregister
  4. Rind: 0:Nein, 1:Ja
  5. Schwein: 0:Nein, 1:Ja
  6. Schaf: 0:Nein, 1:Ja
  7. Ziege: 0:Nein, 1:Ja

Führungs-Entitäten siehe Verwendung #TSN_TB_LO und Verwendung #TSN_TB_ON

Output Tierbestandszahlen, siehe Feldliste #TSN_TB_LO, #TSN_TB_ON
Beschreibung Abruf den Bestandszahlen anlog zur Onlinemaske.
Beispiel *2:RS/C;#FktOnly:TIERBETR/#TSN_TB_LO(BNR15;;0;1;1;1;1):BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162
*2:RS/C;#FktOnly:TIERBETR/#TSN_TB_LO(BNR15;1.1.2017;1;1;1;1;1):BNR15;IS;276091311400001,09 000 000 0031, 09 000 000 0162

#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]
  4. TBA-Mode: 0:TBA-Meldung nicht berücksichtigen, 1:mit TBA-Meldung, Default 0 [optional]
  5. Umfang der Ausgabe
    bullet0:maximal eine Zeile, ggf. aber auch 0 Zeilen wenn keine Station (z.B. zu dem /Z-Zeitpunkz)
    bullet1:immer genau eine Zeile, ggf. leere
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
#ZB_REGIST - analog für Zahlungsansprüche Version II (ZB...)

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 ZBREG_GRAN (ab 2015) bzw. alter Version  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 entwertete, ggf. VKO (obsolet)
    5=verwerfe für Einzug - VKO, nur mit Einzugswert ...
    6=verwerfe für Einzug wg. Nichtnutzung - 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 (obsolet)
    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
    2=Keine Ermittlung der Nutzung (deutlich schneller)

  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

  20. Zeitpunkt für Wert / Region, zum Abruf des aktuellen Registers mit Wert und Region von früher

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
#ZB_REGANT - analog für Zahlungsansprüche Version II (ZB...)

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 ZBREG_GRAN (ab 2015) bzw. alter Version  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 - spielt bei #ZB.. keine Rolle
  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 umgewandelt 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 (Default),
    1=Ja, betrachte nur echte Nutzungen,
    2=Keine Ermittlung der Nutzung (deutlich schneller)
  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
#ZB_VX_DAT - analog für Zahlungsansprüche Version II (ZB...)

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 siehe ZBREG_GRAN (ab 2015) bzw. alter Version  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
#ZB_VX_ADR - analog für Zahlungsansprüche Version II (ZB...)

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
#ZB_LLF_VW - analog für Zahlungsansprüche Version II (ZB...)

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 ZBREG_GRAN (ab 2015) bzw. alter Version  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.
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 - Entstehung aus ERSTERF, GEBURT, IMPMARK und EUEIN, Zugänge aus ZUGANG und Abgänge aus ABGANG, sowie Tierende aus AUSFUHR, TOD und SCHLACHTUN, SCHL_IMP, zusätzlich Sondermeldungen TRANSIT, TBA_MELD werden nach Datum sortiert angezeigt. Das dient als Grundlage für die Einzeltierverfolgung.
Erstellung Aus einer Führungsentität wird die jeweils aktuelle Ohrmarke (LOM) der gelesenen eile als Input genommen und alle zugehörigen Daten in den oben genannten Entitäten gelesen und nach Datum sortiert in eine Liste eingetragen. Wenn keine Outputspalten spezifiziert werden, wird für jede Entität alle darin enthaltenen Spalten ausgegeben. Wenn konkret gewünschte Outputspalten angegeben sind, werden nur diese ausgegeben, die anderen sind nicht leer sondern entfallen. Wenn die gewünschten Spalten in einer Entität nicht vorkommt, wird dort überhaupt nicht gelesen.
Beispiel *2:RS:GEBURT/LOM;GEB_DATR;#BEWMELD(LOM):BNR15;EQ;276091234567890

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-2021 Bay.StMELF, verantwortlich für die Durchführung sind die  Stellen der Länder , fachliche Leitung ZDB: Frau Dr. Kaja.Kokott@hi-tier.de, Technik: Helmut.Hartmann@hi-tier.de
Seite zuletzt bearbeitet: 05. Mai 2023 14:15, Anbieterinformation: Impressum - Datenschutz - Barrierefreiheit