[Gelöst] E-Mail Logging -> Problem mit Mail GUID

3. Mai 2010 17:39

Hallo Zusammen,

bei einem unserer Kunden läuft das NAV E-Mail Logging (V 5.01). Das Logging selbst läuft ansich stabil, nur haben wir mit der Zeit folgendes Phänomen beobachtet:
- E-Mails wurden einem falschen Kontakt zugeordnet (Contact No. am Aktivitätenprotokollposten falsch).
- Bei diesen APP wurde keine Contact Company No. hinterlegt (blieb leer)
- Merkwürdig ist, dass das Logging auschließlich nach dem E-Mail Suchbegriff = E-Mail in der DB sucht und den Kontakt entsprechend zuordnet
- In der CU 5064 gibt es nur eine Stelle an der das nicht der Fall ist:
Code:
CLEAR(MailGUID);
Mail.FindMailGUID(CDOMessage,MailGUID);
InteractLogEntry.SETFILTER("Mail GUID",MailGUID);  //Filter in den APP auf die aktuelle MailGUID
IF InteractLogEntry.FINDFIRST AND NOT ISNULLGUID(MailGUID) THEN BEGIN
  SegLine."Contact No." := InteractLogEntry."Contact No.";  //übernehmen der Contact No. -> wenn GUID nicht eindeutig,
                                                                                        //dann ist die No. falsch zugeordnet
  InsertSegLine(SegLine);
END ELSE...


Tiefer gehende Recherchen haben nun ergeben, dass es in den APP mehrere Posten mit der gleichen Email-GUID gibt. Ich dachte eine GUID ist eindeutig!?!?!
Ich denke, die fehlerhaften Posten werden genau durch das oben stehende Codestück erzeugt.
- Die EmailGUID wird gefunden
- Der "falsche" Kontakt wird zugeordnet
- Die Unternehmensnummer bleibt leer

Hat jemand eine Ahnung, wozu dieses Stück Code UNBEDINGT notwendig ist?
Hat jemand ähnliche Erfahrungen gemacht?
Warum ist die EMail GUID nicht eindeutig, bzw. wann/wie entsteht diese?

Bin für alle Hinweise dankbar!
Achso: der Code sieht in NAV 2009 noch genau so aus. :(

Grüße
Steffen
Zuletzt geändert von cpt am 4. Mai 2010 15:02, insgesamt 1-mal geändert.

[Gelöst] E-Mail Logging -> Problem mit Mail GUID

4. Mai 2010 14:48

Für alle, die es interessiert und die evtl. die gleichen Probleme haben:

Der global unique Identifier ist bei MS unter umständen nicht unique. ;-)
Wenn eine Mail aus NAV heraus erzeugt wird erhält sie von NAV via CREATEGUID eine GUID (benutzerdefiniertes Feld in Outlook). Beim Aktivität erstellen in NAV wird bereits ein APP erzeugt, der die GUID bereits besitzt. Kommt die Mail nun später über das E-Mail Logging in die APP, so sucht NAV zuerst nach der GUID der Mail in den APP. Diese wird dementsprechend beim Ursprungs-Posten (Aktivität erstellen) gefunden und die Mail wird zugeordnet. Es wird also kein zweiter Posten erzeugt. Soweit so gut.

Wird die in NAV erzeugte Mail nun aus den "gesendeten Objekten" aus Outlook heraus noch einmal gesendet oder weitergeleitet (z.B. an einen anderen Kontakt, weil der Inhalt der Mail gerade passt.), so hat diese neue Mail leider die gleiche GUID wie die Ursprungsmail. Was passiert? NAV sucht beim E-Mail Logging in den Posten nach der GUID, findet diese und erstellt einen neuen Posten mit der Kontaktnummer des ersten Postens. Und diese Kontaktnummer ist falsch, weil die weitergeleitete Mail ja an einen anderen Adressaten ging.

Thats it. Eskalation bei MS.
Viele Grüße
Steffen