-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.html
649 lines (605 loc) · 53.6 KB
/
api.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
<html><body>
<p>Dieses Package enthält alle Klassen zur internen Repräsentation von
(Highlevel-)Jobs. Die einzige Klasse, die als Schnittstelle zu HBCI-Jobs
innerhalb einer Anwendung benötigt wird, ist die Klasse
<a href="HBCIJob.html"><code>HBCIJob</code></a>.</p>
<p>Beim Festlegen von auszuführenden Jobs werden <em>Highlevel-Jobs</em>
und <em>Lowlevel-Jobs</em> unterschieden. Diese Unterscheidung hat nichts
mit der Art der Jobs an sich zu tun, sondern mit der Art und Weise, wie
sie spezifiziert und parametrisiert werden können:</p>
<p>Alle von <em>HBCI4Java</em> unterstützten Jobs liegen in einer internen
Beschreibungssprache vor (XML). Diese Sprache ist eng an die
Beschreibung der Geschäftsvorfälle aus der HBCI-Spezifikation gekoppelt.
In ihr ist jedem unterstützten Job ein <em><b>Lowlevel-Jobname</b></em> zugeordnet,
der den Job eindeutig identifiziert. Zu jedem Job gibt es eine bestimmte Anzahl
von Parametern, die zur Ausführung dieses Jobs benötigt werden (z.B. Kontoverbindungen,
Geldbeträge, usw.). Jeder dieser Parameter hat dabei einen <em><b>Lowlevel-Parameternamen</b></em>.
Dieser Lowlevel-Parametername stammt aus dem internen Beschreibungsformat des Jobs
und ist teilweise sehr aufwändig zu schreiben (weil sehr lang) und schlecht zu merken
(weil softwareorientiert).</p>
<p>Um die Arbeit mit häufig benutzten Jobs zu vereinfachen, wurden für die meisten
Jobs <em><b>Highlevel-Frontends</b></em> entwickelt. Dabei handelt es sich <em>HBCI4Java</em>-intern
um separate Klassen, die jeweils für bestimmte Lowlevel-Jobs zuständig sind. Die meisten
Jobs können und sollten also über ihre Highlevel-Schnittstelle erzeugt und parametrisiert
werden. Dazu gibt es für jeden Job, der durch die Highlevel-Schnittstelle unterstützt wird,
einen <em><b>Highlevel-Jobnamen</b></em>. Außerdem gibt es für die benötigten Job-Parameter entsprechende
<em><b>Highlevel-Parameternamen</b></em>. Diese sind zum einen kürzer als die Lowlevel-Parameternamen,
außerdem sind sie intuitiver und leichter zu merken.</p>
<p>Beim Erzeugen von Jobs sollte also immer dem Highlevel-Interface der Vorzug gegeben werden,
sofern es für den jeweiligen Job eine solche Schnittstelle gibt. Die Jobs, für die eine
Highlevel-Schnittstelle existiert, sind unten aufgelistet. Prinzipiell kann natürlich jeder
Job auch über die Lowlevel-Schnittstelle erzeugt und ausgewertet werden. Eine Liste aller
Lowlevel-Jobs und deren Parameter erhält man mit den Tools
<a href="../tools/ShowLowlevelGVs.html">ShowLowlevelGVs</a> bzw.
<a href="../tools/ShowLowlevelGVRs.html">ShowLowlevelGVRs</a> oder zur Laufzeit durch die
Verwendung der Methoden <code>getLowlevel*</code> der
<a href="../manager/HBCIHandler.html"><code>HBCIHandler</code></a>-Klasse. Da es zur
Zeit nicht für alle Lowlevel-Jobs entsprechende Klassen für die Highlevel-Unterstützung
gibt, sollten diese Methoden benutzt werden, um zu überprüfen, ob ein bestimmter
Job <em>gar nicht</em> oder nur nicht per Highlevel-Interface unterstützt wird.</p>
<p>Folgende Unterschiede existieren also zwischen High- und Lowlevel-Jobs:</p>
<table border="1" cellpadding="10" rules="rows">
<tr valign="top"><th></th><th>Highlevel-Interface</th><th>Lowlevel-Interface</th></tr>
<tr valign="top">
<td><b>Erzeugen des Jobs</b></td>
<td><code>HBCIHandler.newJob(HighlevelName)</code><br/>
Eine Liste gültiger HighlevelNamen befindet sich in dieser Beschreibung weiter unten</td>
<td><code>HBCIHandler.newLowlevelJob(LowlevelName)</code><br/>
Eine Liste gültiger LowlevelNamen erhält man zur Laufzeit durch
<code>HBCIHandler.getSupportedLowlevelGVs()</code> bzw. offline mit dem Tool
<code>ShowLowlevelGVs</code>.</td></tr>
<tr valign="top">
<td><b>Setzen von Parametern</b></td>
<td><code>HBCIJob.setParam(HLparamName,...)</code><br/>
Gültige Werte für <code>HLparamName</code> finden sich in der Job-Beschreibung weiter unten.
Es können auch komplexe Parameter gesetzt werden (siehe zum Beispiel
<a href="HBCIJob.html#setParam(java.lang.String, org.kapott.hbci.structures.Konto)"><code>HBCIJob.setParam(String,Konto)</code></a>).</td>
<td><code>HBCIJob.setParam(LLparamName,value)</code><br/>
Eine Liste gültiger <code>LLparamName</code>n erhält man zur Laufzeit durch
<code>HBCIHandler.getLowlevelGVParameters()</code> bzw. offline mit dem Tool
<code>ShowLowlevelGVs</code>.</td></tr>
<tr valign="top">
<td><b>Ergebnisdaten</b> (<code>HBCIJob.getJobResult()</code>)</td>
<td>Klasse des zurückgegeben Objektes abhängig vom Job (siehe Beschreibung unten).
Die Job-Rückgabedaten sind bereits anwendungsfreundlich aufbereitet</td>
<td>Klasse des zurückgegebenen Objektes ist <em>immer</em> <code>HBCIJobResult</code>. Darin
enthalten sind die "puren" Datenelement-Daten, wie sie aus der HBCI-Antwortnachricht
extrahiert wurden. Der Inhalt der einzelnen Datenelemte kann über bestimmte Namen
ermittelt werden
(<a href="../manager/HBCIHandler.html#getLowlevelResultProperties(java.lang.String)"><code>HBCIHandler.getLowlevelResultProperties()</code></a> bzw.
<a href="../tools/ShowLowlevelGVRs.html"><code>ShowLowlevelGVRs</code></a>).</td></tr>
</table>
<h2>Beschreibung der unterstützten Highlevel-Jobs</h2>
<p>
<a href="#custommsg">Kundenmitteilung an die Bank</a><br/>
<a href="#dauernew">Dauerauftrag einrichten</a><br/>
<a href="#dauerlist">Liste bestehender Daueraufträge abholen</a><br/>
<a href="#daueredit">Bestehenden Dauerauftrag bearbeiten</a><br/>
<a href="#dauerdel">Bestehenden Dauerauftrag löschen</a><br/>
<a href="#ueb">Einzelüberweisung</a><br/>
<a href="#umb">Umbuchung</a><br/>
<a href="#uebbzu">Einzelüberweisung mit prüfziffergesichertem Verwendungszweck (BZÜ)</a><br/>
<a href="#uebeil">Eilüberweisung</a><br/>
<a href="#donation">Spendenüberweisung</a><br/>
<a href="#uebforeign">Auslandsüberweisung</a><br/>
<a href="#uebsepa">SEPA-Einzelüberweisung</a><br/>
<a href="#termueb">Terminierte Einzelüberweisung</a><br/>
<a href="#termueblist">Liste noch anstehender terminierten Überweisungen abholen</a><br/>
<a href="#termuebedit">Noch anstehende terminierte Überweisung verändern</a><br/>
<a href="#termuebdel">Noch anstehende terminierte Überweisung löschen</a><br/>
<a href="#multiueb">Sammelüberweisung einreichen</a><br/>
<a href="#multilast">Sammellastschrift einreichen</a><br/>
<a href="#last">Einzellastschrift einreichen</a><br/>
<a href="#stornolast">Lastschriftwiderruf</a><br/>
<a href="#kumsall">Kontoumsätze anzeigen</a><br/>
<a href="#kumsnew">Neue Kontoumsätze anzeigen</a><br/>
<a href="#saldoreq">Saldoabfrage eines Kontos</a><br/>
<a href="#saldoreqall">Saldenabfrage <em>aller</em> Kundenkonten</a><br/>
<a href="#saldoreqsepa">Saldenabfrage eines SEPA-Kontos</a><br/>
<a href="#festcondlist">Festgeldkonditionen abholen</a><br/>
<a href="#festlist">Liste bestehender Festgeldanlagen abholen</a><br/>
<a href="#festlistall">Liste <em>aller</em> bestehender Festgeldanlagen abholen</a><br/>
<a href="#accinfo">Kontostammdaten abholen</a><br/>
<a href="#cardlist">Karten-Informationen abholen</a><br/>
<a href="#infolist">Übersicht über Kreditinstitutsinformationen abholen</a><br/>
<a href="#infoorder">Bestellen bzw. Abholen von Kreditinstitutsinformationen</a><br/>
<a href="#status">Statusinformationen zu Geschäftsvorfällen abholen</a><br/>
<a href="#tanlist">Abholen von Informationen über TAN-Listen</a><br/>
<a href="#changepin">Ändern der PIN für HBCI-PIN/TAN</a><br />
</p>
<hr size="1" noshade="noshade"/>
<h3><a name="custommsg">Kundenmitteilung an die Bank</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein Bankkunde eine Nachricht an seine Bank versenden.
Der Inhalt dieser Nachricht hat <em>keinen</em> Auftragscharakter.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>CustomMsg</code></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td></tr>
<tr valign="top"><td></td><td><code>msg</code></td><td>String</td><td>obligatorisch</td><td>die zu übermittelnde Nachricht</td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Kontoverbindung des Bankkunden</td></tr>
<tr valign="top"><td></td><td><code>curr</code></td><td>String</td><td>optional</td><td>Währung des Kundenkontos ("<code>EUR</code>")</td></tr>
<tr valign="top"><td></td><td><code>betreff</code></td><td>String</td><td>optional</td><td>Betreff der Nachricht</td></tr>
<tr valign="top"><td></td><td><code>recpt</code></td><td>String</td><td>optional</td><td>Empfänger der Nachricht (z.B. ein bestimmter Ansprechpartner)</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="dauernew">Dauerauftrag einrichten</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein neuer Dauerauftrag eingerichtet werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>DauerNew</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>src</code></td><td>Konto</td><td>obligatorisch</td><td>das Konto, welches bei dem Dauerauftrag belastet wird (Kundenkonto)</td></tr>
<tr valign="top"><td></td><td><code>dst</code></td><td>Konto</td><td>obligatorisch</td><td>das auf welches die Gutschrift erfolgt (fremdes Konto)</td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Geldbetrag, der bei dem Dauerauftrag überwiesen wird.</td></tr>
<tr valign="top"><td></td><td><code>name</code></td><td>String</td><td>obligatorisch</td><td>Name des Empfängers ("Begünstigter").</td></tr>
<tr valign="top"><td></td><td><code>name2</code></td><td>String</td><td>optional</td><td>Fortsetzung Name des Empfängers ("Begünstigter").</td></tr>
<tr valign="top"><td></td><td><code>firstdate</code></td><td>Date</td><td>obligatorisch</td><td>Datum der ersten Ausführung des Dauerauftrages.</td></tr>
<tr valign="top"><td></td><td><code>lastdate</code></td><td>Date</td><td>optional</td><td>Datum der letzten Ausführung des Dauerauftrages.</td></tr>
<tr valign="top"><td></td><td><code>timeunit</code></td><td>String</td><td>obligatorisch</td><td>Zeiteinheit für den Turnus-Wert. Entweder "<code>M</code>" für Monat oder "<code>W</code>" für Woche.</td></tr>
<tr valign="top"><td></td><td><code>turnus</code></td><td>int</td><td>obligatorisch</td><td>Dieser Wert gibt an, aller wieviel "<code>timeunit</code>"s der Dauerauftrag ausgeführt werden soll.</td></tr>
<tr valign="top"><td></td><td><code>execday</code></td><td>int</td><td>obligatorisch</td><td>Dieser Wert gibt bei <code>timeunit=M</code> den Tag des Monats (1-31) und bei <code>timeunit=W</code> den Wochentag (1-7) der Ausführung an. Gültige Werte sind den Job-Restriktionen zu entnehmen.</td></tr>
<tr valign="top"><td></td><td><code>usage,<br/>usage_2,<br/>usage_3,...</code></td><td>String</td><td>optional</td><td>Verwendungszweckzeilen</td></tr>
<tr valign="top"><td></td><td><code>key</code></td><td>String</td><td>optional</td><td>Textschlüssel für Art der Überweisung (default="<code>52</code>").</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRDauerNew.html"><code>GVRDauerNew</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="dauerlist">Liste bestehender Daueraufträge abholen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht der bestehenden Daueraufträge abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>DauerList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>das Kundenkonto, für welches der Dauerauftragsbestand abgeholt werden soll.
Ist kein Konto angegeben, so wird das erste in den UPD aufgeführte Konto benutzt.</td></tr>
<tr valign="top"><td></td><td><code>orderid</code></td><td>String</td><td>optional</td><td>Auftrags-Identifikationsnummer für einen bestimmten Auftrag, dessen Daten abgeholt werden sollen.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRDauerList.html"><code>GVRDauerList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="daueredit">Bestehenden Dauerauftrag bearbeiten</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein bestehender Dauerauftrag verändert werden. Dazu muss
die <code>orderid</code> des zu ändernden Auftrages bekannt sein. Zur Ermittlung und
Verwendung von Order-IDs siehe entsprechenden Abschnitt in der Beschreibung zur
<a href="#termuebdel"><code>Löschung terminierter Überweisungen</code></a>.
Es müssen nur die Job-Parameter angegeben werden, die tatsächlich verändert werden
sollen, die Angabe aller anderen Job-Parameter ist optional.</p>
<p>Aus den Job-Restriktionen kann ermittelt werden, welche Parameter überhaupt
geändert werden dürfen.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>DauerEdit</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">sämtliche Parameter wie bei <a href="#dauernew"><code>DauerNew</code></a>, allerdings alle optional; außerdem:</td><td></td></tr>
<tr valign="top"><td></td><td><code>orderid</code></td><td>String</td><td>obligatorisch</td><td>Auftrags-Identifikationsnummer für den zu bearbeitenden Auftrag</td></tr>
<tr valign="top"><td></td><td><code>date</code></td><td>Date</td><td>optional</td><td>Datum, ab wann der Auftrag geändert werden soll</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRDauerEdit.html"><code>GVRDauerEdit</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="dauerdel">Bestehenden Dauerauftrag löschen</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein bestehender Dauerauftrag gelöscht werden.
Für die Angabe, welcher Dauerauftrag gelöscht werden soll, gibt es prinzipiell
zwei Möglichkeiten:
<ol>
<li>Wenn die Bank keine Order-IDs (Auftrags-Identifikationsnummern) unterstützt,
dann müssen für die Identifikation des "richtigen" Dauerauftrages alle
Dauerauftrags-Parameter angegeben werden, die auch beim Einrichten des
Dauerauftrages verwendet wurden (siehe <a href="#dauernew"><code>Dauerauftrag
einrichten</code></a>).</li>
<li>Unterstützt die Bank Order-IDs, gibt es wiederum zwei Möglichkeiten:<ol>
<li>Es werden alle Parameter wie beim Erzeugen des Dauerauftrages und
zusätzlich die Order-ID angegeben.</li>
<li>Es genügt die Angabe der Order-ID. Dazu muss allerdings vor dem Erzeugen
des Jobs "<code>Dauerauftrag löschen</code>" die Liste der existierenden
Daueraufträge abgeholt werden (siehe <a href="#dauerlist"><code>Liste
bestehender Daueraufträge abholen</code></a>), damit <em>HBCI4Java</em>
die verwendete Order-ID kennt und die restlichen Auftrags-Parameter
"selbst ausfüllen" kann.</li>
</ol></li>
Siehe dazu auch den entsprechenden Abschnitt in der Beschreibung zur
<a href="#termuebdel"><code>Löschung terminierter Überweisungen</code></a>
</ol></p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>DauerDel</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">sämtliche Parameter wie bei <a href="#dauernew"><code>DauerNew</code></a>, allerdings alle optional; außerdem:</td><td></td></tr>
<tr valign="top"><td></td><td><code>orderid</code></td><td>String</td><td>optional</td><td>Auftrags-Identifikationsnummer für den zu löschenden Auftrag</td></tr>
<tr valign="top"><td></td><td><code>date</code></td><td>Date</td><td>optional</td><td>Datum, wann der Auftrag gelöscht werden soll</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="ueb">Einzelüberweisung</a></h3>
<p>Mit diesem Geschäftsvorfall wird eine einzelne Überweisung in Auftrag gegeben.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>Ueb</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>src</code></td><td>Konto</td><td>obligatorisch</td><td>Belastungskonto des Kunden</td></tr>
<tr valign="top"><td></td><td><code>dst</code></td><td>Konto</td><td>obligatorisch</td><td>Konto, auf dem der Betrag gutgeschrieben werden soll</td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Geldbetrag, der überwiesen werden soll.</td></tr>
<tr valign="top"><td></td><td><code>name</code></td><td>String</td><td>obligatorisch</td><td>Name des Empfängers ("Begünstigter").</td></tr>
<tr valign="top"><td></td><td><code>name2</code></td><td>String</td><td>optional</td><td>Fortsetzung Name des Empfängers ("Begünstigter").</td></tr>
<tr valign="top"><td></td><td><code>usage,<br/>usage_2,<br/>usage_3,...</code></td><td>String</td><td>optional</td><td>Verwendungszweckzeilen</td></tr>
<tr valign="top"><td></td><td><code>key</code></td><td>String</td><td>optional</td><td>Textschlüssel für Transaktionsart (default="<code>51</code>").</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="umb">Umbuchung</a></h3>
<p>Eine Umbuchung entspricht im wesentlichen einer Überweisung, wird aber von einigen
Kreditinstituten intern anders ausgeführt. Voraussetzung für das Verwenden von Umbuchungen
anstelle von "normalen" Überweisungen ist, dass das Empfängerkonto bei der gleichen
Bank wie das Auftraggeberkonto geführt wird und ebenfalls dem Auftraggeber gehört.
Mit diesem Geschäftsvorfall kann also eine Überweisung zwischen zwei eigenen Konten
bei der gleichen Bank durchgeführt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>Umb</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#ueb">Einzelüberweisung</a></td><td></td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="uebbzu">Einzelüberweisung mit prüfziffergesichertem Verwendungszweck (BZÜ)</a></h3>
<p>Mit diesem Geschäftsvorfall wird eine einzelne Überweisung in Auftrag gegeben. Dabei enthält die
erste Zeile des Verwendungszweckes einen 13-stelligen String, wovon 12 Ziffern tatsächlich
Nutzdaten sind, die 13.Ziffer ist eine Prüfziffer über die restlichen 12. Beim Anlegen eines
solchen Geschäftsvorfalles wird automatisch überprüft, ob die 13-stellige Ziffernfolge
konsistent ist.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>UebBZU</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#ueb">Einzelüberweisung</a>, aber ohne die erste Verwendungszweckzeile (<code>usage</code>), dafür:</td><td></td></tr>
<tr valign="top"><td></td><td><code>bzudata</code></td><td>String</td><td>obligatorisch</td><td>13-stellige Zeichenkette (enthält Prüfziffer).</td></tr>
<tr valign="top"><td></td><td><code>key</code></td><td>String</td><td>optional</td><td>Textschlüssel für Transaktionsart (default="<code>67</code>").</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="uebeil">Eilüberweisung</a></h3>
<p>Eine Eilüberweisung funktioniert analog einer "normalen" Überweisung,
wird aber u.U. schneller bearbeitet (die genauen bankfachlichen Hintergründe
sind hier nicht relevant).</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>UebEil</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#ueb">Einzelüberweisung</a></td><td></td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="donation">Spendenüberweisung</a></h3>
<p>Dabei handelt es sich im Prinzip um eine normale Einzelüberweisung. Einziger Unterschied
ist ein bankintern anders gesetzter Textschlüssel für den Überweisungstyp. Wo dieser
Textschlüssel konkret ausgewertet wird, weiß ich leider auch nicht.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>Donation</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#ueb"><code>Einzelüberweisung</code></a>, allerdings ohne die Verwendungszweckzeilen; statt dessen:</td><td></td></tr>
<tr valign="top"><td></td><td><code>spenderid</code></td><td>String</td><td>obligatorisch</td><td>Name des Spenders oder Kunden-/Mitgliedsnummer</td></tr>
<tr valign="top"><td></td><td><code>plz_street</code></td><td>String</td><td>obligatorisch</td><td>PLZ und Straße des Spenders</td></tr>
<tr valign="top"><td></td><td><code>name_ort</code></td><td>String</td><td>obligatorisch</td><td>Name und Ort des Einzahlers</td></tr>
<tr valign="top"><td></td><td><code>key</code></td><td>String</td><td>optional</td><td>Textschlüssel für Transaktionsart (default="<code>69</code>").</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="uebforeign">Auslandsüberweisung</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine einfache Auslandsüberweisung in Auftrag gegeben werden.
Darunter fallen alle Überweisungen in die meisten europäischen Länder, bei denen der
zu überweisende Geldbetrag die gesetzliche Meldepflicht (zur Zeit 12500 EUR) nicht übersteigt.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>UebForeign</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>src</code></td><td>Konto</td><td>obligatorisch</td><td>Belastungskonto des Kunden</td></tr>
<tr valign="top"><td></td><td><code>src.name</code></td><td>String</td><td>obligatorisch</td><td>Name des Auftraggebers</td></tr>
<tr valign="top"><td></td><td><code>dst</code></td><td>Konto</td><td>optional</td><td>Konto, auf dem der Betrag gutgeschrieben werden soll.
Es ist entweder dieser Parameter oder die IBAN anzugeben.</td></tr>
<tr valign="top"><td></td><td><code>dst.iban</code></td><td>String</td><td>optional</td><td>Alternativ zur Kontoverbindung des Empfängers kann die IBAN des Zielkontos angegeben werden.
Es muss genau einer der beiden Parameter angegeben werden.</td></tr>
<tr valign="top"><td></td><td><code>dst.name</code></td><td>String</td><td>obligatorisch</td><td>Name des Empfängers ("Begünstigter").</td></tr>
<tr valign="top"><td></td><td><code>dst.kiname</code></td><td>String</td><td>obligatorisch</td><td>Vollständiger Name der Zielbank.</td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Geldbetrag, der überwiesen werden soll.</td></tr>
<tr valign="top"><td></td><td><code>usage</code></td><td>String</td><td>optional</td><td>Verwendungszweck</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="uebsepa">SEPA-Einzelüberweisung</a></h3>
<p>Dabei handelt es sich um eine Überweisung nach dem SEPA-Standard (ein Projekt, bei dem ein
europaweit einheitlicher Zahlungsraum angestrebt wird). Solche Überweisungen können als Ziel
sowohl in- als auch ausländische Konten haben. Die normale Kombination von Kontonummer/BLZ wird
ersetzt durch die weltweit eindeutige IBAN (entspricht Konto-Identifikation) und BIC
(Bankkennung). Derzeit (2009) werden SEPA-Geschäftsvorfälle nicht von allen Banken unterstützt.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>UebSEPA</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>src</code></td><td>Konto</td><td>obligatorisch</td><td>Belastungskonto des Kunden. Entscheidend sind gesetzte Werte
für <code>bic</code>, <code>iban</code> und <code>name</code></td></tr>
<tr valign="top"><td></td><td><code>dst</code></td><td>Konto</td><td>obligatorisch</td><td>Konto, auf dem der Betrag gutgeschrieben werden soll. Entscheidend sind auch hier gesetzte Werte
für <code>bic</code>, <code>iban</code> und <code>name</code></td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Geldbetrag, der überwiesen werden soll. Die Währung muss immer <code>EUR</code> sein</td></tr>
<tr valign="top"><td></td><td><code>usage</code></td><td>String</td><td>optional</td><td>Verwendungszweck (max. 140 Zeichen)</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="termueb">Terminierte Einzelüberweisung</a></h3>
<p>Dabei handelt es sich um eine Einzelüberweisung, bei der zusätzlich das Datum
angegeben wird, zu dem diese Überweisung ausgeführt werden soll. Das Datum darf in der Regel
nicht zu nah in der Zukunft liegen (meist mind. 2 Tage) und muss ein Werktag sein. Die
Mindestvorlaufzeit zur Einreichung einer terminierten Überweisung ist aus den Job-Restriktionen
zu erfahren.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>TermUeb</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#ueb"><code>Einzelüberweisung</code></a>, zusätzlich:</td><td></td></tr>
<tr valign="top"><td></td><td><code>date</code></td><td>Date</td><td>obligatorisch</td><td>Datum der geplanten Ausführung der Überweisung</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRTermUeb.html"><code>GVRTermUeb</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="termueblist">Liste noch anstehender terminierten Überweisungen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Liste aller noch anstehenden terminierten Überweisungen
abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>TermUebList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Kundenkonto, für das die Liste abgeholt werden soll; ist kein Konto angegeben, so wird das erste Konto aus den UPD verwendet.</td></tr>
<tr valign="top"><td></td><td><code>startdate</code></td><td>Date</td><td>optional</td><td>nur Aufträge abholen, die an oder nach diesem Datum ausgeführt werden sollen</td></tr>
<tr valign="top"><td></td><td><code>enddate</code></td><td>Date</td><td>optional</td><td>nur Aufträge abholen, die an oder vor diesem Datum ausgeführt werden sollen</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRTermUebList.html"><code>GVRTermUebList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="termuebedit">Noch anstehende terminierte Überweisung verändern</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine noch nicht ausgeführte terminierte Überweisung verändert
werden. Aus den Job-Restriktionen ist ersichtlich, ob das überhaupt möglich ist und wenn ja, welche
Parameter verändert werden dürfen. Für diesen Geschäftsvorfall wird die Auftrags-Identifikationsnummer (<code>orderid</code>)
des zu bearbeitenden Auftrages benötigt.
Es müssen nur die Parameter angegeben werden, die tatsächlich geändert werden sollen.
Alle anderen Job-Parameter müssen nicht mit angegeben werden (sie werden automatisch
anhand der Order-ID ermittelt). Zur Benutzung von Order-IDs siehe entsprechenden Abschnitt
in der Beschreibung zu <a href="#termuebdel"><code>Löschen einer terminierten Überweisung</code>.</a></p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>TermUebEdit</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td colspan="4">wie bei <a href="#termueb"><code>Terminierte Überweisung</code></a>, jedoch alles optional; zusätzlich:</td><td></td></tr>
<tr valign="top"><td></td><td><code>orderid</code></td><td>String</td><td>obligatorisch</td><td>Die Auftragsidentifikationsnummer des zu bearbeitenden Auftrages.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRTermUebEdit.html"><code>GVRTermUebEdit</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="termuebdel">Noch anstehende terminierte Überweisung löschen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine noch nicht ausgeführte terminierte Überweisung gelöscht
werden. Für diesen Geschäftsvorfall wird nur die Order-ID eines terminierten Überweisungsauftrages
benötigt.</p>
<p>Order-IDs werden bei den Geschäftsvorfällen <a href="#termueb"><code>Einrichten einer terminierten Überweisung</code></a>,
<a href="#termuebedit"><code>Ändern einer terminierten Überweisung</code></a> sowie <a href="#termueblist"><code>Abrufen des Bestandes terminierter
Überweisungen</code></a> zurückgegeben. Auch wenn die entsprechenden Order-IDs bereits offline bekannt sind
(z.B. aus früheren HBCI-Dialogen), so muss erst ein Auftrag ausgeführt werden, der die Order-ID
für den zu löschenden Auftrag tatsächlich zurückgibt (also in der Regel ein <code>Abrufen des Bestandes...</code>).
Der Grund ist der, dass <em>HBCI4Java</em> zusätzlich benötigte Auftragsdaten intern
zwischenspeichert und gegebenenfalls benutzt. Diese Zwischenspeicherung ist aber an
ein konkretes <code>HBCIPassport</code>-Objekt gebunden, weshalb die Verwendung von
Order-IDs, welche nicht zur Laufzeit erzeugt wurden, zu einer Exception führt.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>TermUebDel</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>orderid</code></td><td>String</td><td>obligatorisch</td><td>Die Auftragsidentifikationsnummer des zu löschenden Auftrages.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="multiueb">Sammelüberweisung einreichen</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein Sammelüberweisungsauftrag eingereicht werden.
Die Daten müssen dabei bereits im DTAUS-Format vorliegen. Für die Erzeugung von DTAUS-Datensätzen
kann die Klasse <a href="../swift/DTAUS.html">DTAUS</a> benutzt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>MultiUeb</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Kontoverbindung des Auftraggebers</td></tr>
<tr valign="top"><td></td><td><code>data</code></td><td>String</td><td>obligatorisch</td><td>DTAUS-Daten mit den Überweisungsinformationen</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="multilast">Sammellastschrift einreichen</a></h3>
<p>Mit diesem Geschäftsvorfall kann ein Sammellastschriftauftrag eingereicht werden.
Die Daten müssen dazu bereits im DTAUS-Format vorliegen. Für die Erzeugung von DTAUS-Datensätzen
kann die Klasse <a href="../swift/DTAUS.html">DTAUS</a> benutzt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>MultiLast</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Kontoverbindung des Auftraggebers</td></tr>
<tr valign="top"><td></td><td><code>data</code></td><td>String</td><td>obligatorisch</td><td>DTAUS-Daten mit den Überweisungsinformationen</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="last">Einzellastschrift einreichen</a></h3>
<p>Mit diesem Geschäftsvorfall wird ein einzelner Auftrag zum Lastschrifteinzug eingereicht.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>Last</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Konto des Bankkunden</td></tr>
<tr valign="top"><td></td><td><code>other</code></td><td>Konto</td><td>obligatorisch</td><td>Konto, welches mit dem Betrag belastet werden soll</td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Geldbetrag, der eingezogen werden soll.</td></tr>
<tr valign="top"><td></td><td><code>name</code></td><td>String</td><td>obligatorisch</td><td>Name des Zahlungspflichtigen</td></tr>
<tr valign="top"><td></td><td><code>name2</code></td><td>String</td><td>optional</td><td>Fortsetzung Name des Zahlungspflichtigen.</td></tr>
<tr valign="top"><td></td><td><code>type</code></td><td>String</td><td>optional</td><td>Typ der Lastschrift. Defaultmäßig wird hier "05" verwendet, es ist auch der Code "04" zulässig.</td></tr>
<tr valign="top"><td></td><td><code>usage,<br/>usage_2,<br/>usage_3,...</code></td><td>String</td><td>optional</td><td>Verwendungszweckzeilen</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="stornolast">Lastschriftwiderruf</a></h3>
<p>Damit kann eine Lastschrift, mit der das eigene Konto belastet wurde, "zurückgegeben" werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>StornoLast</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Konto des Bankkunden</td></tr>
<tr valign="top"><td></td><td><code>other</code></td><td>Konto</td><td>obligatorisch</td><td>Gegenkonto, dem die ursprüngliche Lastschrift gutgeschrieben wurde</td></tr>
<tr valign="top"><td></td><td><code>btg</code></td><td>Value</td><td>obligatorisch</td><td>Betrag der ursprünglichen Lastschrift</td></tr>
<tr valign="top"><td></td><td><code>date</code></td><td>Date</td><td>obligatorisch</td><td>Datum des ursprünglichen Lastschriftauftrages</td></tr>
<tr valign="top"><td></td><td><code>name</code></td><td>String</td><td>obligatorisch</td><td>Name des Auftraggebers der ursprünglichen Lastschrift</td></tr>
<tr valign="top"><td></td><td><code>name2</code></td><td>String</td><td>optional</td><td>Fortsetzung Name des Auftraggebers.</td></tr>
<tr valign="top"><td></td><td><code>primanota</code></td><td>String</td><td>optional</td><td>Primanota-Nummer der ursprünglichen Lastschrift</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="kumsall">Kontoumsätze anzeigen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht über die Kontoumsatzdaten
eines Kontos abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>KUmsAll</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Das Konto, für das Umsatzinformationen abgeholt werden sollen. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet.</td></tr>
<tr valign="top"><td></td><td><code>startdate</code></td><td>Date</td><td>optional</td><td>Nur Umsatzdaten abholen, die an oder nach diesem Datum gebucht wurden</td></tr>
<tr valign="top"><td></td><td><code>enddate</code></td><td>Date</td><td>optional</td><td>Nur Umsatzdaten abholen, die an oder vor diesem Datum gebucht wurden</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRKUms.html"><code>GVRKUms</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="kumsnew">Neue Kontoumsätze anzeigen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht über die Kontoumsatzdaten
eines Kontos abgeholt werden. Dabei werden nur die Umsatzdaten zurückgegeben, die
seit dem letzten Aufruf dieses Geschäftsvorfalles neu hinzugekommen sind.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>KUmsNew</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Das Konto, für das Umsatzinformationen abgeholt werden sollen. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRKUms.html"><code>GVRKUms</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="saldoreq">Saldoabfrage eines Kontos</a></h3>
<p>Mit diesem Geschäftsvorfall wird der Saldo eines Kundenkontos abgefragt.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>SaldoReq</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Das Konto, für das der Saldo ermittelt werden soll. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRSaldoReq.html"><code>GVRSaldoReq</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="saldoreqall">Saldenabfrage <em>aller</em> Kundenkonten</a></h3>
<p>Mit diesem Geschäftsvorfall werden die Salden <em>aller</em> Kundenkonten abgefragt.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>SaldoReqAll</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Ein Kundenkonto. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRSaldoReq.html"><code>GVRSaldoReq</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="saldoreqsepa">Saldoabfrage eines SEPA-Kontos</a></h3>
<p>Mit diesem Geschäftsvorfall kann der Saldo eines SEPA-fähigen Kontos abgefragt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>SaldoReqSEPA</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Das Konto, für das der Saldo ermittelt werden soll. Bei diesem Konto müssen mindestens BIC und IBAN gesetzt sein, abhängig von der Bank evtl. zusätzlich auch die Kontowährung.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRSaldoReq.html"><code>GVRSaldoReq</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="festcondlist">Festgeldkonditionen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall können die aktuell gültigen Konditionen für Festgeldanlagen
vom Kreditinstitut abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>FestCondList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>curr</code></td><td>String</td><td>obligatorisch</td><td>Die Währung, in der die Festgeldanlagen geführt werden sollen ("EUR").</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRFestCondList.html"><code>GVRFestCondList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="festlist">Liste bestehender Festgeldanlagen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht über bestehende Festgeldanlagen zu einem
bestimmten Anlagekonto abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>FestList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Festgeld-Anlagekonto, für dessen Festgeldanlagen Informationen abgeholt werden sollen.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRFestList.html"><code>GVRFestList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="festlistall">Liste <em>aller</em> bestehender Festgeldanlagen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht über <em>alle</em> bestehende Festgeldanlagen
abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>FestListAll</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>optional</td><td>Kontoverbindung eines existierenden Anlagekontos oder eines "normalen" Kontos.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRFestList.html"><code>GVRFestList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="accinfo">Kontostammdaten abholen</a></h3>
<p>Dieser Geschäftsvorfall ermöglicht das Abholen von Kontostammdaten. Er ist erst ab
HBCI 2.2 spezifiziert, wird aber unter Umständen von einigen Banken bereits in früheren
HBCI-Versionen angeboten.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>AccInfo</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Kontoverbindung, für die Stammdaten ermittelt werden sollen.</td></tr>
<tr valign="top"><td></td><td><code>all</code></td><td>J oder N</td><td>optional</td><td>J, wenn für alle verfügbaren Konten die Daten abgeholt werden sollen, sonst N (default)</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRAccInfo.html"><code>GVRAccInfo</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="cardlist">Karteninformationen abholen</a></h3>
<p>Dieser Geschäftsvorfall ermöglicht es, Informationen zu den von der Bank
ausgegebenen Karten abzuholen. Das wird u.U. benötigt, wenn eine Karte nach
Verlust gesperrt werden soll, die dafür notwendigen Kartendaten aber nicht mehr
bekannt sind. Dieser Geschäftsvorfall ist erst ab
HBCI 2.2 spezifiziert, wird aber unter Umständen von einigen Banken bereits in früheren
HBCI-Versionen angeboten.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>CardList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>my</code></td><td>Konto</td><td>obligatorisch</td><td>Kontoverbindung des Karteninhabers</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRCardList.html"><code>GVRCardList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="infolist">Übersicht über Kreditinstitutsinformationen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall kann eine Übersicht über die vom Kreditinstitut bereitgestellten
Informationen abgeholt werden. Mit einem weiteren Geschäftsvorfall können dann die Informationen
selbst bestellt bzw. abgeholt werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>InfoList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRInfoList.html"><code>GVRInfoList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="infoorder">Bestellen bzw. Abholen von Kreditinstitutsinformationen</a></h3>
<p>Mit diesem Geschäftsvorfall können bestimmte Kreditinstitutsinformationen angefordert werden.
Die dafür benötigten Codes für die jeweiligen Informationen können mit dem Geschäftsvorfall
<a href="#infolist"><code>InfoList</code></a> ermittelt werden. Werden Freitextinformationen
angefordert, so werden diese direkt in der Antwortnachricht übermittelt, ansonsten wird durch
diesen Geschäftsvorfall eine Bestellung der Informationen ausgelöst, die dann anderweitig
zugestellt werden (per Post).</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>InfoOrder</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>code,<br/>code_2,<br/>code_3,...</code></td><td>String</td><td>obligatorisch</td><td>Es muss mindestens einer der Informationscodes aus dem GV "<code>InfoList</code>" angegeben werden.</td></tr>
<tr valign="top"><td></td><td><code>name</code></td><td>String</td><td>optional</td><td>Name des Kunden, wird für die schriftliche Zustellung benötigt (wie auch alle folgenden Parameter)</td></tr>
<tr valign="top"><td></td><td><code>name2</code></td><td>String</td><td>optional</td><td>Fortsetzung Name des Kunden</td></tr>
<tr valign="top"><td></td><td><code>street</code></td><td>String</td><td>optional</td><td>Strasse der Lieferanschrift</td></tr>
<tr valign="top"><td></td><td><code>ort</code></td><td>String</td><td>optional</td><td>Ort der Lieferanschrift</td></tr>
<tr valign="top"><td></td><td><code>plz</code></td><td>String</td><td>optional</td><td>PLZ der Lieferanschrift</td></tr>
<tr valign="top"><td></td><td><code>country</code></td><td>String</td><td>optional</td><td>Ländercode der Lieferanschrift ("DE")</td></tr>
<tr valign="top"><td></td><td><code>tel</code></td><td>String</td><td>optional</td><td>Telefonnumer für Rückfragen</td></tr>
<tr valign="top"><td></td><td><code>fax</code></td><td>String</td><td>optional</td><td>Telefaxnummer des Kunden</td></tr>
<tr valign="top"><td></td><td><code>email</code></td><td>String</td><td>optional</td><td>Email-Adresse des Kunden</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRInfoOrder.html"><code>GVRInfoOrder</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="status">Statusinformationen zu Geschäftsvorfällen abholen</a></h3>
<p>Mit diesem Geschäftsvorfall können zu allen bisher via HBCI eingereichten Aufträgen
Statusinformationen abgeholt werden. Diese enthalten i.d.R. den Returncode, den das Einreichen
des entsprechenden Auftrages erzeugt hat, bzw. eine Information über den gegenwärtigen
Status der Verarbeitung.</p>
<p>Nach dem Ausführen eines beliebigen Geschäftsvorfalles gibt die Methode
<a href="../GV_Result/HBCIJobResult.html#getJobId()"><code>HBCIJob.getJobResult().getJobId()</code></a> eine ID zurück,
die diesen Job eindeutig kennzeichnet. Diese ID kann dann zur Identifikation der entsprechenden
Status-Daten aus dem Status-Protokoll benutzt werden (siehe dazu die Dokumentation der Klasse
<a href="../GV_Result/GVRStatus.html"><code>GVRStatus</code></a>).</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>Status</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>startdate</code></td><td>Date</td><td>optional</td><td>Nur Statusprotokolleinträge zurückgebenm die an oder nach diesem Datum erzeugt wurden</td></tr>
<tr valign="top"><td></td><td><code>enddate</code></td><td>Date</td><td>optional</td><td>Nur Statusprotokolleinträge zurückgebenm die an oder vor diesem Datum erzeugt wurden</td></tr>
<tr valign="top"><td></td><td><code>jobid</code></td><td>String</td><td>optional</td><td>alternativ zu den beiden <code>Date</code>-Parametern kann eine Job-Id angegeben werden, für die Statusinformationen benötigt werden. Es werden dann intern automatisch die richtigen Parameterwerte für <code>startdate</code> und <code>enddate</code> erzeugt und gesetzt.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRStatus.html"><code>GVRStatus</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="tanlist">Abholen von Informationen über TAN-Listen</a></h3>
<p>Dieser Geschäftsvorfall macht nur bei Verwendung von PIN/TAN-Passports Sinn. Damit können
Informationen zu aktuellen TAN-Listen abgeholt werden. Mit diesem Geschäftsvorfall können
<em>keine</em> neuen TAN-Listen bestellt werden, es ist auch nicht möglich, mit diesem
Geschäftsvorfall die Menge der noch nicht verbrauchten TANs zu ermitteln.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>TANList</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/GVRTANList.html"><code>GVRTANList</code></a></td><td></td></tr>
</table>
<hr size="1" noshade="noshade"/>
<h3><a name="changepin">Ändern der PIN für HBCI-PIN/TAN</a></h3>
<p>Dieser Geschäftsvorfall macht nur bei Verwendung von PIN/TAN-Passports Sinn. Damit
kann die aktuelle PIN für HBCI-PIN/TAN auf einen neuen Wert geändert werden.<br />
Aus Sicherheitsgründen wird die neue PIN nicht automatisch verwendet. Das heißt, sobald
dieser GV erfolgreich bei der Bank eingereicht wurde und das OK empfangen wurde,
muss für die nachfolgende Nachricht (Dialog-Ende) die neue PIN explizit eingegeben
werden.</p>
<table cellpadding="3">
<tr valign="top"><td><em>Highlevel-Name</em></td><td><code>ChangePIN</code></td><td></td></tr>
<tr valign="top"><td><em>Highlevel-Parameter</em></td><td></td><td></td></tr>
<tr valign="top"><td></td><td><code>newpin</code></td><td>String</td><td></td><td>Die neue PIN.</td></tr>
<tr valign="top"><td><em>Rückgabedaten-Klasse</em></td><td><a href="../GV_Result/HBCIJobResult.html"><code>HBCIJobResult</code></a></td><td></td></tr>
</table>
</body></html>