Daueraufträge löschen

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8
Dabei seit: 09 / 2008
Betreff:

Daueraufträge löschen

 · 
Gepostet: 14.02.2009 - 21:35 Uhr  ·  #1
Hallo,

ich benutze die aqbanking-lib (vielen Dank an Martin Preuss!!) in einem privaten Projekt und will nun auch die Möglichkeit Daueraufträge zu verarbeiten einbauen.

Abrufen und neue Daueraufträge einrichten klappt schon ganz hervorragend, nur wenn ich probiere einen bestehenden Dauerauftrag zu löschen, bekomme ich folgende Fehler zu sehen (Fiducia):

HBCI: 9050 - Teilweise fehlerhaft (M)
HBCI: 9210 - FEHLER BEIM ERSTELLEN DER HBCI-ELEMENTTABELLE (S)

Meine Frage ist: woher weiß die Bank überhaupt welchen Dauerauftrag sie löschen soll? Ich vermute mal sie vergleicht Gegenkonto, Betrag, Turnus, Überweisungszweck etc mit den gespeicherten Daueraufträgen und löscht den, bei dem alle Felder übereinstimmen...

Was muss ich dann bei AB_Transaction alles angeben? Bisher fülle ich die folgenden Felder aus:
- LocalAccountNumber
- LocalBankCode
- LocalName
- RemoteAccountNumber
- RemoteBankCode
- RemoteName
- Value
- Purpose
- Period
- Cycle
- ExecutionDay
- FirstExecutionDate
reicht das? Muss ich alles haargenau so ausfüllen, wie's bei der Bank gespeichert ist (inkl. Groß/Kleinschreibung)?

Ich würde mich freuen, wenn mir jemand einen kleinen Tipp geben könnte...


Vielen Dank und viele Grüße,
Markus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Daueraufträge löschen

 · 
Gepostet: 14.02.2009 - 23:23 Uhr  ·  #2
Hallo Markus,

soweit ich das recht im Kopf habe, musst du erst Bestand von der Bank abrufen. Darin hat jeder DA einen Identifier, eine DA-Nummer. Die wird zum Löschen (neben anderen Daten) benötigt.

Das inhaltiche Vergleichen wäre zu aufwändig und fehlerbehaftet. Kann ja zudem auch inhaltsgleiche Auftäge geben.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8
Dabei seit: 09 / 2008
Betreff:

Re: Daueraufträge löschen

 · 
Gepostet: 15.02.2009 - 00:08 Uhr  ·  #3
Hallo,
Danke für die Antwort.
Gehe ich dann recht in der Annahme, dass ich in aqbanking diese DA-Nummer wie folgt bekommen kann:
1. AB_JobGetStandingOrders_new
2. Job ausführen
3. aus dem ImExportContext mittels AB_ImExporterAccountInfo_GetFirstStandingOrder und AB_ImExporterAccountInfo_GetNextStandingOrder die erhaltenen Daueraufträge extrahieren
4. AB_Transaction_GetUniqueId gibt mir dann die DA-Nummer?

Das habe ich nämlich so probiert, nur ist die UniqueId immer 0... Kannst du mir sagen, wie ich dann an diesen Identifier rankommen kann?

Nochmals vielen Dank und beste Grüße,
Markus
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8
Dabei seit: 09 / 2008
Betreff:

Re: Daueraufträge löschen

 · 
Gepostet: 15.02.2009 - 11:58 Uhr  ·  #4
Hallo nochmals,

ich habe jetzt einfach mal alle Felder, die eine AB_TRANSACTION so hat, ausgegeben. Kann es sein, dass das FiId-Feld diesen Identifier bereitstellt?
(allerdings wird in der Doku zu aqbanking ja explizit gesagt, dass FiId von HBCI eigentlich nicht verwendet wird, sondern nur von OFX).

Grüße,
Markus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Hamburg
Homepage: aqbanking.de/
Beiträge: 642
Dabei seit: 03 / 2005
Betreff:

Re: Daueraufträge löschen

 · 
Gepostet: 15.02.2009 - 13:05 Uhr  ·  #5
Zitat geschrieben von marwes

ich habe jetzt einfach mal alle Felder, die eine AB_TRANSACTION so hat, ausgegeben. Kann es sein, dass das FiId-Feld diesen Identifier bereitstellt?
(allerdings wird in der Doku zu aqbanking ja explizit gesagt, dass FiId von HBCI eigentlich nicht verwendet wird, sondern nur von OFX).


Das ist genau das Feld, das Du brauchst. Die Aussage mit OFX ist somit ansich veraltet.


Gruss
Martin
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8
Dabei seit: 09 / 2008
Betreff:

Re: Daueraufträge löschen

 · 
Gepostet: 15.02.2009 - 14:31 Uhr  ·  #6
vielen Dank, Martin!

Ich habe jetzt folgendes probiert:

trans = AB_Transaction_new
AB_Transaction_SetFiId(trans, fiId aus meiner DB)
job = AB_JobDeleteStandingOrder_new
AB_JobDeleteStandingOrder_SetTransaction(job, trans)

und dann den Job zur Ausführung gebracht. Leider ändert das nichts an meinem Problem (FEHLER BEIM ERSTELLEN DER HBCI-ELEMENTTABELLE).

Wenn ich hingegen die AB_TRANSACTION, die ich beim Abfragen der eingerichteten DAs aus dem ImExportContext erhalte, bei AB_JobDeleteStandingOrder_SetTransaction verwende (oder eine deep-copy dieser AB_TRANSACTION), klappt es...
Sind doch noch andere Felder notwendig?

Ich wäre dir sehr, sehr dankbar, wenn du mir einen Tipp geben könntest, welche Felder ich wie in der AB_TRANSACTION setzten muss, damit das ganze klappt.

Ich fürchte, wenn ich weiter mit so hoher Frequenz meine TANs verbrauche, habe ich in zwei Stunden keine mehr :)

Nochmals vielen Dank und viele Grüße,
Markus
Gewählte Zitate für Mehrfachzitierung:   0