Programmierung mit der DDBAC von DataDesign

 
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 06 / 2004
Betreff:

Programmierung mit der DDBAC von DataDesign

 · 
Gepostet: 24.07.2004 - 17:27 Uhr  ·  #1
Hallo,

da es kein spezialisierteres Board für das HBCI Thema gibt, hoffe ich, dass hier auch ein paar Fragen bezüglich Programmierung gestellt werden können.

Ich habe die .NET Komponente von DataDesign und die funktioniert auch gleich vom ersten Start an ganz gut. Jedoch habe ich mir mal über mehrere Wochen den Kontoauszug von meiner Bank runtergeladen und genau bei der 90-sten Buchung stoppt die DDBAC. Momentan könnte ich also pro Aholung maximal diese 90 Buchungen bekommen.

Im Beispiel-Code von DataDesign wird ein string sCursor = "" deklariert und später wieder beim "Aufsetzpunkt1" diesem zugeweisen, wenn er nicht leer ist. Wärend der Verarbeitung wird er allerdings nicht angerührt, hierbei sehe ich das Problem, weiß aber leider nicht, wie ich aus DDBAC.ReportResult (oMessage); den Aufsetzpunkt extrahieren kann.

Anbei mal der Codeabschnitt, indem das Problem liegt.

Für jeglichen Tip wäre ich dankbar!

Und PS: hat eigentlich jede Buchung einen unique Key? Ich vergleiche momentan immer die Inhalte der Buchung, damit ich nichts doppelt importiere, wenn die Bank einen Key bereitstellen würde, wäre es einfacher und sicherer! Einen Key fand ich in der Struktur jedoch nicht.

Vielen Dank im Voraus.
Bernhard

Code


string sCursor = "";

while(true)
                {
                    // Das Auftragssegment wird übermittelt und die Rückmeldungen werden
                    // überprüft. Eventuelle Warnungen oder Fehler werden angezeigt.

                    //SupplyTAN
                    oMessage = DDBAC.Dialog.ExecuteSegment(oHKKAZ);
                    DDBAC.ReportResult (oMessage);

                    // Die Antwortdaten werden zur Ausgabe hinzugefügt.
                    BACTransaction oTxn;
                    IBACSegment oHIKAZ;
                    BACDataObject oBlob;

                    oTxn = oMessage.Transactions[0];
                    if (oTxn.ResponseSegments.Count == 1)
                    {
                        oHIKAZ = oTxn.ResponseSegments[0];

                        oBlob = oHIKAZ["UmsaetzeGebucht1",1] as BACDataObject;
                        if (oBlob != null)
                        {
                            fHaveSomething = true;
                      
                            // Die empfangenen Daten werden jetzt an das als Sammelbecken
                            // agierende Datenobjekt angehängt.
                            oDataObject.PutString(oDataObject.GetString() + oBlob.GetString());
                        }
                    }

                    // Falls kein Aufsetzpunkt gemeldet wurde, sind wir jetzt fertig.
                    // Ansonsten wird die Auftragsnachricht mit einem Aufsetzpunkt
                    // wiederholt.
              
                    if (sCursor == null || sCursor.Length == 0)
                        break;
                    else
                        oHKKAZ["Aufsetzpunkt1",1 ] = sCursor;
                }
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 1221
Dabei seit: 02 / 2003
Betreff:

Re: Programmierung mit der DDBAC von DataDesign

 · 
Gepostet: 24.07.2004 - 22:06 Uhr  ·  #2
Hallo Bernhard,

da ein Großteil der Forennutzer im Bankenbereich tätig ist und weniger mit der Entwicklung von HBCI-Produkten zu tun hat, empfehle ich dir deine Anfrage an ddbac@datadesign.de zu senden. Eventuell hast du auch Glück und deine Frage wird hier geklärt.

Gruß
Daniel
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 06 / 2004
Betreff:

Re: Programmierung mit der DDBAC von DataDesign

 · 
Gepostet: 25.07.2004 - 10:13 Uhr  ·  #3
Hallo Daniel,

hmm, ... das war meine letzte Alternative, da ich vermute, dass DataDesign besseres zu tun hat als allen Hobbyprogrammierern auf die Beine zu helfen :)

Aber Versuch macht klug.

Vielen Dank nochmals und einen schönen Sonntag.

Gruß
Bernhard
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 06 / 2004
Betreff:

Re: Programmierung mit der DDBAC von DataDesign

 · 
Gepostet: 28.07.2004 - 20:07 Uhr  ·  #4
@all,

DataDesign hat sich sehr kooperativ gezeigt!

Nun funktioniert alles wie gewünscht.

Falls sich ein Programmierer hier herumtreibt:

Code

//SupplyTAN
oMessage = DDBAC.Dialog.ExecuteSegment(oHKKAZ);
sCursor = DDBAC.ReportResult (oMessage, oHKKAZ);  // <-- + oHKKAZ

Sie sollten auch folgende Zeile in DDBAC.cs ändern:

static private string FormatResultDisplayString (IBACMessage oMsg, ref string sCursor, ref int iStatusCode, BACSegment oSegment)
{
        string sDisplayString;
        sCursor = "";  // von null nach ""


Ich hoffe DataDesign hat nichts gegen die Veröffentlichung der Lösung und bedanke mich bei allen, die Anteil hatten.

Gruß
Bernhard
Gewählte Zitate für Mehrfachzitierung:   0