Re: Integer Überlauf -MT940-

25. Oktober 2011 21:41

Kannst du bitte kurz beschreiben, was du mit "lfd. Nr." meinst, das Feld gibt es nicht in den Tabellen.

Wichtig ist, was in dem Feld "Auszugszeilennr." steht. Dieses Feld sollte bei jedem neuen Auszug mit 10000 beginnen (bei euch mit 1) sowohl in der Tabelle 274 als auch in 276. Wenn das der Fall ist, sollten diese Tabellen jetzt rund laufen.

Gruß, fiddi

Re: Integer Überlauf -MT940-

26. Oktober 2011 10:00

Guten Morgen Fiddi,

jetzt komme ich langsam dahinter... denn bei uns ist das nicht so.... die Auszugszeilen sind seit 2007 bei uns durchlaufend... also ist etwas im Code des Imports falsch, der die lfd. Nr. generiert, die auch in Bankbeleg genutzt werden...

Grüße
Andrea

Re: Integer Überlauf -MT940-

26. Oktober 2011 10:26

Es ist aber hoffentlich so, dass die "Auszugsnr." immer eine andere ist?

Such mal im Code nach 'LastReconLineNo' diese Variable sollte nur an einer Stelle im Code gesetzt werden, und zwar wie du [url]=http://www.msdynamics.de/posting.php?mode=reply&f=7&t=14091#pr70643hier[/url] schon gefunden hast.

Ein ganz gemeiner Fehler wäre es, wenn der Import bei jedem Einlesen so viele Zeilen erzeugt. Bitte mal prüfen, ob hier nur die übliche Anzahl Zeilen in der Tabelle 274 drin steht.

Gruß, Fiddi

Re: Integer Überlauf -MT940-

26. Oktober 2011 10:51

Hallo Fiddi,

die 274 ist jetzt mit 387 Zeilen gefüllt und auch von 1-387 durchgezählt....(da ich ja auf 1 heruntergesetzt und die Bank Document geleert hatte... beim nächsten Import würde es dann bei 388 ohne Veränderung so weiter gehen...(ungern würde ich mit einer zweiten Tabelle Bank Document weiterarbeiten).

In der aktuellen Bank Document kann ich diese Zeilen mit dieser Logik nicht gut hinzufügen, weil es dann auch irgendwann kracht, wenn eine Entry-No. (Key) schon vorhanden ist, wie schon zuvor weil der Integer Wert in Entry No. seinen max. Wert erreicht hatte. Ich verstehe nicht, weshalb nicht einfach die Beleg-Nr. (Document No.) dazu verwendet wird, denn die nummeriert sich jedes Jahr neu und die kann man auch selbst benennen, ist allerdings kein integer sondern ein Code-Feld.

Es wird ja erst in 274 eingelesen und dann oder gleichzeitig (weiß ich noch nicht) in Bank Document (wegen der Verwendungszwecke etc., die man nachschlagen kann).

Code:
      // get last imported lino no.
      WITH BankDoc2 DO BEGIN
        RESET;
        IF FIND('+') THEN
          LastReconLineNo := "Entry No."
        ELSE
          LastReconLineNo := 0;
        RESET;
      END;

LastReconLineNo wird zum Start hier genommen (steht auch in MT940 drin)

Ich weiß einfach nicht, was ich weiter machen soll. Der Partner tendiert zur 2. Tabelle als Historie - nur das löst das eigentliche Problem ja auch nicht.
Andrea

Re: Integer Überlauf -MT940-

26. Oktober 2011 11:13

Da haben wir den Übelltäter:

in NAV2009 sieht der Code so aus:
Code:
      WITH BankDoc2 DO BEGIN
        RESET;
        IF FINDLAST THEN
          LastBankDocLineNo := "Entry No."
        ELSE
          LastBankDocLineNo := 0;
        RESET;
      END;


Dort heißt es nicht mehr LatsReconLineNo sondern LastBankDocLineNo. Das scheint ein Bug im Dataport 5001906 zu sein, der zumindest in 2009 behoben ist.
Du soltest dich an euren Partner wenden, damit du eine fehlerkorrigierte Version bekommst, unterschiedliche Zähler für BankDoc und BankReconLine benutzt.

Gruß, fiddi

Re: Integer Überlauf -MT940-

26. Oktober 2011 11:17

Danke, danke... ich werds versuchen und berichten...

Andrea