Inhalt dieser Seite:
Für eine Beschreibung der URL-Parameter und der Ergebnisfelder sehen Sie bitte auf der Seite über den WDDX-Server nach. Falls Sie das COM-Objekt HanftWddx.KtoPruef unter Windows installiert haben, stehen Ihnen darin folgende Funktionen zur Verfügung:
Obiges ist eine symbolische Schreibweise; in ASP, MS-Access oder Visual Basic etc. sieht der tatsächliche Aufruf ungefähr wie folgt aus:
Dim KtoPruef as Variant Set KtoPruef = CreateObject("HanftWddx.KtoPruef") KtoPruef.SetProxy("mein.proxy.de", 3128) ' nur falls benötigt KtoPruef.TestBlzKto("Ihr Benutzername","Ihr Passwort","Bankleitzahl","Kontonummer") ErgebnisAlsZahl = KtoPruef.Result ErgebnisAlsText = KtoPruef.Resulttext ErgebnisBankName = KtoPruef.BankName
Für eine Beschreibung der URL-Parameter und der Ergebnisfelder sehen Sie bitte auf der Seite über den WDDX-Server nach. Falls Sie das COM-Objekt HanftWddx.Address unter Windows installiert haben, stehen Ihnen darin folgende Funktionen zur Verfügung:
Obiges ist eine symbolische Schreibweise; in ASP, MS-Access oder Visual Basic etc. sieht der tatsächliche Aufruf ungefähr wie folgt aus:
Dim myAddress as Variant Set myAddress = CreateObject("HanftWddx.Address") myAddress.SetProxy("mein.proxy.de", 3128) ' nur falls benötigt myAddress.Check("Ihr Benutzername","Ihr Passwort","Postleitzahl","Ortsname") ErgebnisAlsZahl = myAddress.Result ErgebnisAlsText = myAddress.Resulttext if ErgebnisAlsZahl = 4 then ' Ortsliste übernehmen (Anzahl in .Orte[0]) i = 1 while myAddress.Orte[i] <%gt; "" ' noch ein Ort ErgebnisOrte[i] = myAddress.Orte[i] i = i + 1 wend endif
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:
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:
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aErrorCode | Integer | Fehlernummer dieses Objekts |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Fehlernummer im Klartext |
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Ggf. zusätzliche Informationen zum zuletzt aufgetretenen Fehler |
Hier nun die speziellen Prozeduren und Funktionen der einzelnen Objekte:
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:
Die Datendateien und -pakete werden stets ohne Verzeichnisangabe verwendet. Die Verzeichnisse werden unter Windows bzw. unter Linux unterschiedlich festgelegt:
[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 |
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 |
procedure KtoUpdate.SetProxy
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aHost | String | Name des Proxy-Servers |
aPort | Integer | Portnummer des Proxy-Servers |
Ausgabeparameter | ||
Name | Typ | Inhalt |
- | - | - |
procedure KtoUpdate.SetTimeout
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aTimeout | Integer | Timeout in Sekunden |
Ausgabeparameter | ||
Name | Typ | Inhalt |
- | - | - |
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 |
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 |
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 |
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 |
Hinweis: Alle Bank.KtoUpdate-Funktionen können im laufenden Betrieb aufgerufen werden!
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Versionsangaben |
function KtoPruef.GetVersionExtended
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Erweiterte Versionsangaben |
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 |
function KtoPruef.TestIban
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Zu prüfende IBAN |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | Integer | 0: Ok 13: Prüfzifferfehler |
function KtoPruef.TestCC
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | 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 |
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 |
function KtoPruef.GetBankName58
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Name der Bank, maximal 58 Zeichen lang |
function KtoPruef.GetBankName20
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Name der Bank, maximal 20 Zeichen lang |
function KtoPruef.GetBankName27
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Name der Bank, maximal 27 Zeichen lang |
function KtoPruef.GetBankPlz
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Postleitzahl der Bank |
function KtoPruef.GetBankOrt
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Ort der Bank |
function KtoPruef.GetFirstBank
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Bankleitzahl der ersten Bank in der momentan aktivierten Datendatei |
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Bankleitzahl der nächsten Bank in der momentan aktivierten Datendatei |
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 |
function KtoPruef.GetNextMatch
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
- | - | - |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | String | Bankleitzahl der nächsten Bank, die die Suchkriterien erfüllt |
Veraltete Interfaces:
Momentan nur für Windows; für Linux in Kürze!
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. Geplant ist außerdem eine Implementierung eines speziellen mySQL-Treibers für Windows und Linux (spätestens bis Ende des Jahres). Unter Windows können Sie jedoch bereits jetzt mySQL-Datenbanken verwenden, wenn Sie den ODBC-Treiber für mySQL installieren und in KTOPRUEF 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 CHAR(8) NOT NULL, KONTO VARCHAR(10) 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).
Neben den allgemeinen beiden Fehlerfunktionen gibt es nur eine einzige spezifische Funktion:
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aDatabaseType | Integer | 0: ODBC 1: MS-SQL 2: mySQL (zukünftig) |
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) |
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 |
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 |
Mit dem Parameter aTranslation können beliebige "Non-Swift"-Auszüge in ein geeignetes Format konvertiert werden. Normalerweise geht KTOPRUEF 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:
Mit dem KtoDtaus-Objekt lassen sich DTAUS-Dateien sowohl erzeugen als auch prüfen.
Die Funktionen im einzelnen:
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aFileName | String | Datei, in die die DTAUS-Datei geschrieben werden soll |
aBlz | String | Eigene Bankleitzahl |
aKto | String | Eigene Kontonummer |
aName | String | Kontobezeichnung des eigenen Kontos (maximal 54stellig; längere Namen werden nach 54 Zeichen abgeschnitten) |
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) |
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 KTOPRUEF 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 |
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 |
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aBlz | String | Bankleitzahl des Zahlungsempfängers/-pflichtigen |
aKto | String | Kontonummer des Zahlungsempfängers/-pflichtigen |
aName | String | Kontobezeichnung des Zahlungsempfängers/-pflichtigen (maximal 54stellig; längere Namen werden nach 54 Zeichen abgeschnitten) |
aVerwend | String | Verwendungszweck der Überweisung/Lastschrift (maximal 378stellig; längere Verwendungszwecke werden nach 378 Zeichen abgeschnitten) |
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 KTOPRUEF 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 |
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 |
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aFileName | String | DTAUS-Datei, deren Bankverbindungen geprüft werden sollen |
Ausgabeparameter | ||
Name | Typ | Inhalt |
Funktionsergebnis | Integer | -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 |
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 KTOPRUEF nach bestem Wissen und Gewissen ausgewertet wird - aber falls sich das Format der Website einmal ändern sollte, kann es passieren, daß KTOPRUEF 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 |
- | - | - |
procedure KtoSwift.SetTimeout
Eingabeparameter | ||
---|---|---|
Name | Typ | Inhalt |
aTimeout | Integer | Timeout in Sekunden |
Ausgabeparameter | ||
Name | Typ | Inhalt |
- | - | - |
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 |
Hinweis: Da der Swift-Server grundsätzlich nur nach dem Anfang des eingegebenen Suchbegriffs sucht, kommt es in seltenen Fällen vor, daß KTOPRUEF 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 KTOPRUEF-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.
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) |
|
Immer als Feiertag gelten:
|