Package org.kapott.hbci.tools

# Class AnalyzeReportOfTransactions

java.lang.Object
org.kapott.hbci.tools.AnalyzeReportOfTransactions

public final class AnalyzeReportOfTransactions extends Object

Tool zum Abholen und Auswerten von Kontoauszügen, gleichzeitig Beispielprogramm für die Verwendung von HBCI4Java. Dieses Tool sollte nicht out-of-the-box benutzt werden, da erst einige Anpassungen im Quelltext vorgenommen werden müssen. Es dient eher als Vorlage, wie HBCI4Java im konkreten Anwendungsfall eingesetzt werden kann.

Die Methode `main(String[])` zeigt die Verwendung mit einem einzelnen Haupt- Thread. die Methode `main_multithreaded(String[])` skizziert die Implementierung für Anwendungen mit mehreren Threads.

Im Quelltext müssen folgende Stellen angepasst werden:

- Beim Aufruf der Methode `HBCIUtils.init()` wird der Name eines Property-Files angegeben, in welchem alle benötigten Kernel-Parameter aufgelistet sind. Diese Datei muss erst erzeugt (Kopieren und Anpassen von `hbci.props.template`) und der Dateiname beim Aufruf angepasst werden.

- Zum Festlegen des abzufragenden Kontos wird zurzeit automatisch das erste Konto benutzt, auf welches über HBCI zugegriffen werden kann. Ist diese Information nicht verfügbar (einige Banken senden keine Informationen über die verfügbaren Konten), oder soll eine andere Kontoverbindung benutzt werden, so sind entsprechende Änderungen bei der Initialisierung der Variablen `myaccount` vorzunehmen.

- Soll der Kontoauszug nur ab einem bestimmten Zeitpunkt (und nicht alle verfügbaren Daten) abgeholt werden, so ist beim Erzeugen des entsprechenden Auftrages das Startdatum einzustellen (im Quelltext zur Zeit auskommentiert).

- Außerdem ist im Quelltext Code zur eigentlichen Auswertung der Auszüge zu implementieren. In dieser Vorlage wird nur nach einer fest codierten Rechnungsnummer im Verwendungszweck gesucht. Der entsprechende Abschnitt im Quelltext ist den eigenen Bedürfnissen anzupassen.

Anschließend kann der Quelltext compiliert und mit

    java -cp ... org.kapott.hbci.tools.AnalyzeReportOfTransactions

gestartet werden.

Der Quellcode dieser Klasse zeigt die prinzipielle Benutzung von HBCI4Java. Wurde der HBCI-Zugang, der mit diesem Programm benutzt werden soll, noch nie verwendet, so werden alle benötigten Schritte zur Initialisierung der Zugangsdaten und Sicherheitsmedien automatisch von HBCI4Java durchgeführt. Es ist nicht nötigt, für die Initialisierung von "frischen" Sicherheitsmedien speziellen Code in die HBCI-Anwendung einzubauen -- die entsprechenden Aktionen werden automatisch und völlig transparent von HBCI4Java durchgeführt. Das hat den Vorteil, dass jede beliebige Anwendung, die HBCI4Java als HBCI-Bibliothek benutzt, gleichzeitig zum Initialisieren von HBCI-Sicherheitsmedien benutzt werden kann, ohne dass dafür spezieller Programmcode nötig wäre. Außerdem wird dadurch sichergestellt, dass nur initialisierte und funktionierende HBCI-Sicherheitsmedien benutzt werden (weil HBCI4Java beim Laden eines Sicherheitsmediums automatisch entsprechende Überprüfungen vornimmt).

## Constructor Summary

Constructors
Constructor
Description
`AnalyzeReportOfTransactions()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`main(String[] args)`
`static void`
`main_multithreaded(String[] args)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AnalyzeReportOfTransactions

public AnalyzeReportOfTransactions()

## Method Details

### main

public static void main(String[] args) throws Exception

Throws:
  `Exception`

### main_multithreaded

public static void main_multithreaded(String[] args) throws Exception

Throws:
  `Exception`