KONTOPRUEF-Logo
Sehen Sie sich auch mein anderes Produkt an:
myebilanz – die Freeware-eBilanz aus MySQL und CSV!
myebilanz

Update-Hinweise für KONTOPRUEF-OFFLINE

Auf dieser Seite finden Sie Informationen, wie Sie KONTOPRUEF-OFFLINE auf dem neuesten Stand halten. Hinweis: Dies ist unbedingt nötig, da Sie mit veralteten Bankdaten falsche Ergebnisse erhalten würden!

Inhalt:

Allgemeines

Generell gilt: Die Software selbst (ausführbare Programme, Bibliotheken) braucht (bis auf einen – seltenen – "Haupt-Versions-Sprung", wie z.B. von 2.x auf 3.x) niemals ausgetauscht werden. Die gesamte Funktionalität ist in der sogenannten "Bankdatendatei" enthalten (Bankleitzahlen, Prüfzifferalgorithmen, BICs etc.). Ein normales Update besteht also nur aus dem Austausch der Bankdatendatei!

Der Name der Bankdatendatei

Der Name einer Bankdatendatei setzt sich stets wie folgt zusammen:

  • Vier Zeichen wie folgt:
    • bank für eine "normale" Bankdatendatei
    • demo für eine Demo-Bankdatendatei, in der nur ca. ein Drittel der Bankleitzahlen enthalten ist
    • serv für eine Bankdatendatei für den KONTOPRUEF-INHOUSE-Server
  • Zwei Ziffern, die das Jahr des Gültigkeitsbeginns angeben, z.B. 13 für das Jahr 2013
  • Eine Ziffer, die den Monat des Gültigkeitsbeginns angibt, codiert wie folgt:
    • 1 = März
    • 2 = Juni
    • 3 = September
    • 4 = Dezember
  • Eine Ziffer, die die laufende Nummer der jeweiligen Quartalsdatei angibt, falls es mehrere gibt; 0 bezeichnet eine Bankdatendatei, die auf den originalen Bundesbank-Daten basiert; 1, 2, 3, ... bezeichnet Dateien, in denen innerhalb eines laufenden Quartals Fehler korrigiert und/oder Daten ergänzt wurden o.ä.
  • Ein Punkt als Trenner zwischen Name und Erweiterung
  • Der Buchstabe w für eine Windows-Datei bzw. der Buchstabe l für eine Linux-Datei
  • Der Buchstabe b (konstant) als Kennzeichnung für eine Bankdatendatei
  • Der Buchstabe d für eine benutzbare Datendatei bzw. der Buchstabe p für ein Paket, das zur Benutzung erst noch ausgepackt werden muss (siehe unten)

Die Datei bank1332.wbd beispielsweise ist also eine "normale" Bankdatendatei für Windows, gültig ab September 2013, die bereits zweimal korrigiert wurde.

Die Position der Bankdatendatei

Wo sich die Bankdatendatei befindet, hängt von Ihrem Betriebssystem und Ihren individuellen Einstellungen ab:

Die Position der Bankdatendatei unter Windows

Wenn Sie nichts weiter unternehmen, steht die Bankdatendatei unter Windows im selben Ordner wie der GUI-COM-Server Bank.exe. Das ist heutzutage keine gute Idee mehr (bitte beachten Sie zu diesem Thema unsere Ausführungen zum Virtual Store); wir haben daran aber nichts geändert, um zu bisherigen Versionen kompatibel zu bleiben (KONTOPRUEF gibt es ja nun schon rund zehn Jahre lang).

Sie brauchen daran nichts ändern, und in den meisten Fällen wird auch alles funktionieren; wir empfehlen Ihnen dennoch, zumindest bei Neuentwicklungen und Überarbeitungen Ihrer Software mit der Funktion KtoUpdate.SetDataDirectory einen "ungefährlichen" Ordner anzugeben, auf den Ihre Programme, die KONTOPRUEF benutzen, zumindest Lese- und Ausführungsrechte haben (und besser auch noch Schreibzugriff, denn dann ist ein automatisches Update möglich, siehe nächste Abschnitte).

Die Position der Bankdatendatei unter Linux

Unter Linux gibt es keinen Standard-Ordner der Bankdatendatei. Sie müssen daher im Ordner /etc eine Datei mit dem Namen KtoPruef.conf (Groß- und Kleinschreibung beachten!) anlegen, in der folgendes steht:

[Directories]
data=/var/lib/ktopruef

