Zur Homepage www.HI-Tier.de BNR-Änderung
Zurück Home Nach oben Weiter
Öffentlicher Bereich für Entwickler

 

TiereUmmelden.pl
BetriebeUmmelden.pl

Änderung von Betriebsnummern

Trotz des äußerst geringen Feedbacks vom untenstehenden Diskussionsvorschlag wurde inzwischen ein Programm für den Fall 2a und 2b geschrieben.

Fall 1 steht noch nicht zur Verfügung, soll aber möglichst nicht angewendet werden, da dies genaugenommen gegen das Grundprinzip der Datenbank ist.

Dieses Programm steht NUR den Regionalstellen zur Verfügung!

Inhalt

bulletDownload
bulletBeschreibung und Anwendung des Perl-Programmes
bulletBeispielanwendung 1: Betrieb kauft gesamten Bestand eines anderen Betriebes
bulletBeispielanwendung 2: Vater übergibt seinen Bestand an seinen Sohn (d.h. kein Verkaufsgeschäft)
ähnliche Fälle: Vererbung, BNR-Änderung bei einer Gebietsreform
bulletMögliche zukünftige Erweiterungen
bulletDer Diskussionsvorschlag als Grundlage für das Programm

horizontal rule

Das in Perl verfaßte Programm gibt Ihnen die Möglichkeit, zu einem bestimmten Stichtag den Bestand eines Betriebs auf einen anderen zu übertragen. Es erzeugt die für die Ummeldung notwendigen HitBatch-Dateien: eine Ini-Datei mit korrekten Parametern und drei dazugehörige Datendateien für die Meldungen ABGANG, ZUGANG und BETRN. Nach der Erzeugung der Dateien können Sie den HitBatch mit der erzeugten Ini-Datei anwenden. Für Bundesländer mit unterschiedlichen Betriebsnummern für Regionalstelle und Adreßdatenstelle wird eine getrennte Verarbeitung unterstützt. Mehr dazu siehe hier.

download.gif (257 Byte) Download

Es wird der Perl-Interpreter benötigt, um  für das hier downloadbare Perl-Programm anwenden zu können! Für Windows kann man sich den neuesten Interpreter unter http://www.activestate.com/ herunterladen. Mehr zu Perl und dessen Installation siehe Perl-Client.

horizontal rule

(folgende Beispiele müssen noch aktualisiert werden ... 01.02.2001)

Beispielanwendung 1

Ein Betrieb kauft den Bestand zweier anderer Betriebe auf. Statt jedes Tier der Betriebe einzeln abgehen und alle dem neuen Betrieb zugehen zu lassen, kann obiges Perl-Programm die Aufgabe fast vollständig übernehmen. Das Ini-File Beispiel.ini ist mit folgenden Parametern gefüllt:

Die jeweils aktuellen Informationen zu HI-Tier Internet-Adressen und Ports siehe IP-Adressen.

PRIMARYSERVER=hitserver.hi-tier.de
BACKUPSERVER=hitbackup.hi-tier.de
PRIMARYPORT=2223
BACKUPPORT=2223

ANMELDE_BNR15=276090000000015
ANMELDE_PIN=900015

DATENLISTE=Beispiel.liste

OUTPUT_PREFIX=Beispiel
LOGFILE=Beispiel.log
TRANSFER_MODE=IS

Die dazugehörige Datendatei DATENLISTE=Beispiel.liste enthält diese Einträge:

BNR15_VOR;BNR15_NACH;STICHTAG;MIT_BETRN
276090000000002;276090000000010;06.05.2000;0
276090000000003;276090000000010;09.05.2000;0

Zu beachten ist, daß beide Betriebe als Vor- und Nachfolger nicht in BETRN stehen dürfen, da dies der 'normale' Verkaufsablauf ist, der hier nur auf alle Tiere eines Betriebs angewandt wird. Daher ist die letzte Spalte mit '0' belegt.

Nach dem Aufruf von perl TiereUmmelden.pl Beispiel.ini erhält man vier Dateien:

bulletBeispiel.ini:

[GLOBAL]
USERID=276090000000015
PIN=900015
MELDEWEG=4

PRIMARYSERVER=hitserver.hi-tier.de
PRIMARYPORT=2223
BACKUPSERVER=hitbackup.hi-tier.de
BACKUPPORT=2223

PROTOLEVEL=3

SCHWERE=1
BLOCKRESTLOG=by_test_block.log

STARTSET=1
SETCOUNT=3

