Funktionen für Daueraufträge

SendOrder Funktionen

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 23
Dabei seit: 08 / 2011
Betreff:

Funktionen für Daueraufträge

 · 
Gepostet: 06.04.2013 - 13:33 Uhr  ·  #1
Hallo in die Runde,

ich habe mir ein Homebanking Programm auf Basis von FinAPI in VB.net programmiert. Das Programm läuft zu meiner besten Zufriedenheit.
Ich benötige jetzt zusätzlich aber noch die Funktionen für die Daueraufträge, die ich bis auf Dauerauftragsbestand holen nicht hinbekomme.
Es fehlen also
- Dauerauftrag einrichten (FinSetupSto)
- Dauerauftrag ändern (FinModifyStoBuilder)
- Dauerauftrag löschen (FinCancelStoBuilder)

Für letzteren habe ich den folgenden Ansatz genommen, der Jedoch zum Fehler bei
Dim aCancelSto As FinOrder = m_aCancelStoBuilder.Build(aRemitt) führt, "der Wert liegt ausserhalb des erwarteten Bereichs"

Code

 Private Sub daDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles daDelete.Click
        Try
            Me.Cursor = Cursors.WaitCursor
            Me.Enabled = False

            Dim si As Integer = daListView.Items.Item(0).Index 'selected Index von DaListView

            'Kontonr Empfänger, Ländercode, BLZ Empfänger
            Dim aLoeschAcct As FinAcct = New FinAcct(daListView.Items(si).SubItems(1).Text, "280", daListView.Items(si).SubItems(2).Text)
            'meine Kontodaten, aLoeschAcct,Name Empfänger, (Summe,Währung), Textschlüssel
            Dim aRemitt As FinRemitt = New FinRemitt(m_aAcct, aLoeschAcct, daListView.Items.Item(si).Text, _
                                New SwiftAmt(daListView.Items(si).SubItems(4).Text, "EUR"), "52")

            'gleiche Fehlermeldung-------------------------------
            'Dim aSto As FinSto = New FinSto
            'aSto.OrderingCustAcct = m_aAcct
            'aSto.ScheduledDate = New SwiftDate(CDate("01.10.2013"))
            'aSto.Amount = New SwiftAmt(daListView.Items(si).SubItems(4).Text, "EUR")
            'aSto.PayeePayerAcct = aLoeschAcct
            'aSto.PayeePayerName = daListView.Items.Item(si).Text
            'aSto.TextKey = "52"
            '---------------------------------------------------

            Dim aCancelSto As FinOrder = m_aCancelStoBuilder.Build(aRemitt)

            '_SendOrder(aCancelSto)


        Catch ex As Exception
            MessageBox.Show(ex.StackTrace, ex.Message)
        End Try

        Me.Cursor = Cursors.Arrow
        Me.Enabled = True

    End Sub


Mir ist jede Hilfe in Bezug auf die o.g. Funktionen willkommen.
Auch wenn was in c# vorliegen sollte.
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: München
Homepage: subsembly.com/
Beiträge: 4496
Dabei seit: 11 / 2004
Betreff:

Re: Funktionen für Daueraufträge

 · 
Gepostet: 08.04.2013 - 09:47 Uhr  ·  #2
Hallo,

um einen Dauerauftrag zu löschen wird noch die Auftrags-ID (aus FinRemitt.OrderID) benötigt. Diese bekommst Du, wenn Du vorher den Dauerauftragsbestand via FinAllStoBuilder.Build(aOrderAcct, null) holst.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 23
Dabei seit: 08 / 2011
Betreff:

Funktionen für Daueraufträge

 · 
Gepostet: 08.04.2013 - 14:30 Uhr  ·  #3
Hallo Andreas,

besten Dank für die schnelle Auskunft.

Die Bankabfrage ergibt für die OrderId = Nothing.
Ich habe also mit

aRemitt.OrderID = Nothing

den Wert hinzugefügt.

Leider ist der Fehler immer noch da.

Was mach ich falsch?

Walter
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 1095
Dabei seit: 03 / 2010
Betreff:

Re: Funktionen für Daueraufträge

 · 
Gepostet: 08.04.2013 - 15:39 Uhr  ·  #4
Zitat geschrieben von Jonnybe
Die Bankabfrage ergibt für die OrderId = Nothing.

Das galt für das Löschen. Besteht denn für das Konto auch garantiert ein "echter" Dauerauftrag?
Achtung: Sparverträge, regelm. Spenden usw. sind keine "echten" DA!
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 23
Dabei seit: 08 / 2011
Betreff:

Funktionen für Daueraufträge

 · 
Gepostet: 08.04.2013 - 22:58 Uhr  ·  #5
Ja, dass ist ein echter Dauerauftrag bei der Sparda Bank, der monatlich, unbegrenzt läuft.

Ich hab jetzt nochmal aAllSto aufgeschlüsselt und den dortigen OrderId genommen. Der beinhaltet im wesentlichen
die gesamten Dauerauftragsdaten in einem String. Auch bei Verwendung dieser OrderId erfolgt der gleiche Fehler.
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 23
Dabei seit: 08 / 2011
Betreff:

Funktionen für Daueraufträge

 · 
Gepostet: 16.04.2013 - 14:01 Uhr  ·  #6
Hallo an Subsembly,

nachdenm ich nun beinahe 2 Wochen ohne Erfolg versucht habe das Problem zu lösen wende ich mich nochmal an Subsembly.

Ich habe jetzt alle Objektdetails bis ins kleineste überprüft und die Plausibilität gecheckt, weiterhin zeigt die Syntaxprüfung keine Fehler und habe Eure Hinweise berücksichtigt. Trotzdem habe ich den gleichen Fehler:
"Der Wert liegt ausserhalb des erwarteten Bereichs". Was sagt mir das?
Wie gesagt, alle Werte der Objekte sind plausibel.

Zur Verdeutlichung poste ich nochmal meinen Codesnipped (ohne Kommentare wegen der Übersichtlichkeit).


Code

  Dim si As Integer = daListView.SelectedIndices.Item(0) 'selected Index von DaListView

        Dim aLoeschAcct As FinAcct = New FinAcct(daListView.Items(si).SubItems(1).Text, "280", daListView.Items(si).SubItems(2).Text)

        Dim aRemitt As FinRemitt = New FinRemitt(m_aAcct, aLoeschAcct, daListView.Items.Item(si).Text, _
                            New SwiftAmt(daListView.Items(si).SubItems(4).Text, "EUR"), "52") 

        aRemitt.OrderID = daListView.Items(si).SubItems(7).Text 

        Dim aCancelSto As FinOrder = m_aCancelStoBuilder.Build(aRemitt)

       _SendOrder(aCancelSto)



Verglichen mit allen anderen _SendOrdern und eingehender Prüfung der Objekte muss dieser Code richtig sein.

Ich erwarte nicht, dass sich hier einer mit vb.net beschäftigt, aber ein Codesnipped in c# würde mir genügen.
Gewählte Zitate für Mehrfachzitierung:   0