wobei Sie hinter data= den Ordner angeben, in dem die Bankdatendateien gespeichert und verwendet werden sollen. Natürlich muss der Prozess, der die KONTOPRUEF-Funktionen verwendet, zumindest Lesezugriff auf diesen Order haben (und besser auch noch Schreibzugriff, denn dann ist ein automatisches Update möglich (siehe nächste Abschnitte).

Prüfen auf Updates

Wie erfahren Sie nun überhaupt, ob es ein Update gibt? Nun, in erster Linie natürlich über unseren E-Mail-Newsletter, in dem wir alle Updates ankündigen. Insbesondere sind die Monate Februar, Mai, August und November "heiße Kandidaten" für Updates, da dies die Monate vor Inkrafttreten der neuen Quartalsdatei sind. Aber auch "unter der Zeit" kann es Updates geben, falls die Bundesbank in ihren Daten Fehler feststellt; hierfür liefern wir dann auch während eines Quartals Updates (deren letzte Ziffer der Bankdatendatei dann 1, 2, 3, ... lautet, siehe oben). Auch diese "Zwischen-Updates" kündigen wir natürlich per E-Mail-Newsletter an.

Ansonsten können Sie auf unserer Download-Seite nachsehen. Dort ist immer vermerkt, welche Datei gerade aktuell ist, wie sie heißt und welchen Gültigkeitszeitraum sie hat.

Eine weitere Möglichkeit ist, die mitgelieferten Rahmenprogramme zu verwenden (unter Windows Bank.exe, unter Linux KtoTool) und dort die entsprechenden Funktionen ("auf dem Server nachsehen") aufzurufen.

Und schließlich (dies ist die bevorzugte Variante) funktioniert das ganze auch automatisiert, wenn Sie ein klein bisschen programmieren: Mit der Funktion KtoUpdate.ServerCheck erhalten Sie den auf dem Update-Server gegenwärtig vorhandenen Dateinamen (z.B. +bank1332.wbp mit dem Pluszeichen als positive Quittung vorneweg) und können prüfen, ob diese Version neuer als Ihre gegenwärtig eingesetzte Version ist und die neue Version ggf. herunterladen (siehe nächster Abschnitt).

Ein sinnvolles Intervall für den Aufruf der Funktion KtoUpdate.ServerCheck ist z.B. einmal täglich.

Abholen von Updates

Updates werden als "Paket" zur Verfügung gestellt, das vor der Benutzung erst "ausgepackt" werden muss. Dies erfordert zwar einen (automatisierbaren) Arbeitsschritt mehr, hat aber zwei Vorteile:

  • Das Paket ist komprimiert, so dass die übertragene Datenmenge um ein Vielfaches kleiner ist als die benutzbare Bankdatendatei selbst;
  • Beim Auspacken durch KONTOPRUEF wird eine Signatur über die Daten geprüft, so dass Sie sicher sein können, dass es sich um die originalen (nicht virus-infizierten o.ä.) Bankdaten handelt.

Ähnlich wie bei der Prüfung auf Updates gibt es auch für den Download des aktuellen Bankdatenpakets drei Möglichkeiten:

Entweder Sie führen den Download manuell von unserer Download-Seite durch (Sie müssen dazu, wie auch bei den anderen beiden Möglichkeiten, Ihren Benutzernamen und Ihr Kennwort für den Update-Server angeben, das Sie bei Vertragsschluss von uns erhalten haben, und auswählen, ob Sie das Bankdatenpaket für Windows oder Linux möchten).

Oder Sie verwenden auch hier die mitgelieferten Rahmenprogramme (unter Windows Bank.exe, unter Linux KtoTool) und rufen dort die entsprechenden Funktionen ("Herunterladen vom Update-Server") auf.

Oder schließlich (dies ist die bevorzugte Variante) funktioniert das ganze auch automatisiert, wenn Sie ein klein bisschen programmieren: Mit der Funktion KtoUpdate.ServerDownload erhalten Sie das auf dem Update-Server aktuell vorhandene Bankdatenpaket (das dann auch gleich im richtigen Ordner landet).

Nach dem Download durch eine dieser drei Möglichkeiten müssen Sie das Paket entpacken (siehe nächster Abschnitt).

Entpacken von Updates

Zum Entpacken eines heruntergeladenen Bankdatenpakets (bank....bp) gibt es zwei Möglichkeiten:

Entweder Sie verwenden die mitgelieferten Rahmenprogramme (unter Windows Bank.exe, unter Linux KtoTool) und rufen dort die entsprechenden Funktionen ("Entpacken eines Pakets") auf und geben den Dateinamen der soeben heruntergeladenen Datei an.

Oder (dies ist die bevorzugte Variante) das ganze funktioniert auch automatisiert, wenn Sie ein klein bisschen programmieren: Mit der Funktion KtoUpdate.Unpack können Sie das heruntergeladene Bankdatenpaket auch direkt innerhalb Ihrer Anwendung entpacken.

Nach dem Entpacken durch eine dieser beiden Möglichkeiten müssen Sie schließlich die neue Datei aktivieren (siehe nächster Abschnitt); dies entfällt jedoch, wenn Sie Ihre Anwendung danach sowieso neu starten, da beim ersten Aufruf von KONTOPRUEF ohnehin die neueste Datendatei (d.h. diejenige mit der "größten" Nummer) automatisch aktiviert wird.

Aktivieren von Updates

Falls Sie Ihre Anwendung nach dem Update nicht sowieso neu starten (in diesem Fall wird beim ersten Aufruf von KONTOPRUEF ohnehin die neueste vorhandene Datendatei automatisch aktiviert), müssen Sie die soeben entpackte Bankdatendatei noch aktivieren. Dazu gibt es wiederum zwei Möglichkeiten:

Entweder Sie verwenden die mitgelieferten Rahmenprogramme (unter Windows Bank.exe, unter Linux KtoTool) und rufen dort die entsprechenden Funktionen ("Aktivieren einer Datendatei") auf und geben den Dateinamen der soeben entpackten Datei an (oder die Variante für die "neueste" Datendatei).

Oder (dies ist die bevorzugte Variante) das ganze funktioniert auch automatisiert, wenn Sie ein klein bisschen programmieren: Mit der Funktion KtoUpdate.Activate können Sie die entpackte Bankdatendatei auch direkt innerhalb Ihrer Anwendung aktivieren. Zum Aktivieren brauchen Sie noch nicht einmal einen Dateinamen angeben (Übergabe einer leeren Zeichenkette); dann wird automatisch die neueste vorhandene Datei aktiviert.

IIS-Beispiel mit Classic ASP

Im folgenden sehen Sie ein Beispiel mit "Classic ASP" für den Microsoft Internet Information Server. Falls "Classic ASP" nicht auf Ihrem IIS installiert ist, finden Sie die Anleitung zur Installation auf den Microsoft-Hilfeseiten.

Sie können z.B. für den Administrator eine Seite update1.asp auf Ihrem Server installieren, die die aktuelle Bankdatendatei anzeigt und ob und welche neuere Bankdatendatei auf dem Update-Server vorliegt:

update1.asp

<% Set myKtoUpdate = Server.CreateObject("Bank.KtoUpdate")
myKtoUpdate.SetDataDirectory("C:\Users\All Users\Hanft\KontoPruef") ' Ihr Datenverzeichnis %>
<p>Die aktuelle Datendatei ist: <% Response.Write myKtoUpdate.GetCurrentFileName() %></p>
<p>Auf dem Server liegt vor: <% Response.Write myKtoUpdate.ServerCheck("username", "passwort") %></p>
<p><a href="update2.asp">Update durchführen</a></p>

Sie erhalten damit z.B. folgende Ausgabe:

Die aktuelle Datendatei ist: bank1141.wbd
Auf dem Server liegt vor: +bank1341.wbp

Im Falle einer neueren Version kann der Administrator dann auf "Update durchführen" klicken und die Seite update2.asp aufrufen:

update2.asp

<%
Set myKtoUpdate = Server.CreateObject("Bank.KtoUpdate")
myKtoUpdate.SetDataDirectory("C:\Users\All Users\Hanft\KontoPruef") ' Ihr Datenverzeichnis
myResult = myKtoUpdate.ServerDownload("username", "passwort")
if Left(myResult, 1)<>"+" then
  Response.Write "<p>Fehler beim Download: " + myKtoUpdate.GetLastError() + "</p>" + vbCrLf
  Response.End
End If
myPacketFileName = Mid(myResult, 2)
myDataFileName = Replace(myPacketFileName, "wbp", "wbd")
Response.Write "<p>Paket " + myPacketFileName + " heruntergeladen.</p>" + vbCrLf
myResult = myKtoUpdate.Unpack(myPacketFileName)
if myResult <> 0 Then
  Response.Write "<p>Fehler beim Entpacken: " + myKtoUpdate.GetLastError() + "</p>" + vbCrLf
  Response.End
End If
Response.Write "<p>Paket " + myPacketFileName + " entpackt.</p>" + vbCrLf
myResult = myKtoUpdate.Activate(myDataFileName)
if myResult <> 0 Then
  Response.Write "<p>Fehler beim Aktivieren: " + myKtoUpdate.GetLastError() + "</p>" + vbCrLf
  Response.End
End If
Response.Write "<p>Datei " + myDataFileName + " aktiviert.</p>" + vbCrLf
%>

Sie erhalten damit z.B. folgende Ausgabe:

Paket bank1341.wbp heruntergeladen.
Paket bank1341.wbp entpackt.
Datei bank1341.wbd aktiviert.

Natürlich können Sie die Versionen auch auf einer einzigen ASP-Seite vergleichen und bei Vorliegen einer neueren Version das Update automatisch durchführen. Was nicht passieren sollte, ist nur, dass Ihr Skript täglich (oder gar ständig) mit KtoUpdate.ServerDownload das (gleiche) komplette Datenpaket herunterlädt. Im Prinzip sollten Sie also so vorgehen:

  • Einmal täglich (automatisch) oder alle paar Tage (manuell) die Versionsprüfung mit KtoUpdate.ServerCheck durchführen, wie oben in update1.asp demonstriert;
  • wenn Sie dabei ein positives Ergebnis erhalten (+ am Anfang der Server-Antwort und eine neuere Bankdaten-Versionsnummer), einmalig die neue Version herunterladen, entpacken und aktivieren, wie oben in update2.asp demonstriert.
Sehen Sie sich auch mein anderes Produkt an:
myebilanz – die Freeware-eBilanz aus MySQL und CSV!
myebilanz