Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Seit einigen Monaten haben im Bankwesen die alten Kontonummern und Bankleitzahlen ausgedient – IBAN und BIC lauten heute in der Bank die Zauberworte. Für FileMaker-Entwickler bedeutet das, neue Funktionen in Bezug auf die IBAN und BIC in ihre FileMaker-Lösungen zu implementieren. Für die Berechnung einer IBAN aus einer Bankleitzahl und Kontonummer stehen im Internet bereits einige Custom Functions zur Verfügung. Aufgrund nicht unwesentlicher Sonderfälle bei der Berechnung einer IBAN kann man sich mit einer reinen Formel jedoch nicht immer sicher sein, dass die IBAN auch tatsächlich korrekt berechnet wurde. Aus diesem Grund kann es sinnvoll sein, die berechnete IBAN online auf Plausibilität zu überprüfen, um nicht möglicherweise eine falsche IBAN zu berechnen und zu speichern. In diesem Artikel zeigen wir, wie sich über den Dienst iban-test.de mit der bereitgestellten API eine IBAN direkt in FileMaker online prüfen lässt. Die im Artikel gezeigte Beispieldatei kann am Ende des Artikels im fmp12-Format heruntergeladen werden. Für den API-Zugang nutzt die Beispieldatei Funktionen des MBS FileMaker Plugins.
Um eine IBAN über die API von iban-test.de prüfen zu können, benötigen wir zunächst einen entsprechenden Autorisierungscode für die API. Rufen Sie dazu in Ihrem Web-Browser die Seite iban-test.de auf und klicken Sie in der Navigationsleiste auf die Schaltfläche [API].
Geben Sie in der linken Spalte nun Ihren Namen, E-Mail-Adresse, Website und die Nutzungsart ein. Nach Klick auf die Schaltfläche [API-Schlüssel erstellen] öffnet sich ein neues Fenster, das Ihren Auth-Code für die API enthält. Kopieren Sie den Code am Besten in einen Texteditor und speichern Sie die Datei ab.
Die API von iban-test.de kann über eine gewöhnliche HTTP GET/POST Anfrage angesprochen werden. In diesem Schritt erstellen wir ein Teilscript, das als Script-Parameter eine IBAN annimmt und als Ergebnis eine 1 (gültig) oder eine 0 (ungültig) zurückgibt. In unserer Beispieldatei wird am Ende des Scriptes ein Dialog eingeblendet, der anzeigt, ob die eingetragene IBAN gültig oder ungültig ist.
Fehleraufzeichnung setzen [Ein]
# Script-Parameter: IBAN
Variable setzen [$iban; Wert:Hole(ScriptParameter)]
Variable setzen [$authcode; Wert:ibancheck::Authcode]
Variable setzen [$type; Wert:ibancheck:type]
#
Variable setzen [$r; Wert:MBS("Trace")]
# Transfer vorbereiten
Variable setzen [$authcode; Wert:MBS("StringEncodeURLComponent"; $authcode; "utf8")]
Variable setzen [$type; Wert:MBS("StringEncodeURLComponent"; $type; "utf8")]
Variable setzen [$iban; Wert:MBS("StringEncodeURLComponent"; $iban; "utf8")]
Variable setzen [$curl; Wert:MBS("CURL.New")]
Variable setzen [$result; Wert:MBS("CURL.SetOptionpost"; $curl; 1)]
Variable setzen [$result; Wert:MBS("CURL.SetOptionVerbose"; $curl; 1)]
Variable setzen [$result; Wert:MBS("CURL.SetOptionURL"; "http://www.iban-test.de/api.php")]
# Input-Parameter setzen
Variable setzen [$content; Wert:"authcode=" & $authcode & "&" & "type=" & $type & "&" & "iban=" & $iban]
Variable setzen [$content; Wert:MBS("String.ReplaceNewline"; $content; 2 )]
Variable setzen [$result; Wert:MBS("CURL.SetOptionPostFields"; $curl; $content)]
# Transfer starten
Variable setzen [$result; Wert:MBS("CURL.Perform"; $curl)]
# Ergebnisprüfung
Variable setzen [$debugText; Wert:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl); 1)]
Variable setzen [$resultText; Wert:MBS("String.ReplaceNewline"; MBS("GetResultAsText"; $curl); 1)]
Variable setzen [$r; Wert:MBS("CURL.Cleanup"; $curl); 1)]
Variable setzen [$ergebnis; Wert:Wenn(MusterAnzahl($resultText; "200") > 0; 1; 0)]
Variable setzen [$ergebnistext; Wert:Wenn($ergebnis=0; "ungültig"; "gültig")]
# Testdialog
Eigenes Dialogfeld anzeigen ["IBAN" & $ergebnistext; "Die eingetragene IBAN ist " & $ergebnistext
Das Script nimmt zunächst die IBAN als Script-Parameter an. Um eventuelle Leerzeichen innerhalb der IBAN zu verhindern, ist es empfehlenswert, noch den Befehl Austauschen($iban; “ „; „“) hinzuzufügen.
Die Felder Authcode und Type werden aus dem Layout der Beispieldatei entnommen – bevor Sie die Funktion testen, müssen Sie also zunächst Ihren Authcode in das entsprechende Feld eintragen, den Sie auf der Website von iban-test.de angefordert haben. Als Type lassen Sie bitte den vorgegebenen Wert check stehen. Als weiterer Typ steht übrigens die Funktion create zur Verfügung, mit der unter Angabe der Bankleitzahl (&blz=), der Kontonummer (&ktn=) und des Ländercodes ($cc=) auch eine IBAN berechnen lässt. Die Vorgehensweise ist dabei die gleiche wie in unserer Beispieldatei, mit dem Unterschied, dass statt der IBAN die drei genannten Parameter mitgeliefert werden müssen.
Im Programmteil Transfer vorbereiten werden die drei Parameter in die korrekte Form gebracht und die Abfrage-URL gesetzt. In unserem Beispiel wurde die URL
http://www.iban-test.de/api.php
fest in das Script integriert – sie kann selbstverständlich auch dynamisch aus einem Feld bezogen werden.
In den Teilen Input-Parameter setzen und Transfer starten werden die Parameter zusammengesetzt, die Felder übertragen und der Transfer gestartet. In der Ergebnisprüfung wird überprüft, ob der Ergebniscode 200 für eine gültige IBAN lautet oder ungültig ist.
In unserer Beispieldatenbank haben wir einen Test-Dialog eingefügt, der anzeigt, ob die eingetragene IBAN gültig oder ungültig ist.
In unserem Beispielscript befindet sich als letzte Zeile der Befehl
Aktuelles Script verlassen [Ergebnis: $ergebnis]
Dieser Befehl wird für unsere Beispieldatei nicht benötigt. Wenn Sie das enthaltene Script jedoch in Ihre Lösung integrieren, ist es empfehlenswert, es als Teilscript zu integrieren, das als Wert zurückliefert, ob die gelieferte IBAN gültig ist oder nicht. Vergessen Sie bitte bei der Integration nicht, den Beispieldialog zu entfernen ;-)
Diese Lösung verwendet CURL-Funktionen des MBS FileMaker Plugin. Tipp: Bis zum 30. April ist das MBS FileMaker Plugin im Rahmen des 20. Jubiläums beim K&K Verlag (FileMaker Magazin) in Hamburg zu vergünstigten Preisen erhältlich. Weitere Informationen zum MBS FileMaker Plugin finden sie auf der Website des Herstellers.
Scripte lassen sich einfach über die Zwischenablage von einer FileMaker-Lösung in eine andere Lösung übertragen. Öffnen Sie einfach den Dialog Scripts verwalten, markieren Sie das gewünschte Script mit der Maus und kopieren Sie das Script in die Zwischenablage per Menü [Bearbeiten – Kopieren] oder Tastenkombination [Strg/Cmd-C]. Öffnen Sie daraufhin in der Ziel-Lösung den gleichen Dialog und fügen das zuvor kopierte Script einfach per Menübefehl [Bearbeiten – Einfügen] wieder ein.
Tabellen können auf mehrere Arten in eine bestehende Lösung eingefügt werden. Der einfachste Weg ist der Import der Tabelle über die Schaltfläche [Importieren…] im Dialog Datenbank verwalten. In einem nachfolgenden Dialog können dann alle Tabellen ausgewählt werden, die aus der Quell-Lösung importiert werden sollen. Diese Methode eignet sich also besonders, wenn mehrere Tabellen gleichzeitig importiert werden sollen. Soll nur eine Tabelle importiert werden, kann dies wie ein Script auch über die Zwischenablage erfolgen. Soll eine Tabelle samt Daten importiert werden, kann dies mit dem Befehl [Ablage/Datei > Datensätze importieren > Datei] erfolgen. Im Import-Dialog muß dann als Zieltabelle Neue Tabelle angegeben werden.
Wertelisten können einfach über die Zwischenablage von einer FileMaker-Lösung in eine andere Lösung importiert werden. Öffnen Sie einfach den Dialog unter [Ablage/Datei > Verwalten > Wertelisten], markieren Sie die gewünschte Werteliste mit der Maus und kopieren Sie die Werteliste in die Zwischenablage per Menü [Bearbeiten – Kopieren] oder Tastenkombination [Strg/Cmd-C]. Öffnen Sie daraufhin in der Ziel-Lösung den gleichen Dialog und fügen die zuvor kopierte Werteliste per Menübefehl [Bearbeiten – Einfügen] wieder ein.
Klicken Sie im Dialog [Ablage/Datei > Verwalten > Eigene Funktionen…] auf die Schaltfläche [Importieren] und wählen daraufhin die Beispieldatei aus. Wählen Sie im nachfolgenden Dialog die gewünschten eigenen Funktionen aus und bestätigen den Dialog. Bitte beachten Sie, daß diese Funktion nur in FileMaker Pro Advanced, nicht jedoch in FileMaker Pro zur Verfügung steht.
Monkeybread Software hat das beliebte MBS FileMaker Plugin in Version 5.0 veröffentlicht, das nun über mehr als 3.000 Funktionen verfügt. Mit der neuen HotKey-Funktion kann der Nutzer Tastenkombinationen festlegen, die Scripte in FileMaker starten, auch wenn sich die FileMaker-Lösung im Hintergrund befindet. Die MountNotification Funktion erlaubt die Ausführung von Scripten beim…
Monkeybread Software hat die neue Version 6.3 des MBS FileMaker Plugin veröffentlicht, das inzwischen über mehr als 4.000 Funktionen verfügt. In der neuen Version stehen ab sofort SSH-Funktionen zur Verfügung, mit denen sichere Verbindungen zu entfernten Servern über das Secure Shell Protokoll möglich sind. Die Authentifizierung am jeweiligen Server erfolgt dabei…
MonkeyBread Software veröffentlicht heute das FileMaker MBS Plugin 4.2, das mit inzwischen mehr als 2.500 Funktionen eines der größten FileMaker-Plugins darstellt. Die neue Version stellt unter anderem eine neue Schaltfläche im Script-Editor zur Verfügung, mit der Scripte mit Formatierungen in die Zwischenablage kopiert und in anderen Anwendungen weiter verwendet werden…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
Das erinnert mich an die guten alten Zeiten, in denen wir Listings für den C=64 abgetippt haben. Vielen Dank für den Artikel und die Beispieldatei :-)
Hallo und guten Tag,
ich teste dieses Script gerade und erhalte bei jeder IBAN ein „ungültig“ zurück. Ist das Script noch aktuell?
Hier müßten Sie ggf. überprüfen, ob die Schnittstelle des Anbieters noch aktuell ist oder evtl. zwischenzeitlich geändert wurde.