Speicherprobleme bei "Aktivität erstellen"

5. Mai 2017 10:52

Hallo Zusammen,

ein Kunde mit NAV 2016 (Build: 44974, also CU 4) hat im Marketing-Modul (Kontakt --> Aktivität erstellen) sporadisch Probleme beim Importieren/Abspeichern von Word-Dokumenten.
Da die Probleme nur sporadisch und unter nicht bekannten Bedingungen auftreten, konnten sie bisher leider nicht reproduziert werden.
Laut Schilderung des Kunden kommt es sporadisch bei der Aktion "Aktivität erstellen" im Kontakt zu einem der folgenden 2 Problemfälle:

1. Problemfall:
Wird versucht die Aktion "Aktivität erstellen" mit "Beenden" zu beenden kommt es zu folgender Fehlermeldung
Fehlermeldung bei Aktivität erstellen.png

welche die Aktion abbricht. Die eingepflegten Daten gehen hierbei verloren.

2. Problemfall:

Wird versucht das innerhalb der Aktion "Aktivität erstellen" erzeugte Word-Dokument zu schliessen erscheint nicht - wie sonst - die Abfrage "Dateianhang importieren ?" und der Import erfolgt auch nicht.
Die im Word-Dokument zuvor eingepflegten Daten gehen hierbei verloren.


Beide Problemfälle treten anscheinend unabhängig voneinander auf, nur sporadisch und unter nicht bekannten Bedingungen, zudem bei unterschiedlichen Usern.

Hat hier schon mal jemand von solchen Phänomenen gehört bzw. hat eine Idee, woran dies liegen könnte oder was man da tun könnte ?

Vielen Dank für Eure Hinweise/Unterstützung,
Blue
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von BlueInTheSky am 12. Juli 2017 11:11, insgesamt 1-mal geändert.

Re: Speicherprobleme bei "Aktivität erstellen"

5. Mai 2017 11:03

Hallo,

benutzt du Office 2013 und Terminalserver?

Gruß Fiddi

Re: Speicherprobleme bei "Aktivität erstellen"

5. Mai 2017 12:16

fiddi hat geschrieben:Hallo,

benutzt du Office 2013 und Terminalserver?

Gruß Fiddi



--> Hallo Fiddi, Terminalserver ist nicht im Einsatz. Welche Office-Version im Einsatz ist frage ich gerade nach (auf dem NAV-Server ist es Office 2010, bin mir aber nicht sicher, dass dies auf den Einzelplatz-PCs auch so ist)

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 14:02

Problemfall 1 ist gelöst, lag an einer kundenindividuellen Zusatzprogrammierung, die zu den ungewünschten Nebeneffekten geführt hat.

Problemfall 2 tritt nach wie vor ab und zu auf (unter nicht erkennbaren Bedingungen) und konnte bisher nicht reproduziert werden.
Die folgende Programmstelle, an der die Abfrage „Dateianhang importieren … ?“ (im Screenshot: Text021) auftritt, ist nicht angepasst, ist also noch NAV-Standard (gem. NAV2016 CU4):
CU 5054 WordManagement Fkt WordHandler.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 14:11

Hallo,

früher war es so, dass ein erstelltes Word-Dokument nicht mehr verändert werden sollte. D.h. ein erstelltes Word-Dokument wurde immer Read-Only. Wie ist es denn um das Read-Only- Flag im Attachment-Record bestellt?

Gruß Fiddi

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 15:35

fiddi hat geschrieben:Hallo,

früher war es so, dass ein erstelltes Word-Dokument nicht mehr verändert werden sollte. D.h. ein erstelltes Word-Dokument wurde immer Read-Only. Wie ist es denn um das Read-Only- Flag im Attachment-Record bestellt?

Gruß Fiddi


Hallo Fiddi,
dies wurde dort anscheinend über folgende Stelle in Tabelle 5065 "Interaction Log Entry"
in Funktion "OpenAttachment" ausgehebelt, um das Dokument auch später noch bearbeiten zu können:
Table 5065 Interaction Log Entry Fkt OpenAttachment.png

Es ist für den Kunden auch wichtig, das Word-Dokument später noch bearbeiten zu können.

Die Programmstelle, an der die Abfrage „Dateianhang importieren … ?“ auftritt (Codeunit 5054 "WordManagement"."WordHandler") ist nicht angepasst, ist also noch NAV-Standard und hat sich auch in späteren Cumulativen Updates nicht verändert (geprüft mit dem aktuellen Cumulativen Update 19).

Vielen Dank für die Hilfe/Hinweise,
Blue
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 15:39

Und wenn du mit dem Debugger dort einen Breakpoint bei der Abfrage auf "ReadOnly" setzt, dan weiß NAV das auch noch, das der Record vorher geändert wurde. Denn ohne Modify ist das ganze nur temporär.

Gruß Fiddi

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 17:24

fiddi hat geschrieben:Und wenn du mit dem Debugger dort einen Breakpoint bei der Abfrage auf "ReadOnly" setzt, dan weiß NAV das auch noch, das der Record vorher geändert wurde. Denn ohne Modify ist das ganze nur temporär.

