|
KONTOPRUEF-Navigation:
Kundencenter
KONTOPRUEF allgemein:
KONTOPRUEF-ONLINE:
KONTOPRUEF-INHOUSE ("HanftServer"):
KONTOPRUEF-OFFLINE:
Impressum
Datenschutz
|
Funktionen von KONTOPRUEF
Inhalt dieser Seite:
Für eine Beschreibung der Parameter und der Ergebnisfelder
sehen Sie bitte auf der Seite der Bankverbindungsprüfung
bzw. der Adreßprüfung nach. Falls Sie die
HanftWddx-COM-Objekte
unter Windows installiert haben, finden Sie die Beschreibung der Felder und Funktionen
auf der HanftWddx-Seite.
Die generellen Aufrufmechanismen, Datentypen usw. sind auf der
Seite "Technik" beschrieben, so daß
hier nur auf die universelle Funktionalität eingegangen
wird.
Es gibt folgende Objekte:
- Bank.KtoUpdate
zur Datenverwaltung des Gesamtsystems: Datendateien
und Updates herunterladen, entpacken und aktivieren;
- Bank.KtoPruef
zum Prüfen von Bankverbindungen und mit
anderen Diensten rund um Bankleitzahlen und Kontonummern;
- Bank.KtoRead
zum Einlesen von MT940-Kontoauszügen in SQL-Datenbanken;
- Bank.KtoDtaus
zum Erzeugen und Prüfen von DTAUS-Dateien;
- Bank.KtoSwift
zur Abfrage der SWIFT-Website;
- Bank.KtoArbeit
zur Ermittlung der Arbeitstage in einem bestimmten
Monat, Quartal oder Jahr.
Hinweis zur Nomenklatur: Eine procedure wird mit
verschiedenen Parametern aufgerufen und gibt kein Ergebnis
zurück (es können allerdings einige Parameter
nach der Rückkehr einen neuen Wert haben - davon wird
hier aber nirgendwo Gebrauch gemacht). Eine function
wird ebenfalls mit verschiedenen Parametern aufgerufen, gibt
aber ein Funktionsergebnis zurück.
An verschiedenen Stellen ist u.U. ein Fehler "-999" möglich:
Dieser gibt an, daß momentan überhaupt keine Datendatei
(weder "Demo" noch "vollständig") geladen ist.
Allen Objekten gemeinsam sind die beiden folgenden Funktionen:
function GetErrorMessage
| Eingabeparameter |
| Name | Typ | Inhalt |
| aErrorCode | Integer | Fehlernummer dieses Objekts |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Fehlernummer im Klartext |
Viele Funktionen liefern eine Fehlernummer zurück, wobei 0 meistens
"kein Fehler" bedeutet. Die KONTOPRUEF-Fehlernummern (und einige
andere) finden Sie auf der Seite mit der
Online-Bankverbindungsprüfung;
wenn Sie in Ihrer Software einen Fehlertext statt einer Fehlernummer
benötigen, können Sie diese Funktion verwenden, die eine
Fehlernummer in einen Fehlertext übersetzt. (Dies geht immer und
überall - völlig unabhängig davon, ob tatsächlich
ein Fehler aufgetreten ist oder nicht! Es handelt sich nur
um eine "Zahl-zu-Text-Übersetzung", weiter nichts.)
function GetLastError
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Ggf.
zusätzliche Informationen zum zuletzt aufgetretenen Fehler |
Wenn ein Fehler aufgetreten ist, können Sie hier u.U. zusätzliche
Informationen über die Fehlerursache erhalten (nicht bei allen
Funktionen); so wird z.B. beim fehlgeschlagenen Öffnen von
Datenbanken bei Bank.KtoRead die
Klartext-Fehlermeldung des Betriebssystems abgelegt, mit deren
Hilfe Sie dann unterscheiden können, ob die Verbindung zum
SQL-Server nicht aufgebaut werden konnte oder ob lediglich
Benutzername/Kennwort ungültig waren o.ä.
Hier nun die speziellen Prozeduren und Funktionen der einzelnen Objekte:
Nach oben
Bank.KtoUpdate kümmert sich um den Download und
die Verwaltung von Datendateien und Updates. Der Name einer
Datendatei ist bankxxyz.wbd (wbd=Windows-Bank-Daten) bzw.
bankxxyz.lbd (lbd=Linux-Bank-Daten). (In der Demo-Version,
in der nur ein Teil der Banken enthalten ist, ist bank
durch demo ersetzt.) Neue Datendateien können vom
Update-Server heruntergeladen werden, entweder per Softwareaufruf
(s.u.) oder per manuellem Download. Die
übertragenen Dateien heißen bankxxyz.wbp
(wbp=Windows-Bank-Paket) bzw. bankxxyz.lbp (lbp=Linux-Bank-Paket)
und sind zur schnelleren Übertragung gepackt (ca. 170 KB
statt ausgepackt ca. 800 KB) und mit einer kryptographischen
Signatur versehen, um Übertragungsfehler oder Hacker-Angriffe
beim Download zu verhindern.
Die Stellen "xxyz" in den Dateinamen bedeuten:
- xx = Endziffern des Jahres, in dem diese Datei erstellt wurde, also
z.B. "04" für 2004;
- y = Laufende Nummer im jeweiligen Jahr; gegenwärtig erscheinen vier
Datendateien pro Jahr; d.h. diese Nummer bedeutet
- 1 = März
- 2 = Juni
- 3 = September
- 4 = Dezember
- z = 0 bei den Originaldateien; sollte die Bundesbank innerhalb eines
Quartals auf Fehler in ihren Daten aufmerksam machen, gibt es "Zwischen-Updates",
die hier von 1 an aufwärts gezählt werden.
Die Datendateien und -pakete werden stets ohne Verzeichnisangabe
verwendet. Die Verzeichnisse werden unter Windows bzw. unter Linux unterschiedlich
festgelegt:
- Unter Windows spielt sich das Herunterladen der wbp-Pakete und das
Speichern der wbd-Dateien im selben Verzeichnis ab, in dem sich auch
Bank.exe befindet. Das Benutzerkonto, unter dem Bank.exe
läuft, muß also auf dieses Verzeichnis Schreibzugriff haben.
- Unter Linux wird das Datendateiverzeichnis durch einen Eintrag in der
Datei /etc/KtoPruef.conf festgelegt, der z.B. für das Verzeichnis
/home/mh/data wie folgt aussehen muß:
[Directories]
data=/home/mh/data
Die einzelnen Prozeduren und Funktionen:
function KtoUpdate.GetCurrentFileName
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Name der Datendatei, die gerade
aktiviert ist. Leer, wenn überhaupt keine Datendatei aktiviert ist |
Gibt den Namen der momentan aktivierten Datendatei zurück. Beim
Programmstart wird automatisch die neueste vorhandene Datendatei aktiviert.
Falls überhaupt
keine bank...-Datei existiert, wird nach demo...-Dateien
gesucht und von diesen die neueste aktiviert.
function KtoUpdate.GetNewestFileName
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Name der neuesten
lokal verfügbaren Datendatei. Leer, wenn überhaupt
keine Datendatei lokal verfügbar ist |
Durchsucht das Verzeichnis der Datendateien und gibt den Dateinamen
der neuesten lokal verfügbaren Datendatei zurück. Diese Funktion
wird auch intern beim Programmstart verwendet, um die damit ermittelte
Datendatei automatisch zu aktivieren.
function KtoUpdate.GetDataDirectory
Nur in Windows, nicht in Linux!
Erst verfügbar ab KONTOPRUEF 2.1 vom 12.02.06!
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Momentan eingestelltes
Verzeichnis für die nächsten Datendatei-Operationen |
Gibt das Verzeichnis zurück, in dem die nächste
Datendatei-Operation (Herunterladen, Entpacken, Aktivieren)
stattfinden wird. Das Verzeichnis ist immer mit einem Delimiter
("\" unter Windows) abgeschlossen.
procedure KtoUpdate.SetDataDirectory
Nur in Windows, nicht in Linux!
Erst verfügbar ab KONTOPRUEF 2.1 vom 12.02.06!
| Eingabeparameter |
| Name | Typ | Inhalt |
| aDataDirectory | String | Verzeichnisname |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
Setzt das Verzeichnis, in dem die nächste
Datendatei-Operation (Herunterladen, Entpacken, Aktivieren)
stattfinden soll. Ein evtl. fehlender Delimiter am Verzeichnisende
("\" unter Windows) wird ggf. automatisch ergänzt. Das
übergebene Verzeichnis wird nicht auf Existenz geprüft.
procedure KtoUpdate.SetProxy
| Eingabeparameter |
| Name | Typ | Inhalt |
| aHost | String | Name des Proxy-Servers |
| aPort | Integer | Portnummer des Proxy-Servers |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
Falls Sie für den Update-Abruf einen Proxy-Server verwenden möchten
oder müssen, können Sie hier die nötigen Angaben machen. Es
wird nur dann ein Proxy-Server verwendet, wenn der angegebene Name nicht
leer ist und wenn der Port von 0 verschieden ist.
procedure KtoUpdate.SetTimeout
| Eingabeparameter |
| Name | Typ | Inhalt |
| aTimeout | Integer | Timeout in Sekunden |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
Hier können Sie einen maximalen Grenzwert für das Warten auf die
Antwort des Update-Servers einstellen. Wenn der Server nicht in der angegebenen
Zeit antwortet, wird der Update-Versuch mit einem Fehlercode abgebrochen.
Wenn Sie diese Prozedur nie aufrufen, wird Ihr systemweit konfigurierter
Timeout-Wert verwendet.
function KtoUpdate.ServerCheck
| Eingabeparameter |
| Name | Typ | Inhalt |
| aUser | String | Benutzername für den Update-Server |
| aPass | String | Kennwort für den Update-Server |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bei Erfolg:
'+' und Name des auf dem Update-Server vorhandenen Datendateipakets
Bei Mißerfolg: '-' und Begleittext |
Fragt den Update-Server nach der momentan dort vorliegenden Datendatei.
Ist eine Datei zum Abruf bereit, wird der Dateiname mit einem vorangestellten
Pluszeichen zurückgeliefert, also z.B. +bank0430.wbp für
die 3. Ausgabe 2004 des Windows-Bank-Pakets. Ist keine Datei
vorhanden, ist die Benutzerkennung ungültig oder kann die Verbindung
nicht hergestellt werden o.ä., beginnt der Rückgabewert mit
einem Minuszeichen, hinter dem im Klartext der Grund des Scheiterns
steht. Ggf. können Sie mit KtoUpdate.GetLastError
weitere Informationen erhalten.
function KtoUpdate.ServerDownload
| Eingabeparameter |
| Name | Typ | Inhalt |
| aUser | String | Benutzername für den Update-Server |
| aPass | String | Kennwort für den Update-Server |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bei Erfolg:
'+' und Name des heruntergeladenen Datendateipakets
Bei Mißerfolg: '-' und Begleittext |
Im Prinzip das gleiche wie ServerCheck,
nur daß die Datei im Erfolgsfall gleich heruntergeladen wird
(in das Verzeichnis der Datendateien).
Eine evtl. bereits vorhandene gleichnamige Datei wird dabei
überschrieben.
function KtoUpdate.Unpack
| Eingabeparameter |
| Name | Typ | Inhalt |
| aFileName | String | Dateiname eines heruntergeladenen
Datendateipakets |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
5: Zugriff verweigert (s.u.)
13: Fehler in Datendateipaket |
Hiermit kann ein wbp- bzw. lbp-Datendateipaket
zu einer wbd- bzw. lbd-Datendatei entpackt
werden. Vorhandene Datendateien werden dabei überschrieben -
dies funktioniert jedoch nicht, wenn die zu
überschreibende Datendatei gerade aktiviert (d.h. in
Gebrauch ist). Bei einem Fehler können Sie mit
KtoUpdate.GetLastError
weitere Informationen erhalten.
function KtoUpdate.Activate
| Eingabeparameter |
| Name | Typ | Inhalt |
| aFileName | String | Dateiname einer lokal
vorhandenen Datendatei (leer für neueste) |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
3: Datei nicht vorhanden bzw. keine Datei gefunden
13: Neue Datendatei konnte nicht geladen werden; alte Datendatei
wurde wieder geladen
14: Neue Datendatei konnte nicht geladen werden; auch alte
Datendatei konnte nicht wieder geladen werden |
Hiermit kann eine lokal vorliegende Datendatei aktiviert
und in KONTOPRUEF verwendet werden. Wird kein
Dateiname übergeben, wird intern
GetNewestFileName aufgerufen,
um die neueste Datendatei zu ermitteln. Bei einem Fehler
können Sie mit KtoUpdate.GetLastError
weitere Informationen erhalten.
Hinweis: Alle Bank.KtoUpdate-Funktionen können
im laufenden Betrieb aufgerufen werden!
Nach oben
function KtoPruef.GetVersion
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Versionsangaben |
Liefert eine Versionsangabe ähnlich Version vom 17.08.04
(BLZ-Stand 06.09.04) zurück.
function KtoPruef.GetVersionExtended
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Erweiterte Versionsangaben |
Liefert erweiterte Versionsangaben zurück, und zwar mehrere
Angaben in einem String, die durch eine Tilde ("~") getrennt sind.
Das Ende des Strings wird durch zwei Tilden ("~~") markiert. Die
einzelnen Felder bedeuten:
- Lesbare Versionsangabe wie bei GetVersion
- Jahr der Daten, z.B. 2004
- Lfd. Nr. im Jahr, also 1 bis 4
- Korrekturnummer (0 bis 9)
- Datum des ersten Gütigkeitstags im Format TT.MM.JJ
- Datum des letzten Gütigkeitstags im Format TT.MM.JJ
- Angabe, ob es sich um eine Demo-Version handelt (True) oder
nicht (False)
Ein Rückgabewert könnte also wie folgt aussehen:
Version vom 17.08.04 (BLZ-Stand: 06.09.04)~2004~3~0~06.09.04~05.12.04~True~~
Es ist damit zu rechnen, daß in künftigen Version noch
weitere Felder hinten an den String angehängt werden.
function KtoPruef.TestBlzKto
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Zu prüfende Bankleitzahl |
| aKto | String | Zu prüfende Kontonummer |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | Prüfergebnis |
Prüft die angegebene Bankleitzahl-/Kontonummernkombination auf
Gültigkeit. Die möglichen Ergebnisse finden Sie
hier.
function KtoPruef.TestIban
| Eingabeparameter |
| Name | Typ | Inhalt |
| aIban | String | Zu prüfende IBAN |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
13: Prüfzifferfehler |
Prüft die angegebene IBAN auf Gültigkeit (nur die der
Prüfziffer, nicht auf Existenz der Bank wie bei deutschen
Bankverbindungen). Es kann daher nur die Ergebnisse 0 (Ok) oder
13 (Prüfziffer falsch) geben.
function KtoPruef.TestCC
| Eingabeparameter |
| Name | Typ | Inhalt |
| aCC | String | Zu prüfende Kreditkartennummer |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
1: Unbekannter Kartentyp
12: Es sind nicht nur Ziffern enthalten
13: Prüfzifferfehler |
Prüft die angegebene Kreditkartennummer auf Gültigkeit.
Wichtiger Hinweis: Im Gegensatz zu den "amtlichen" Unterlagen
bei den Bankverbindungen beruht die Kreditkartenprüfung auf
unsicheren Unterlagen aus dem Internet. Die Verfahren sind zwar
mit vorhandenen Kreditkarten getestet worden, aber es ist nicht
völlig ausgeschlossen, daß diese Prüfung in
Einzelfällen ein falsches Ergebnis anzeigt.
function KtoPruef.GetIban
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| aKto | String | Kontonummer |
| aSpaceFlag | Integer | IBAN soll
0: ohne
1: mit
Zwischenräume(n) zur besseren Lesbarkeit generiert werden |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Generierte IBAN |
Generiert aus der angegebenen Bankverbindung eine IBAN.
Wichtiger Hinweis: Sprechen Sie unbedingt mit Ihrer Bank,
bevor Sie eine hier generierte IBAN verwenden. Bei manchen
Banken ist die IBAN nicht eindeutig der Kontonummer zugeordnet,
oder das Konto muß für die IBAN-Benutzung erst noch
"freigeschaltet" werden o.ä. Verwenden Sie diese Funktion
also nur als ersten Anhaltspunkt.
function KtoPruef.GetBic
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | BIC zur angegebenen Bankleitzahl |
Gibt den BIC (Bank Identifier Code) für die angegebene Bank zurück.
Ist für diese Bank kein BIC vorhanden, wird ein Leerstring
zurückgegeben.
function KtoPruef.GetBankName58
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Name der Bank, maximal 58 Zeichen lang |
Liefert den (maximal 58 Zeichen langen) Namen der über die
angegebene Bankleitzahl identifizierten Bank zurück. Existiert
diese Bankleitzahl nicht, wird ein Leerstring zurückgegeben.
function KtoPruef.GetBankName20
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Name der Bank, maximal 20 Zeichen lang |
Liefert den (maximal 20 Zeichen langen) Namen der über die
angegebene Bankleitzahl identifizierten Bank zurück. Existiert
diese Bankleitzahl nicht, wird ein Leerstring zurückgegeben.
function KtoPruef.GetBankName27
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Name der Bank, maximal 27 Zeichen lang |
Liefert den (maximal 27 Zeichen langen) Namen der über die
angegebene Bankleitzahl identifizierten Bank zurück. Existiert
diese Bankleitzahl nicht, wird ein Leerstring zurückgegeben.
Hinweis: Dies ist der Name, der in früheren KONTOPRUEF-Versionen
über GetBankName abrufbar war.
function KtoPruef.GetBankPlz
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Postleitzahl der Bank |
Liefert die Postleitzahl der über die
angegebene Bankleitzahl identifizierten Bank zurück. Existiert
diese Bankleitzahl nicht oder hat die Bank keine Postleitzahl gemeldet,
wird ein Leerstring zurückgegeben.
function KtoPruef.GetBankOrt
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Ort der Bank |
Liefert den Ort der über die
angegebene Bankleitzahl identifizierten Bank zurück. Existiert
diese Bankleitzahl nicht, wird ein Leerstring zurückgegeben.
Hinweis: Der hier zurückgegebene Ort beinhaltet
nicht notwendigerweise die korrekte Schreibweise für Anschriften
auf Postsendungen! Prüfen Sie daher die korrekte Schreibweise mit
der KONTOPRUEF-Adreßprüfung.
function KtoPruef.GetFirstBank
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bankleitzahl der ersten Bank
in der momentan aktivierten Datendatei |
Wenn Sie alle Banken der momentan aktivierten Datendatei auslesen wollen,
rufen Sie zuerst GetFirstBank auf, und danach
so lange GetNextBank, bis ein Leerstring
zurückgegeben wird.
function KtoPruef.GetNextBank
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bankleitzahl der nächsten Bank
in der momentan aktivierten Datendatei |
Wenn Sie alle Banken der momentan aktivierten Datendatei auslesen wollen,
rufen Sie zuerst GetFirstBank auf, und danach
so lange GetNextBank, bis ein Leerstring
zurückgegeben wird.
function KtoPruef.GetFirstMatch
| Eingabeparameter |
| Name | Typ | Inhalt |
| aSearchString | String | Ein oder mehrere Wörter
oder Wortbestandteile, nach denen gesucht werden soll (UND-verknüpft) |
| aFragmentsFlag | Integer | Es soll
0: nur nach ganzen Wörtern
1: auch nach Wortbestandteilen
gesucht werden |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bankleitzahl der ersten Bank,
die die Suchkriterien erfüllt |
Hiermit können Sie die Bankleitzahl einer Bank anhand ihres
Namens suchen (es wird der "BankName27" verwendet).
Geben Sie mehr als einen Begriff mit Zwischenräumen ein. Wenn bereits
hier als Ergebnis ein Leerstring zurückkommt, gibt es überhaupt
keine Banken, die Ihre Suchkriterien erfüllen; ansonsten rufen Sie
danach so lange GetNextMatch auf, bis ein
Leerstring zurückkommt.
function KtoPruef.GetNextMatch
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | String | Bankleitzahl der nächsten Bank,
die die Suchkriterien erfüllt |
Arbeitet die Suchergebnisse ab, die Sie mit GetFirstMatch
spezifiert haben. Wenn keine weitere Bank gefunden wird, wird ein Leerstring
zurückgegeben.
Veraltete Interfaces:
- GetReg: Liefert einen String zurück, in dem steht, daß es
keine Registrierungsinformationen mehr gibt.
- Init, InitFile, InitReg, SetRegCode: Tun nichts und liefern 0 (Ok) zurück.
- GetBankName: Wird intern auf GetBankName27 abgebildet.
Nach oben
Nur in der Windows-,
nicht in der Linux-Version!
Das Objekt Bank.KtoRead bietet Ihnen die Möglichkeit,
elektronische Kontoausüge im MT940-Format, die Sie von Ihrer
Bank abgerufen haben, in eine SQL-Datenbank einzulesen. Unter Windows
wird dazu die "ADO"-Technologie genutzt; Sie können alle
Datenbanken verwenden, für die es einen ODBC-Treiber gibt;
außerdem steht ein spezieller Treiber
für den MS-SQL-Server zur Verfügung. mySQL-Datenbanken können
Sie verwenden, wenn Sie den
ODBC-Treiber
für mySQL installieren und in KONTOPRUEF den Typ
"ODBC" angeben.
Es muß dazu eine Datenbank mit zwei Tabellen geben, die vorab
von Ihnen angelegt werden müssen, und zwar wie folgt:
CREATE TABLE KONTOAUSZUEGE (NR INTEGER NOT NULL,
BLZ VARCHAR(8) NOT NULL,
KONTO VARCHAR(23) NOT NULL,
AUSZUGNR INTEGER NOT NULL,
ALTGUTDATUM DATE NOT NULL,
ALTGUTWAE CHAR(3) NOT NULL,
ALTGUTBETRAG NUMERIC(15, 2) NOT NULL,
NEUGUTDATUM DATE NOT NULL,
NEUGUTWAE CHAR(3) NOT NULL,
NEUGUTBETRAG NUMERIC(15, 2) NOT NULL,
USERID INTEGER NOT NULL,
PRIMARY KEY (NR));
CREATE TABLE KONTOUMSAETZE (NR INTEGER NOT NULL,
AUSZUGNR INTEGER NOT NULL,
VALUTA DATE NOT NULL,
BUCHUNG DATE NOT NULL,
BETRAG NUMERIC(15, 2) NOT NULL,
ORIWAE CHAR(3),
ORIBETRAG NUMERIC(15, 2),
GVC INTEGER NOT NULL,
BUTEXT VARCHAR(27),
PN VARCHAR(10),
BLZ CHAR(8),
KONTO VARCHAR(10),
ABSENDER VARCHAR(54),
VERWEND VARCHAR(378),
TSE INTEGER,
USERID INTEGER NOT NULL,
PRIMARY KEY (NR));
Anmerkung: Bei manchen Datenbanken kann für den Betrag
auch der Datentyp Money statt Numeric(15,2) verwendet
werden bzw. für die Datumsfelder SmallDateTime statt
Date. Bitte sehen Sie in der Dokumentation der Datentypen
Ihrer Datenbank nach.
Hinweis: Das Feld AuszugNr in der Tabelle
KontoUmsaetze ist im Prinzip ein Foreign Key
auf das Feld Nr (nicht AuszugNr!) in der
Tabelle KontoAuszuege. Den Foreign Key Restraint
darf man aber in SQL nicht verwenden, da die Umsätze vor
den Auszügen in die Datenbank eingefügt werden). Das Feld
AuszugNr in der Tabelle KontoAuszuege ist rein
informatorisch (dort wird das von der Bank gelieferte Feld unverändert
übernommen).
Wichtiger Hinweis zum Feld
KONTO: Obwohl es in Deutschland maximal
zehnstellige Kontonummern gibt, ist dieses Feld länger,
da Sie von Ihrer Bank möglicherweise systeminterne Kontonummern
bereitgestellt bekommen (z.B. mit vorangestellter Filialennummer,
mit angefügter Unterkontonummer und/oder Währungskennzeichen).
KtoRead versucht beim Einlesen das "normale" Schema
BBBBBBBB/KKKKKKKKKK (B=8stellige Bankleitzahl,
K=10stellige Kontonummer) auszuwerten; falls dies bei Ihnen nicht
richtig funktioniert, weil Ihre Bank die Kontonummer mit zusätzlichen
Daten "anreichert", können Sie (ab Version 0831) den Dateinamen
mit einem angehängten "+" übergeben (also z.B.
Auszug080922.STA+ und erhalten dann
die im Kontoauszug enthaltenen Daten unverändert in
Ihrer Datenbank.
Beispiele, was (bei Verwendung des "+") im MT940-Auszug alles
enthalten sein kann, wenn Ihre Kontonummer 123456 lautet:
| Empfangene Kontonummer | Bemerkung |
| 123456 | "Normale" Kontonummer |
| 000000000000123456 | Mit führenden Nullen |
| 12345600 | Mit angehängter Unterkontonummer 00 |
| 0000123456888 | Führende Nullen, angehängte 888 |
| 416000123456 | Filiale vor der Kontonummer |
| 0000123456EUR | Führende Nullen,
angehängte Währungsbezeichnung |
| 41600012345600888EUR | Kombination aus allen obigen Möglichkeiten |
Es ist außerdem auch möglich, daß im Auszug
keine Bankleitzahl enthalten ist;
das Feld BLZ in der Datenbank enthält
in diesem Fall einen Leerstring! |
Neben den allgemeinen beiden Fehlerfunktionen
gibt es nur eine einzige spezifische Funktion:
function KtoRead.ReadMt940
| Eingabeparameter |
| Name | Typ | Inhalt |
| aDatabaseType | Integer | 0: ODBC
1: MS-SQL
|
| aDatabaseName | String | Bei ODBC: Der System-
oder User-DSN-Name aus der ODBC-Verwaltung
Bei MS-SQL: Der Servername; falls nicht die Default-Datenbank auf
diesem Server genutzt werden soll, kann der Datenbankname hinter
einem Schrägstrich ("/") noch angehängt werden (also
z.B. my.database.xy/Accounting).
Neu ab Version 0510:
Hinter den Datenbanknamen können noch im Format
"#Auszugtabellenname#Umsatztabellenname" die Namen der
gewünschten Tabellen angehängt werden, falls nicht
die Standardtabellennamen (s.o.) verwendet werden sollen. |
| aUsername | String | Der Benutzername, mit
dem auf die Datenbank zugegriffen werden soll; ist dieser Name
leer, wird die Windows-Authentifizierung verwendet |
| aPassword | String | Das Kennwort, mit
dem auf die Datenbank zugegriffen werden soll |
| aFileName | String | Der Dateiname der
MT940-Datei; kann leer sein, dann wird lediglich eine kurze
Testverbindung zur Datenbank aufgebaut. Ab
Version 0831 können Sie an den Dateinamen ein Pluszeichen ("+")
anhängen (also z.B. Auszug080923.STA+);
dann erhalten Sie die vollständige Kontonummer 1:1 aus dem
MT940-Datensatz (siehe oben) |
| aTranslation | String | Parameter, wie Non-Swift-Auszüge
übersetzt werden sollen, siehe unten |
| aUserId | Integer | Beliebige Zahl, die in die
letzte Spalte der Datenbank geschrieben wird, um z.B. die Herkunft
eines Datensatzes zu dokumentieren |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
1: Datenbanktyp ungültig
2: ADO ist nicht installiert
3: Datenbank kann nicht geöffnet werden
4: MT940-Datei kann nicht geöffnet werden
5: Auszug kann nicht in die Datenbank geschrieben werden
6: Umsatz kann nicht in die Datenbank geschrieben werden |
Diese Funktion liest die angegebene MT940-Datei in die angegebene
Datenbank ein. Bei allen Fehlern können Sie mit
KtoRead.GetLastError weitere Informationen
abrufen.
Mit dem Parameter aTranslation können beliebige
"Non-Swift"-Auszüge in ein geeignetes Format konvertiert
werden. Normalerweise geht KONTOPRUEF von einem Swift-
Format mit dem Mehrzweckfeld :86: aus (siehe
Beschreibung des Swift-Formats). In diesem
Fall brauchen Sie bei aTranslation nichts angeben. Sollte
Ihre Bank jedoch Non-Swift-Auszüge senden (Mehrzweckfeld :NS:,
siehe Beschreibung des Non-Swift-Formats), können
Sie hier einen String übergeben, der die einzelnen Felder
zuordnet. Dieser String hat das Format XX:YY,XX:YY,XX:YY,XX:YY
usw., wobei jedes Feld XX des Non-Swift-Formats in das Feld YY
des Swift-Formats übersetzt wird. Ich hatte z.B. einmal
einen Auszug, bei dem der String 01:20,02:32,03:00,04:10
lauten mußte, was bedeutet:
- NS-Feld 01 wird in 20 übersetzt (Verwendungszweck)
- NS-Feld 02 wird in 32 übersetzt (Auftraggeber)
- NS-Feld 03 wird in 00 übersetzt (Buchungstext)
- NS-Feld 04 wird in 10 übersetzt (Primanota)
- NS-Feld 05 wird ignoriert (unbekannt; hätte
eine Uhrzeit sein können; die kommt aber in Swift
ohnehin nicht vor).
Die Belegung ist bei verschiedenen
Banken aber leicht unterschiedlich - es empfiehlt sich also,
den MT940-Auszug der jeweiligen Bank vor dem ersten Einlesen
genau zu untersuchen, damit eine vernünftige Übersetzungstabelle
übergeben werden kann.
Nach oben
Mit dem KtoDtaus-Objekt lassen sich DTAUS-Dateien,
mit denen man Überweisungen und Lastschriften an Banken senden kann,
sowohl erzeugen als auch prüfen. Ab Version 0442 der Datendatei
ist außerdem
die Erzeugung des DTAUS-"Spezialformats" für den Auslands-Lastschrifteinzug
der Landesbank Baden-Württemberg
enthalten. Spezielle Parameter für diesen Dienst, die von den normalen
inländischen DTAUS-Dateien abweichen, sind in den folgenden
Funktionsbeschreibungen mit "LBBW:"
markiert.
Die Funktionen im einzelnen:
function KtoDtaus.CreateFile
| Eingabeparameter |
| Name | Typ | Inhalt |
| aFileName | String | Datei, in die die DTAUS-Datei
geschrieben werden soll |
| aBlz | String | Eigene Bankleitzahl
LBBW: 99935000 |
| aKto | String | Eigene Kontonummer
LBBW: Pseudokontonummer des jeweiligen Landes:
- 2020202020 für Österreich
- 2121212121 für Belgien
- 2222222222 für Frankreich
- 2323232323 für Schweiz
- 2424242424 für Niederlande
- 2525252525 für Italien
- 2626262626 für Großbritannien
|
| aName | String | Kontobezeichnung des eigenen
Kontos (maximal 54stellig;
längere Namen werden nach 54 Zeichen abgeschnitten)
LBBW: Nach der Kontobezeichnung müssen
(nach einem Zwischenraum) noch Währung und Landeskennung, getrennt durch
einen Bindestrich folgen, also z.B. "MUSTERMANN EUR-IT" für EUR-Lastschriften
in Italien. Die Gesamtlänge aus Kontobezeichnung, Wührung und Land darf maximal
27 Zeichen betragen! |
| aNumber | String | Nummer (als String) dieser
DTAUS-Datei. Frei wählbar (maximal zehnstellig); bei den
meisten Banken wird diese Nummer bei der Buchung im Kontoauszug
mit ausgedruckt |
| aType | Integer | 1: Überweisungen (Gutschriften)
2: Einzug (Lastschriften)
LBBW: Hier ist nur 2 für
Lastschriften möglich. |
| aCheckFlag | Integer | 0: Die angegebenen Bankverbindungen
werden ohne Prüfung in die DTAUS-Datei geschrieben
1: Die angegebenen Bankverbindungen (inkl. der eigenen!) werden nur dann
in die DTAUS-Datei geschrieben, wenn eine Prüfung durch KONTOPRUEF
ergeben hat, daß die Bankverbindung in Ordnung ist; ansonsten erfolgt
eine Fehlerrückmeldung, und der Datensatz wird nicht in die
DTAUS-Datei geschrieben. Sollte bei CreateFile
die eigene Bankverbindung bereits ungültig sein, wird die
DTAUS-Datei gar nicht erst erzeugt und kann daher auch nicht weiter
beschrieben werden
LBBW: Hier muß 0 angegeben
werden, da ausländische Bankverbindungen so nicht geprüft werden
können. |
| aDaysAhead | Integer | Normalerweise 0, damit
die Datei bei der Bank sofort bearbeitet wird. Soll die Datei
erst später bearbeitet werden (z.B. bei Terminüberweisungen),
ist hier die Anzahl der Tage anzugeben, die zwischen der Erstellung
der Datei und ihrer Bearbeitung liegen sollen (d.h. 1=morgen,
2=übermorgen usw.) |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
401: Es ist noch eine andere Datei von vorher geöffnet.
Diese muß erst geschlossen werden (mit
CloseFile), bevor eine neue Datei erzeugt werden kann
402: Der angegebene Typ ist nicht 1 (Gutschriften) oder 2 (Lastschriften)
403: Die eigenen Kontodaten sind unültig. Datei wurde nicht angelegt
404: Die Datei konnte vom Betriebssystem nicht angelegt werden
405: Die Datei wurde angelegt und kann beschrieben werden; allerdings ist beim Schreiben
des A-Satzes ein Fehler aufgetreten. Die Datei ist daher vermutlich von der Bank nicht auswertbar
LBBW: 406: Aus dem Kontobezeichnungsfeld
"aName" konnte
die Währung nicht herausgelesen werden. Die Datei wurde nicht angelegt. |
Diese Funktion legt eine neue DTAUS-Datei an (eine evtl. bereits
vorhandene Datei gleichen Namens wird dabei ungefragt überschrieben).
Bei allen Fehlern können Sie mit
KtoDtaus.GetLastError weitere Informationen
abrufen.
function KtoDtaus.WriteFile
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBlz | String | Bankleitzahl des Zahlungsempfängers/-pflichtigen
LBBW: Kann leer gelassen werden, dann wird
99935000 eingesetzt; ansonsten kann hier die Bankleitzahl des eigenen Hausbank-Kontos
angegeben werden. |
| aKto | String | Kontonummer des Zahlungsempfängers/-pflichtigen
LBBW: Kann leer gelassen werden, dann wird
das Füllzeichen "1111111111" eingesetzt; ansonsten kann hier die Kontonummer des
eigenen Hausbank-Kontos angegeben werden. |
| aName | String | Kontobezeichnung des Zahlungsempfängers/-pflichtigen
(maximal 54stellig; längere Namen werden nach 54 Zeichen abgeschnitten)
LBBW: Hier sind maximal 27 Zeichen zulässig. |
| aVerwend | String | Verwendungszweck der Überweisung/Lastschrift
(maximal 378stellig; längere Verwendungszwecke werden nach 378 Zeichen abgeschnitten)
LBBW: Der hier übergebene "Verwendungszweck"
wird in Teile zu je 27 Zeichen aufgebrochen. Die ersten 27 Zeichen ergeben den
tatsächlichen Verwendungszweck; jede weiteren 27 Zeichen ergeben den 1., 2., 3. usw.
Erweiterungsteil. Die Erweiterungsteile sind gemäß der LBBW-Spezifikation
für das jeweilige Land zu belegen (Kontonummer, Filiale, Bankleitzahl, Postleitzahl,
Bankname o.ä. des Schuldners). Die vorgeschriebenen Erweiterungsteil-Aufteilungen
sind durch Auffüllen der einzelnen Teile auf 27 Stellen genau einzuhalten! |
| aIntern | String | Ggf. interne Nummer (als String), die die einzelne
Buchung innerhalb der Datei kennzeichnet und die z.B. für Rückrufe benötigt wird |
| aTS | Integer | Textschlüssel (bezeichnet die Zahlungsart):
Bei Gutschriften:
51: "Normale" Überweisung
53: Lohn/Gehalt
54: Vermögenswirksame Leistung
56: Bezüge öffentlicher Kassen
Bei Lastschriften:
4: Abbuchungsauftrags-Lastschrift
5: Einzugsermächtigungs-Lastschrift |
| aTSE | Integer | Textschlüsselergänzung
(gibt zusätzliche Informationen zur Zahlungsart an); wird von
KONTOPRUEF unverändert und ohne weitere Prüfung in die
Datei geschrieben. I.d.R. ist hier 0 anzugeben; bei TS=54 geben Sie
hier bitte die Endziffer des Jahres an, für das die VL gezahlt wird
(also 4 für 2004). Evtl. andere zu benutzende Werte für dieses
Feld erfahren Sie bei Ihrer Bank |
| aBetrag | Windows: Currency | Betrag in EUR mit Cent-Nachkommastellen |
| Linux: unsigned long | Betrag in Cent (Ganzzahl ohne Nachkommastellen) |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
411: Es ist keine Datei geöffnet. Die Datei muß erst mit
CreateFile erzeugt werden
412: Der angegebene Textschlüssel paßt nicht zum Auftragstyp
413: Die angegebene Bankverbindung ist ungültig. Datensatz wurde nicht geschrieben
414: Datensatz konnte vom Betriebssystem nicht geschrieben werden.
Die Datei ist daher vermutlich von der Bank nicht auswertbar |
Diese Funktion schreibt einen Datzensatz in die (zuvor mit
CreateFile erzeugte) DTAUS-Datei.
Bei allen Fehlern können Sie mit
KtoDtaus.GetLastError weitere Informationen
abrufen.
function KtoDtaus.CloseFile
| Eingabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | 0: Ok
421: Es ist keine Datei geöffnet. Die Datei muß erst mit
CreateFile erzeugt werden
422: Die Datei wurde geschlossen, allerdings ist beim Schreiben
des E-Satzes ein Fehler aufgetreten. Die Datei ist daher vermutlich
von der Bank nicht auswertbar |
Diese Funktion schließt die Datei. Bei allen Fehlern können Sie mit
KtoDtaus.GetLastError weitere Informationen
abrufen.
function KtoDtaus.CheckFile
| Eingabeparameter |
| Name | Typ | Inhalt |
| aFileName | String | DTAUS-Datei, deren Bankverbindungen
geprüft werden sollen
Ab Datendatei 0442 kann man diese Funktion zuätzlich
verwenden, um Informationen über die gerade mit
KtoDtaus.CreateFile,
KtoDtaus.WriteFile und
KtoDtaus.CloseFile erzeugte Datei
zu erhalten (z.B. um daraus einen sog. "Diskettenbegleitzettel"
zu erzeugen). Dazu wird als Dateiname einer der folgenden speziellen
- normalerweise unmöglichen - Dateinamen übergeben:
*A liefert beim nächsten Aufruf von
KtoDtaus.GetLastError die Anzahl der
geschriebenen Datensätze in der DTAUS-Datei
*B liefert beim nächsten Aufruf von
KtoDtaus.GetLastError die Summe der
Beträge in der DTAUS-Datei
*C liefert beim nächsten Aufruf von
KtoDtaus.GetLastError die Summe der
Kontonummern in der DTAUS-Datei
*D liefert beim nächsten Aufruf von
KtoDtaus.GetLastError die Summe der
Bankleitzahlen in der DTAUS-Datei |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | -431:
Die angegebene Spezialfunktion (nach "*" im Dateinamen) existiert nicht
-3: Datei konnte nicht geöffnet werden
0: Es befinden sich keine fehlerhaften Bankverbindungen in der Datei
1..N: Es befinden sich so viele fehlerhafte Bankverbindungen in der Datei |
Diese Funktion prüft die Bankverbindungen in einer vorhandenen
DTAUS-Datei. Werden Fehler festgestellt, wird im Verzeichnis der
geprüften Datei eine gleichnamige Datei, nur mit dem Typ .out,
angelegt, in die die fehlerhaften Datensätze im Klartext geschrieben
werden. Beim Ergebnis "-3" können Sie mit
KtoDtaus.GetLastError die Fehlermeldung des Betriebssystems
abrufen. Mit einem Pseudo-Dateinamen, der mit "*" beginnt, können Informationen
über eine soeben geschriebene DTAUS-Datei abgerufen werden (ab Datendatei
Version 0442).
Nach oben
Mit diesem Modul können Sie die Swift-Website abfragen. Bitte beachten Sie, daß dies
eine relativ unsichere Funktion ist, da der Swift-Server lediglich eine
menschen- (und nicht maschinen-) -lesbare Antwortseite erzeugt, die von
KONTOPRUEF nach bestem Wissen und Gewissen ausgewertet wird - aber
falls sich das Format der Website einmal ändern sollte, kann es
passieren, daß KONTOPRUEF die Antwort nicht mehr auswerten
kann. Verwenden Sie diese Abfrage also bitte nicht in kritischen
Anwendungen als letzte Entscheidung, ob ein bestimmter BIC gültig
ist oder nicht!
procedure KtoSwift.SetProxy
| Eingabeparameter |
| Name | Typ | Inhalt |
| aHost | String | Name des Proxy-Servers |
| aPort | Integer | Portnummer des Proxy-Servers |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
Falls Sie für die Online-Abfrage einen Proxy-Server verwenden möchten
oder müssen, können Sie hier die nötigen Angaben machen. Es
wird nur dann ein Proxy-Server verwendet, wenn der angegebene Name nicht
leer ist und wenn der Port von 0 verschieden ist.
procedure KtoSwift.SetTimeout
| Eingabeparameter |
| Name | Typ | Inhalt |
| aTimeout | Integer | Timeout in Sekunden |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| - | - | - |
Hier können Sie einen maximalen Grenzwert für das Warten auf die
Antwort des Swift-Servers einstellen. Wenn der Server nicht in der angegebenen
Zeit antwortet, wird die Abfrage mit einem Fehlercode abgebrochen.
Wenn Sie diese Prozedur nie aufrufen, wird Ihr systemweit konfigurierter
Timeout-Wert verwendet.
function KtoSwift.TestBic
| Eingabeparameter |
| Name | Typ | Inhalt |
| aBic | String | Zu prüfender BIC (oder Anfang davon) |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | -200: Verbindung zum
Server kann nicht hergestellt werden
-300: Antwort des Servers ist nicht auswertbar
-1: Es gibt definitiv keine BICs, die mit dem angegebenen
Suchbegriff beginnen
0: Es gibt anscheinend BICs, die mit dem angegebenen Suchbegriff
beginnen, aber die Anzahl ist aus der Server-Antwort nicht auswertbar
1..N: Es gibt so viele BICs, die mit dem angegebenen Suchbegriff beginnen |
Übergibt den eingegebenen Begriff an die Suchfunktion des
Swift-Servers und wertet die Antwort aus. Bei Verbindungsproblemen
(Ergebnis "-200") können Sie mit KtoSwift.GetLastError
weitere Informationen erhalten.
Hinweis: Da der Swift-Server grundsätzlich nur nach
dem Anfang des eingegebenen Suchbegriffs sucht, kommt es in seltenen
Fällen vor, daß KONTOPRUEF als Ergebnis "1" liefert,
was eigentlich darauf hindeutet, daß der geprüfte BIC
gültig ist, aber trotzdem nicht stimmt (z.B. wird für
"PBNKDEFF76" das Ergebnis "1" gemeldet, weil es nur einen BIC
gibt, der mit "PBNKDEFF76" beginnt, nämlich "PBNKDEFF760" -
aber dadurch ist "PBNKDEFF76" natürlich kein gültiger
BIC). Wie oben bereits angemerkt, sollte das KONTOPRUEF-Ergebnis
eines solchen Tests also nicht als die endgültige Weisheit
betrachtet werden. Eine ergänzende Funktion, die eine Liste
aller gefunden BICs mit dem angegebenen Anfang zurückliefert,
ist in Vorbereitung - anhand einer solchen Liste kann man dann
die Eindeutigkeit eines bestimmten Suchbegriffs genau bestimmen.
Diese Funktion wird in einem der nächsten Updates enthalten
sein.
Nach oben
Mit diesem Modul können Sie die Anzahl der Arbeitstage
in einem bestimmten Monat, Quartal oder Jahr ermitteln.
function KtoArbeit.Arbeitstage
| Eingabeparameter |
| aYear | Integer | Gewüschtes Jahr (z.B. 2004) |
| aMonth | Integer | Einer der folgenden Werte:
1 bis 12: Monat
41 bis 44: Quartal
0: Gesamtes Jahr |
| aSaturdaysFlag | Integer | 0: Samstage zählen nicht
als Arbeitstage
1: Samstage zählen als Arbeitstage |
| aFeiertageSet | Integer | Angabe, welche Tage als
Feiertage gelten sollen (siehe unten) |
| Ausgabeparameter |
| Name | Typ | Inhalt |
| Funktionsergebnis | Integer | Anzahl der Arbeitstage
gemäß der angegebenen Parameter (bei ungültigen
Parametern, z.B. aMonth=13, wird -1 zurückgegeben -
ebenso bei 30% der Antworten der Demoversion) |
Ermittelt die Anzahl der Arbeitstage anhand der angegebenen Parameter. Für
die Angabe der Tage, die als Feiertage gelten sollen, zählen Sie die
Werte der folgenden Tage zusammen:
| Tag | Wert |
| Heilige drei Könige | 1 |
| Christi Himmelfahrt | 2 |
| Fronleichnam | 4 |
| Friedensfest | 8 |
| Mariä Himmelfahrt | 16 |
| Reformationstag | 32 |
| Allerheiligen | 64 |
| Allerseelen | 128 |
| Buß- und Bettag | 256 |
| Heiliger Abend | 512 |
| Silvester | 1024 |
|
Immer als Feiertag gelten:- Neujahr
- Karfreitag
- Ostermontag
- Tag der Arbeit
- Pfingstmontag
- Tag der deutschen Einheit
- 1. Weihnachtstag
- 2. Weihnachtstag
|
Nach oben
|