[gelöst] Schlechte Performance beim Druck der Gutschrift

12. Mai 2009 16:50

Hallo, wir haben bei einem Kunden mit einer mit 11 GB belegten nativen Datenbank (NAV 4.0 SP3, Build 25143) beim Drucken von gebuchten Gutschriften, dass der Druck einer einzelnen Gutschrift zwischen 10-20 Sekunden dauert. Wir drucken dabei eine angepasste Gutschrift, haben jedoch herausgefunden, dass der selbe negative Effekt beim unveränderten Standard-Report 207 auch auftritt. Ferner ist dabei das Phänomen festzustellen, dass ca. 150 Reads gemacht werden, wenn eine Gutschrift mit Artikeln gedruckt wird. Wird hingegen eine Gutschrift gedruckt, die Zeilen der Art Sachkonto enthält, dann werden ca. 46.000 (!kein Schreibfehler!) Reads durchgeführt. Hatte das jemand schon mal und hat evtl. die Lösung gefunden? Manche Ausdrucke kommen nicht mal am Drucker an, ein interner Zähler in der gebuchten Gutschrift, der die Drucke am Drucker mitzählt, wird zwar schön brav hochgesetzt, nur am Drucker kommt nichts an. Zudem ist dieses Verhalten auch lastabhängig: arbeiten alle User (ca. 70) alle voll und gleichzeitig, ist die Wahrscheinlichkeit des Nicht-Ausdruckens höher als wenn nur die Hälkfte davon gleichzeitig arbeitet.
Grüße Thomas.
Zuletzt geändert von thommes am 13. Mai 2009 11:55, insgesamt 1-mal geändert.

Re: Schlechte Performance beim Druck der Gutschrift Report 207

13. Mai 2009 11:07

Hallo thommes,

das sieht nach suboptimal gewählten Schlüsseln in einem der Dataitems aus (Schau mal auf welcher Tabelle die Reads stattfinden).
Ein zusätzliche Problem kann der 'Sales Shipment buffer' sein, dieses Verfahren um die Lieferungen zu finden ist leider suboptimal gelöst in 4.X, da hilft nur eine Programmerweiterung mit einer eigenen Referenztabelle, oder der Umstieg auf 5.0 :wink: (Der könnte es zwar besser, aber die Reports sind glaube ich, nicht angepasst worden :roll: )

Gruß, Fiddi

Re: Schlechte Performance beim Druck der Gutschrift Report 207

13. Mai 2009 11:54

Hallo Fiddi, so ein Zufall: vor 5 Minuten hat ein Kollege genau diese Stelle gefunden, ist auch unter NAV2009 genauso bescheiden gelöst. Danke für die Bestätigung!
Für alle Interessierten hier mal der Codeauszug aus der Function im Report 207: GenerateBufferFromShipment(SalesCrMemoLine : Record "Sales Cr.Memo Line")
Grüße Thomas.

TotalQuantity := 0;
SalesCrMemoHeader.SETCURRENTKEY("Return Order No.");
//---> in der nächsten Zeile sucht er bei einer Sachkontozeile jede Gutschrift durch und findet keine mangels geb. Rücksendungsnr., daher die zig reads bei vielen vorhandenen geb. Gutschriften mit Sachkonten:
SalesCrMemoHeader.SETFILTER("No.",'..%1',"Sales Cr.Memo Header"."No.");
SalesCrMemoHeader.SETRANGE("Return Order No.","Sales Cr.Memo Header"."Return Order No.");
IF SalesCrMemoHeader.FIND('-') THEN
REPEAT
SalesCrMemoLine2.SETRANGE("Document No.",SalesCrMemoHeader."No.");
[...]

Re: [gelöst] Schlechte Performance beim Druck der Gutschrift

13. Mai 2009 12:09

In 5.0 kann man über den Zugeordneten Wertposten den Artikelposten und darüber den Wertposten der Lieferung finden. Dort steht ab 5.0 neben der Belegnummer auch der Belegtyp des liefernden Dokuments drin, was die Zuordnung eindeutig macht, und auf die konkreten Belege verweist.

Gruß, Fiddi