Gruß Fiddi



--> Hallo Fiddi,
ja, vielleicht würde

Code:
Attachment.MODIFY;


hinter

Code:
Attachment.GET("Attachment No.");
Attachment."Read Only" := FALSE;   //Kundenanpassung


das Problem, schon lösen. Hoffe nur, dass es keine Seiteneffekte hat, auch wenn ich aktuell keine sehe.

Danke und Grüße,
Blue

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 17:43

Wenn der geänderter Record bei der Abfrage so ankommt (Debugger), musst du den Modify nicht machen.

Gruß Fiddi

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 22:00

fiddi hat geschrieben:Wenn der geänderter Record bei der Abfrage so ankommt (Debugger), musst du den Modify nicht machen.

Gruß Fiddi


--> Das stimmt. Dann ist die Ursache aber leider auch noch nicht gefunden.

Re: Speicherprobleme bei "Aktivität erstellen"

11. Mai 2017 22:16

Wo steigt er denn aus der den If-Abfragen laut Debugger aus?

Gruß Fiddi

Re: Speicherprobleme bei "Aktivität erstellen"

12. Mai 2017 08:54

fiddi hat geschrieben:Wo steigt er denn aus der den If-Abfragen laut Debugger aus?

Gruß Fiddi


--> Das ist ja das Problem, bisher konnten wir den Fall noch nicht mit Debugger nachstellen. Selbst wenn sich der Kunde unmittelbar nach dem Auftreten des Problems gemeldet hat, ist es beim nochmaligen Versuch nicht wieder aufgetreten. Und der Kunde merkt es ja selbst erst daran, wenn die Abfrage beim Schliessen des Word-Dokumentes nicht kommt. Und dann ist es ja auch schon zu spät zum Debuggen. Die Frage ist ja, warum sie nicht kommt.
Habe die Programmstelle, an der die Abfrage kommt (Codeunit 5054 „WordManagement“, Funktion „WordHandler“) nun so erweitert, dass Log-Dateien weggeschrieben werden, welche die 3 Bedingungen, die zum Nicht-Werfen der Abfrage führen können, mitloggt:
Log-Tabelle.png

Hoffe daraus schlauer zu werden.
Zudem habe ich das oben besprochene Attachment.Modify in Tabelle 5065 "Interaction Log Entry", Funktion "OpenAttachment" hinzugefügt.
Hoffe, dass das Problem nun optimaler weise gar nicht mehr auftritt und wenn, dass die Log-Daten ein klares Bild ergeben.
Falls er dann trotzdem noch wegen ReadOnly = TRUE abbricht, wäre vielleicht zu überlegen, diesen Teil aus der IF-Abfrage rauszunehmen.

Vielen Dank für Deine tatkräftigen Ratschläge/Einschätzungen und Gruß,
Blue
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Speicherprobleme bei "Aktivität erstellen"

12. Juli 2017 09:50

BlueInTheSky hat geschrieben:Hallo Zusammen,

ein Kunde mit NAV 2016 (Build: 44974, also CU 4) hat im Marketing-Modul (Kontakt --> Aktivität erstellen) sporadisch Probleme beim Importieren/Abspeichern von Word-Dokumenten.
Da die Probleme nur sporadisch und unter nicht bekannten Bedingungen auftreten, konnten sie bisher leider nicht reproduziert werden.
Laut Schilderung des Kunden kommt es sporadisch bei der Aktion "Aktivität erstellen" im Kontakt zu einem der folgenden 2 Problemfälle:

1. Problemfall:
Wird versucht die Aktion "Aktivität erstellen" mit "Beenden" zu beenden kommt es zu folgender Fehlermeldung
Fehlermeldung bei Aktivität erstellen.png

welche die Aktion abbricht. Die eingepflegten Daten gehen hierbei verloren.

2. Problemfall:

Wird versucht das innerhalb der Aktion "Aktivität erstellen" erzeugte Word-Dokument zu schliessen erscheint nicht - wie sonst - die Abfrage "Dateianhang importieren ?" und der Import erfolgt auch nicht.
Die im Word-Dokument zuvor eingepflegten Daten gehen hierbei verloren.


Beide Problemfälle treten anscheinend unabhängig voneinander auf, nur sporadisch und unter nicht bekannten Bedingungen, zudem bei unterschiedlichen Usern.

Hat hier schon mal jemand von solchen Phänomenen gehört bzw. hat eine Idee, woran dies liegen könnte oder was man da tun könnte ?

Vielen Dank für Eure Hinweise/Unterstützung,
Blue


--> Leider tritt Problemfall 1 immer noch auf (sporadisch,unter nicht bekannten Bedingungen, zudem bei unterschiedlichen Usern).
Die Hauptursache für diese Fehlermeldung war zwar eine Individualanpassung, die ich entfernt hatte, dies war aber wohl offensichtlich nicht die einzige Ursache.