[SET-1]
MELDUNG=ABGANG
COMMAND=IS
DATALINESSOFAR=0
INFILE=Beispiel_abgang.csv
LOGFILE=Beispiel_abgang.log
GOODFILE=Beispiel_abgang.good
BADFILE=Beispiel_abgang.bad
CSVIN=0
CSVLOG=0

[SET-2]
MELDUNG=ZUGANG
COMMAND=IS
DATALINESSOFAR=0
INFILE=Beispiel_zugang.csv
LOGFILE=Beispiel_zugang.log
GOODFILE=Beispiel_zugang.good
BADFILE=Beispiel_zugang.bad
CSVIN=0
CSVLOG=0

[SET-3]
MELDUNG=BETRN
COMMAND=IS
DATALINESSOFAR=0
INFILE=Beispiel_betrn.csv
LOGFILE=Beispiel_betrn.log
GOODFILE=Beispiel_betrn.good
BADFILE=Beispiel_betrn.bad
CSVIN=0
CSVLOG=0
bulletBeispiel_abgang.csv:

*;LOM;BNR15;ABGA_DAT
IS;276000712345678;276090000000002;06.05.2000
IS;276000910000001;276090000000002;06.05.2000
IS;276000910000020;276090000000002;06.05.2000
...
IS;276001600725618;276090000000003;09.05.2000
IS;276001600725622;276090000000003;09.05.2000
IS;276001600725626;276090000000003;09.05.2000
bulletBeispiel_zugang.csv:

*;LOM;BNR15;ZUGA_DAT
IS;276000712345678;276090000000010;06.05.2000
IS;276000910000001;276090000000010;06.05.2000
IS;276000910000020;276090000000010;06.05.2000
...
IS;276001600725618;276090000000010;09.05.2000
IS;276001600725622;276090000000010;09.05.2000
IS;276001600725626;276090000000010;09.05.2000
bulletBeispiel_betrn.csv:

*;BNR15_V;BNR15_N;DNAC_VON

In der Datei Beispiel_betrn.csv wird man keine Datenzeile vorfinden, da beide gegebenen Betriebe an einen anderen verkauft wurden und nicht übergeben.

Diese vier Dateien werden nun mit dem HitBatch beispielsweise folgendermaßen angewandt:

HitBatch.cmd Beispiel.ini

Anschließend enthalten die Logdateien zu den drei Sets aus dem Ini-File die Fehlermeldungen, falls die Ummeldung eines gesamten Betriebes fehlschlug.

Hinweis: Falls Sie zu einem Bundesland gehören, das unterschiedliche Betriebsnummern für Regionalstelle (Betriebstyp 15) und für die Adreßdatenstelle (Betriebstyp 13) haben, dann können Sie als Regionalstelle zwar die Daten für den HitBatch generieren lassen, aber Sie werden bei der Meldung von BETRN wegen fehlernder Kompetenz abgewiesen. In diesem Fall müßten Sie im erzeugten Ini-File die Betriebsnummer und dazugehörige Pin an der oben blau markierten Stelle einfügen (und die ';' vorn dran entfernen).

 

Beispielanwendung 2

Ein Landwirt möchte seinen Betrieb und somit auch seinen Tierbestand an seinen Sohn abtreten. Dieser Vorgang ist kein Verkaufsgeschäft, d.h. der Betrieb des Sohnes wird als Betriebsnachfolger des Betriebes vom Vater eingetragen.

Analog hierzu ist auch eine Änderung der Betriebsnummer eines Betriebes nach beispielsweise einer Gebiets- bzw. Gemeindereform. In diesem Fall verbleibt der Tierbestand im Betrieb, aber damit die HI-Tier-Datenbank mitbekommt, daß die Tiere nun eine andere Betriebsnummer besitzen, müssen die Tiere von der alten Betriebsnummer zur neuen Betriebsnummer umgemeldet werden.

Das Ini-File ist analog dem aus Beispiel 1, die Datendatei jedoch hat andere Einträge:

BNR15_VOR;BNR15_NACH;STICHTAG;MIT_BETRN
276090000000002;276090000000010;06.05.2000;1

Die letzte Spalte der Datenzeile enthält eine '1', d.h. daß Vorgängerbetrieb und Nachfolgerbetrieb in BETRN eingetragen wird.

Nach dem Aufruf von perl TiereUmmelden.pl Beispiel.ini erhält man vier Dateien:

bulletBeispiel.ini:

(sieht genauso aus wie im obigen Beispiel)
bulletBeispiel_abgang.csv:

