Überblick
Kurzbeschreibung
Das MT940-Nuclet bietet die Möglichkeit
elektronische Kontoauszüge, die im MT940-Format vorliegen, automatisiert einzulesen
die eingelesenen Daten in eine Struktur von Nuclos-Entitäten zu übertragen
die Bankumsätze anhand des Verwendungszwecks automatisch anderen Entitäten (je nach Anwendungszweck, bspw. Ihren Rechnungen) zuzuorden
Nuclet-Bestandteile
Das MT940-Nuclet umfasst im Rahmen der .nuclet-Datei
sieben Entitäten (für Kontoauszüge, Bankumsätze und diverse Stammdaten),
sechs Layouts,
ein Statusmodell (für Bankumsätze),
diverse Java-Regeln (verteilt auf Packages),
eine Jobsteuerung (zur Steuerung des Import-Jobs),
drei Strukturdefinitionen (für den Import von Stammdaten) und
zwei Nuclet-Abhängigkeiten.
Darüberhinaus werden in der ZIP-Datei folgende Komponenten mitgeliefert:
drei CSV-Dateien für Objektimporte sowie
zwei MT940-Beispieldateien mit Kontauszügen.
Typ | Name, englisch | Name, deutsch | Kurzbeschreibung |
---|---|---|---|
Entität | Bank Statement | Kontoauszug |
|
| Bank Transaction | Bankumsatz |
|
| Bank Transaction Type | Bankgeschäftsvorfall |
|
| Banking Business Line | Bankgeschäftssparte |
|
| Debit/Credit Mark | Soll-Haben-Kennung |
|
| MT940 Reference | MT940-Referenz |
|
| Bank Transaction Ref | Referenz-2-Bankumsatz |
|
Layout | Bank Statement |
| Layout für Entität „Bank Statement“ |
| Bank Transaction |
| Layout für Entität „Bank Transaction“ |
| Bank Transaction Type |
| Layout für Entität „Bank Transaction Type“ |
| Banking Business Line |
| Layout für Entität „Banking Business Line“ |
| Debit/Credit Mark |
| Layout für Entität „Debit/Credit Mark“ |
Statusmodell | Bank Transaction |
| Statusmodell für die Entität „Bank Transaction“ |
Java-Package | org.nuclet.mt940.job |
| Java-Regeln zur Steuerung von Jobs („Jobsteuerung“) |
| org.nuclet.mt940.logic |
| Geschäftslogik |
| org.nuclet.mt940.parser |
| MT940-Parserfunktionalität |
| org.nuclet.mt940.rule |
| Steuerung von Insert-/Update-/Delete-Events |
Jobsteuerung | MT940 Import |
| Fristenjob für den automatisierten MT940-Import |
Strukturdefinition | Bank Transaction Type |
| Importstruktur für Entität „Bank Transaction Type“ |
| Banking Business Line |
| Importstruktur für Entität „Banking Business Line“ |
| Debit/Credit Mark |
| Importstruktur für Entität „Debit/Credit Mark“ |
Nuclet-Abhängigkeit | org.nuclet.Common |
| allgemeine Helferfunktionalität |
| org.nuclet.Currency |
| Währungs-Nuclet mit EZB-Schnittstelle |
Objektimporte | Banking_Business_Line.csv |
| Stammdatensätze für Entität „Banking Business Line“ |
| Bank_Transaction_Type.csv |
| Stammdatensätze für Entität „Bank Transaction Type“ |
| Debit_Credit_Mark.csv |
| Stammdatensätze für Entität „Debit/Credit Mark“ |
Beispieldateien | Kontoauszug_001.sta |
| MT940-Importbeispiel |
| Kontoauszug_002.sta |
| MT940-Importbeispiel |
Tabelle 1: Nuclet-Bestandteile
Java-Package-Struktur
Die Java-Regeln sind in drei Packages unterteilt:
Regeln für maskengesteuerte Events (org.nuclet.mt940.rule)
Regeln zur Steuerung von System-Jobs (org.nuclet.mt940.job)
Regeln für die Geschäftslogik (org.nuclet.mt940.logic)
Regeln zum Einlesen und Verarbeiten von MT940-Dateien (org.nuclet.mt940.parser)
Die Abhängigkeiten der Packages sind in der folgenden Abbildung veranschaulicht.
In dreien dieser vier Java-Packages stellt eine abstrakte Java-Klasse die Basisfunktionalität über die deklarierten und (größtenteils) definierten Methoden. Die Import-Prozesse sind entlang der vordeklarierten Methoden dieser abstrakten Klassen festgelegt und bedürfen für den normalen Anwendungsfall keiner weiteren Anpassung.
Java-Package | abstrakte Klassen | konkrete Implementierungen |
org.nucket.mt940.job | AbstractMT940Importer | MT940Importer |
org.nuclet.mt940.logic | AbstractMT940Logic | MT940Logic |
org.nuclet.mt940.parser | AbstractMT940Parser | MT940Parser, MT940SparkasseParser |
org.nuclet.mt940.rule | - | - |
Tabelle 2: Java-Package-Struktur
Anwendungsspezifische Anpassungen sollten nur umgesetzt werden, entweder
in den konkreten, bereits vorhandenen, Klassen (siehe Tabelle) oder
durch neue, eigene konkrete Implementierungen
Das Package org.nuclet.mt940.parser enthält die Klasse MT940SparkasseParser, die bereits dezidiertes Verhalten für von Sparkassen gelieferte MT940-Dateien zur Verfügung stellt. Die zweite konkrete Implementierung innerhalb dieses Packages ist die Klasse MT940Parser, die über die Basisfunktionalität des AbstractMT940Parser hinaus kein zusätzliches Verhalten mitbringt. Für MT940-Dateien, die von anderen Kreditinstituten erstellt werden, müsste die Klasse MT940Parser (oder eine eigene, konkrete Implementierung des AbstractMT940Parser) ggf. mit bankspezifischem Verhalten gefüllt werden.
Das MT940-Nuclet ist zur Zeit derart konfiguriert, dass das allgemeingültige Verhalten genutzt wird. Die Initialisierung des Parsers erfolgt im Konstruktur der Klasse org.nuclet.mt940.job.MT940Importer und könnte dort jederzeit auf das sparkassenspezifische Verhalten oder eine eigene Implementierung umdirgiert werden.