In Zusammenhang steht dies vermutlich mit folgender Anpassung (in Tabelle 5065 "Interaction Log Entry", in Funktion "OpenAttachment"), die dafür sorgt, dass der Word-Anhang auch beim
späteren öffnen noch bearbeitet werden kann und die für den Kunden sehr wichtig ist (und damals in NAV 5.0 auch ohne Seiteneffekte funktioniert hat):
Table 5065 Interaction Log Entry Fkt OpenAttachment.png


Ich habe einmal recherchiert, an welchen Stellen ein LOCKTABLE auf Tabelle 5062 "Attachment" ausgeführt wird, welches die Fehlermeldung verursachen könnte und folgende Stellen
ermittelt:
- Tabelle 5062„Attachment“ (Dateianhang): Trigger "OnInsert"
- Codeunit 5051 „SegManagement“: Funktionen:
 -„LogSegment“
 -„LogInteraction“
- Codeunit 5054 „WordManagement“: Funktion "LogMessageAsInteraction"

Die Frage wäre nun, ob die LOCKTABLE-Aufrufe an obigen Stellen notwendig sind.
Laut NAV-Hilfe sind LOCKTABLE-Aufrufe ja nur in Sonderfällen notwendig:
Because all write operations automatically lock the table that is being used, LOCKTABLE appears unnecessary. However, you could have a transaction in which an application wants to
inspect data and then only possibly change it. You require a guarantee that the data being changed has not been modified by other applications since the read operation. The solution is to explicitly lock the table before the read operation. This guarantees that no other application makes changes between the read operation and the possible write operation.


Den LOCKTABLE-Aufruf in Tabelle 5062„Attachment“ (Dateianhang) im "OnInsert"-Trigger darf man sicher nicht entfernen, dieser sollte aber auch nicht die Ursache für die Fehlermeldung sein.
Wenn ein Auskommentieren der LOCKTABLE-Aufrufe dazu führen sollte, dass in dem Fall, dass 2 User denselben Anhang geöffnet haben, nur die Änderungen des letzten wirklich zurückgeschrieben werden, wäre das für den Kunden sicher besser, als wenn aufgrund der obigen Meldung ganze Anhänge verloren gehen.

Würde hier gerne Eure Einschätzung/Hinweise/Tipps hören.
Vielen Dank schonmal vorab !
Grüße, Blue
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von BlueInTheSky am 12. Juli 2017 11:19, insgesamt 1-mal geändert.

Re: Speicherprobleme bei "Aktivität erstellen"

12. Juli 2017 11:02

Hi,

kannst du bitte in deinem 1. Beitrag noch die Kundendaten ausgrauen :)
Ich würde vll. eine Merkmal setzen, dass der aktuelle Anhang bereits durch XYZ bearbeitet wird - so sollten keine Doppelbearbeitungen vorkommen.

Re: Speicherprobleme bei "Aktivität erstellen"

12. Juli 2017 11:17

sweikelt hat geschrieben:Hi,

kannst du bitte in deinem 1. Beitrag noch die Kundendaten ausgrauen :)
--> hab ich gemacht.

Ich würde vll. eine Merkmal setzen, dass der aktuelle Anhang bereits durch XYZ bearbeitet wird - so sollten keine Doppelbearbeitungen vorkommen.

--> Das haben wir versucht, das ist an dieser Stelle aber leider aufgrund des Medienwechsels (Word-Datei) schwierig, da das Schliessen der Word-Datei nicht unter allen Bedingungen abgefangen werden kann. Dies hat in solchen Fällen dann dazu geführt, dass diese Datei danach dann gar nicht mehr geöffnet werden konnte, weil gesperrt :-(. Daher haben wir den Code wieder entfernt.

Re: Speicherprobleme bei "Aktivität erstellen"

12. Juli 2017 14:31

BlueInTheSky hat geschrieben:Dies hat in solchen Fällen dann dazu geführt, dass diese Datei danach dann gar nicht mehr geöffnet werden konnte, weil gesperrt :-(. Daher haben wir den Code wieder entfernt.


glaub ich natürlich - daher müsste auch eine Entsperrfunktionalität implementiert werden - wenn also bspw. Word crasht, muss der Nutzer in der Lage sein, den entspr. <<Interaction Log Entry>> wieder freizugeben.

Re: Speicherprobleme bei "Aktivität erstellen"

12. Juli 2017 15:33

sweikelt hat geschrieben:
BlueInTheSky hat geschrieben:Dies hat in solchen Fällen dann dazu geführt, dass diese Datei danach dann gar nicht mehr geöffnet werden konnte, weil gesperrt :-(. Daher haben wir den Code wieder entfernt.


glaub ich natürlich - daher müsste auch eine Entsperrfunktionalität implementiert werden - wenn also bspw. Word crasht, muss der Nutzer in der Lage sein, den entspr. <<Interaction Log Entry>> wieder freizugeben.


--> Problemfall 1 tritt allerdings schon bei "Aktivität erstellen" auf, da kann ja kein anderer Benutzer den selben Anhang geöffnet haben.