*;LOM;BNR15;ABGA_DAT
IS;276000712345678;276090000000002;06.05.2000
IS;276000910000001;276090000000002;06.05.2000
IS;276000910000020;276090000000002;06.05.2000
IS;276000910000021;276090000000002;06.05.2000
IS;276000910000023;276090000000002;06.05.2000
IS;276000910000024;276090000000002;06.05.2000
IS;276000910000026;276090000000002;06.05.2000
IS;276000912341233;276090000000002;06.05.2000
IS;276000912345660;276090000000002;06.05.2000
IS;276000912345677;276090000000002;06.05.2000
IS;276000920000002;276090000000002;06.05.2000
IS;276000982147883;276090000000002;06.05.2000
IS;276000982147884;276090000000002;06.05.2000
IS;276000982147885;276090000000002;06.05.2000
IS;276000982147886;276090000000002;06.05.2000
bulletBeispiel_zugang.csv:

*;LOM;BNR15;ZUGA_DAT
IS;276000712345678;276090000000010;06.05.2000
IS;276000910000001;276090000000010;06.05.2000
IS;276000910000020;276090000000010;06.05.2000
IS;276000910000021;276090000000010;06.05.2000
IS;276000910000023;276090000000010;06.05.2000
IS;276000910000024;276090000000010;06.05.2000
IS;276000910000026;276090000000010;06.05.2000
IS;276000912341233;276090000000010;06.05.2000
IS;276000912345660;276090000000010;06.05.2000
IS;276000912345677;276090000000010;06.05.2000
IS;276000920000002;276090000000010;06.05.2000
IS;276000982147883;276090000000010;06.05.2000
IS;276000982147884;276090000000010;06.05.2000
IS;276000982147885;276090000000010;06.05.2000
IS;276000982147886;276090000000010;06.05.2000
bulletBeispiel_betrn.csv:

*;BNR15_V;BNR15_N;DNAC_VON
IS;276090000000002;276090000000010;06.05.2000

Diese vier Dateien werden nun mit dem HitBatch beispielsweise folgendermaßen angewandt:

HitBatch.cmd Beispiel.ini

Anschließend enthalten die Logdateien zu den drei Sets aus dem Ini-File die Fehlermeldungen, falls die Ummeldung eines gesamten Betriebes fehlschlug. Siehe auch Hinweis.

 

Mögliche zukünftige Erweiterungen

bulletEs wurde angeregt, daß das Programm aus BETRN mit einer Delta-Abfrage die zuletzt eingetragenen Betriebsnachfolger ermittelt und daraus die HitBatch-Dateien (wie oben beschrieben) generiert. Der Vorschlag ist zu begrüßen; es wird jedoch darauf hingewiesen, daß nur dann ein BETRN gesetzt werden darf, wenn ein Betrieb z.B. durch Vererbung, Betriebsübergabe oder Umschlüsselung in einen anderen Betrieb übergeht. Betriebe, deren gesamter Bestand an einen anderen Betrieb verkauft wird, dürfen nicht in BETRN vermerkt werden, da dies der normale Abgangs- und Zugangsvorgang für jedes Tier ist. Für diese muß man dann über den normalen Weg die Tiere ummelden.

 

 

 

horizontal rule

Diskussionsvorschlag

1.Diskussionsvorschlag, bitte lesen und Kommentare an Ralph.Reuchlein@hi-tier.de

Es gibt drei Problemfälle:

bulletFALL 1: Ein Betrieb hat eine falsche BNR15 erhalten und soll seine richtige Nummer erhalten
bulletFALL 2a: Ein Betrieb erhält zu einem Stichtag eine neue Betriebsnummer.
bulletFALL 2b: Ein Betrieb wird von einem anderen aufgekauft, so daß er seinen Tierbestand an den Käufer mit übergibt, d.h. die Tiere des gekaufen Betriebes müssen dem neuen Betrieb zugeordnet werden.

Hierzu Hintergründe und ein Paar Lösungsansätze.

 

Fall 1: Betrieb soll korrekte BNR15 erhalten

Hintergrund

Wenn versehentlich einem Betrieb eine falsche BNR15 zugeteilt wurde, muß die neue Nummer sowohl bei sämtlichen Betriebsdaten, als auch bei sämtlichen Meldungselementen korrigiert werden, ohne daß dabei sich zeitabhängige Felder ändern. Der Datenbestand nach der Änderung würde dann so aussehen, als ob dieser Betrieb nie eine andere Nummer besessen hätte. Dieses Verfahren soll nur in Ausnahmefällen angewendet werden.

