Package org.kapott.hbci.tools

# Class ShowLowlevelGVs

java.lang.Object
org.kapott.hbci.tools.AbstractShowLowlevelData
org.kapott.hbci.tools.ShowLowlevelGVs

public class ShowLowlevelGVs extends AbstractShowLowlevelData

Dieses Tool dient zum Anzeigen der Struktur von HBCI-Job-Parametern für das Erzeugen von Lowlevel-Jobs. Diese Struktur wird benötigt, wenn Jobs über das Lowlevel-Interface zum Erzeugen und Parametrisieren von Jobs erzeugt werden. Eine Erklärung des Unterschieds zwischen High- und Lowlevel-Schnittstelle befindet sich in der Dokumentation des Packages `org.kapott.hbci.GV`.

Der Aufruf erfolgt durch

    java org.kapott.hbci.tools.ShowLowlevelGVs [hbciversion]

Ist keine `hbciversion` angegeben, so wird diese über STDIN erfragt.

Das Tool gibt eine baumartige Struktur aus, welche die Lowlevelnamen der Geschäftsvorfälle sowie die Bezeichnungen für die dazugehörigen Lowlevel-Parameter enthält. Die Struktur für einen Datensatz beginnt immer mit einer Zeile

    jobname:JOBNAME version:VERSION

Dabei ist VERSION die Versionsnummer des Lowlevel-Jobs JOBNAME, auf die sich die folgende Strukturbeschreibung bezieht. Die Strukturbeschreibung für einen Job endet bei der nächsten Zeile mit diesem Format bzw. am Ende der Ausgabe.

In den eigentlichen Beschreibungszeilen können Zeilen im Format

    GROUP:GROUPNAME {MIN,MAX}

folgen. Damit wird beschrieben, dass jetzt eine Gruppe von zusammengehörigen Jobparametern folgt. Eine solche Gruppe muss mindestens MIN und darf höchstens MAX mal als Lowlevel-Parameter auftreten. Alle Zeilen, die nicht mit `GROUP:` beginnen, haben das Format

    LOWLEVELNAME:DATENTYP {MIN,MAX}

LOWLEVELNAME ist dabei der Lowlevelname eines Parameters, wie er beim Setzen von Parametern mit `HBCIJob.setParam(String,String)` benutzt werden kann. DATENFORMAT ist dabei eine Kurzbezeichnung für den Datentyp, den dieser Parameter annehmen kann. MIN und MAX geben an, wie oft dieser Parameter (in seiner Gruppe) mindestens bzw. höchstens auftauchen darf.

Folgende Datentypen gibt es zur Zeit:

- `AN` - alphanumerische Daten (Strings)
- `Bin` - binäre Daten (meist in einem Fremdformat)
- `Code` - wie `AN`
- `Ctr` - Länderkennzeichen (meist "DE")
- `Cur` - Währungskennzeichen (meist "EUR")
- `DTAUS` - Daten im DTAUS-Format (alphanumerische Daten im DTAUS-Zeichensatz)
- `Date` - Datumsangaben (in einem Locale-typischen Format)
- `Dig` - nur Ziffern (führende Nullen erlaubt)
- `ID` - wie `AN`
- `JN` - nur "J" oder "N" (für JA bzw. NEIN) - entspricht also Boolean
- `Num` - ganzzahliger numerischer Wert ohne führende Nullen
- `Time` - Zeitangabe in einem Locale-typischen Format
- `Wrt` - Angaben von Double-Werten im Format ab.cd (keine Exp.-Schreibweise!)

Innerhalb einer Anwendung kann mit der Methode `HBCIHandler.getSupportedLowlevelJobs()` eine Liste aller unterstützten Lowlevel-Jobs in Erfahrung gebracht werden. Zusätzlich gibt diese Methode zu jedem Jobnamen die Versionsnummer zurück, welche für diesen Job von HBCI4Java benutzt werden wird (das hängt von der aktuellen HBCI-Version und dem benutzten Passport ab, kann von außen also nicht direkt beeinflusst werden). In der Ausgabe dieses Tool kann nun nach einem bestimmten Lowlevelnamen eines Jobs und der von HBCI4Java dafür verwendeten Versionsnummer gesucht werden. Ist der entsprechende Eintrag gefunden, so hat man eine Übersicht über alle möglichen Lowlevel-Jobparameter und wie oft diese auftreten müssen bzw. dürfen. Die gleiche Übersicht erhält man übrigens, wenn man innerhalb der Anwendung die Methode `HBCIHandler.getLowlevelJobParameterNames(String)` aufruft, allerdings fehlen in der Ausgabe dieser Methode die Informationen über die möglichen Häufigkeiten der einzelnen Parameter, dafür wird hier automatisch die richtige Versionsnummer des Jobs ausgewählt.

## Constructor Summary

Constructors
Constructor
Description
`ShowLowlevelGVs()`

## Method Summary

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

### Methods inherited from class org.kapott.hbci.tools.AbstractShowLowlevelData

`displayContentRef, pathWithDot, showData, showData`

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

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

## Constructor Details

### ShowLowlevelGVs

public ShowLowlevelGVs()

## Method Details

### main

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

Throws:
  `Exception`