Die Änderung einer Betriebsnummer ab einem bestimmten Datum wird in Fall 2a behandelt.

Vorschlag

Das Programm, das diese Aufgabe übernehmen soll, wird nur in der HIT-Zentrale laufen, da dieses Problem nur über den direkten Datenbankzugriff zu lösen ist. Über den normalen Weg Client -> HitServer -> Datenbank kann diese Aufgabe nicht erledigt werden.

Der Ablauf sieht wie folgt aus: Zu jedem Meldeelement, das in seiner Tabelle das Feld BNR15 enthält, werden die Datensätze ermittelt, die die fehlerhafte BNR15 enthalten. Diese werden dann direkt in der Datenbank mit der neuen Nummer überschrieben.

Eine Änderung einer solchen Betriebsnummer muß von einer Regionalsstelle der Zentrale gemeldet werden.

 

Fall 2a: Betrieb soll neue BNR15 erhalten

Hintergrund

Eine Gebietsreform beispielsweise kann eine Änderung der BNR15 bewirken. Dies führt dazu, daß zu einem Stichtag der Änderung sämtliche Tiere der betroffenen Betriebe einer neuen Betriebsnummer zugeteilt werden müssen. Vor dem Stichtag behält der Betrieb seine alte Nummer bei, ab dem Stichtag wird er jedoch unter der neuen Nummer zu finden sein.

Vorschlag

Der normale Ablauf sieht wie folgt aus:

  1. Neuen Betrieb in BETRD einrichten, dazugehörig auch BETRT und BETRN
  2. Bestandsregister des Betriebes zu einem Stichtag ermitteln
  3. daraus alle Tiere mit Meldung ABGANG vom Betrieb abgehen lassen
  4. die gleichen Tiere mit der Meldung ZUGANG zum Betrieb mit der neuen Nummer zugehen lassen

Die Eintragung in der Tabelle BETRN ist wichtig, da damit z.B. die Verfolgung eines im Betrieb unter der alten Nummer geborenes Rind bis zum momentanen Bestand gewährleistet ist. Wird der Eintrag vergessen, dann läßt sich das Tier nur bis zum letzten Abgang mit der alten Nummer bzw. nur vom ersten Zugang mit der neuen Nummer verfolgen. Dies darf nicht der Fall sein. Ausgenommen hiervon ist Fall 2b!

 

Zur Abarbeitung stehen mehrere Varianten zur Diskussion:

  1. Ein kleines Programm, das durch Angabe der Quell- und Zielbetriebes selbsttätig die Ummeldung vornimmt
  2. Ein kleines Programm, das analog 1. arbeitet, jedoch Datendateien für den HitBatch rausschreibt, statt die Daten sofort zu verarbeiten

Variante 1 ist nur für die Regionalstellen bestimmt. Diese könnten dann selbsttätig das Programm mit benötigten Parametern aufrufen und so das Ummelden vornehmen. Das Programm würde dabei selbst eine Verbindung zum HitServer aufbauen und die Meldedaten übertragen. Der Käufer-Betrieb muß hierbei jedoch erst mit der Regionalstelle in Verbindung treten, um den Vorgang durchzuführen. Man hat hier jedoch nicht die Möglichkeit, einzelne Tiere aus der Ummeldung auszuschließen. Dies kann zu einem Problem werden, wenn im Vorgängerbetrieb ein Tier schon abgegangen wurde, ohne daß dieses rechtzeitig an HIT gemeldet wurde.

Variante 2 ist auch nur für die Regionalstellen interessant, wenn sie anhand der generierten HitBatch-Datendateien selbst die Ummeldungen durchführen wollen. Es besteht hier die Möglichkeit, daß die Daten erst angesehen werden können, bevor sie mit dem HitBatch verarbeitet werden. Auch hier gelten die gleichen Vor- und Nachteile wie bei Variante 1.

Eine der beiden Varianten würde entwickelt und den Regionalstellen zu Verfügung gestellt.

 

Fall 2b: Betrieb soll Tiere eines anderen Betriebes übernehmen

Hintergrund

Ein Landwirt kauft einen Hof eines anderen Landwirtes auf. Dieser übernimmt u.a. auch dessen Tierbestand. Statt nun jedes im alten Betrieb gemeldete Tier einzeln abgehen und zum neuen Betrieb zugehen zu lassen, ist es sinnvoller, dies unabhängig vom Tierbestand durchführen zu lassen.

Vorschlag

Der Ablauf entspricht genau dem in Fall 2a, jedoch mit der Ausnahme, daß BETRN nicht gefüllt werden darf.