Domino 9 und frühere Versionen > ND6: Entwicklung
Vor/Nach Eingang neuer Mail
Alois:
Ich habe in die Suche geschaut und glaube dass mein Agent laufen sollte. Allerdings das Ding will nicht so richtig.
Problem: verschiedene Dokumente können meine DB zugesandt werden und werden je nach "Form" unterschiedlich bearbeitet. Hier den Script:
Dim session As New NotesSession
Dim collection As NotesDocumentCollection
Dim db As NotesDatabase
Dim doc As NotesDocument
Print "Hier - Agent agMailFremdeDBEingang"
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
Print "Hier - Agent agMailFremdeDBEingang - Set"
Dim BasicSetup As NotesDocument
Const constrBasicSetupProfileForm = |frmBasicSetupProfile|
Set BasicSetup = db.GetProfileDocument(constrBasicSetupProfileForm)
Print "Hier - Agent agMailFremdeDBEingang - Profile"
Print collection.Count
While Not(doc Is Nothing)
Print "Hier - Agent agMailFremdeDBEingang - DocForm = " + doc.Form(0)
Select Case doc.Form(0)
Case "fremde AADb"
doc.AktuellerBearbeiter = BasicSetup.KeywordsMailEmpf(0)
doc.Form = "mainfrmF002"
doc.DocForm = "mainfrmF002"
Call doc.Save(True,True)
rc = Benachrichtigung(session, db, doc, BasicSetup, "fremde AADb")
Case "Memo"
rc = Benachrichtigung(session, db, doc, BasicSetup, "Memo")
Case Default
End Select
Set doc = collection.GetNextDocument(doc)
Wend
Print "Hier - Agent agMailFremdeDBEingang - Ende"
Ich bekomme in den Log meine Server alle Meldungen und muss feststellen dass meine Collection keine Dokument beinhaltet:
13.01.2005 16:08:17 Agent printing: Hier - Agent agMailFremdeDBEingang
13.01.2005 16:08:17 Agent printing: Hier - Agent agMailFremdeDBEingang - Set
13.01.2005 16:08:17 Agent printing: Hier - Agent agMailFremdeDBEingang - Profile
13.01.2005 16:08:17 Agent printing: 0
13.01.2005 16:08:17 Agent printing: Hier - Agent agMailFremdeDBEingang - Ende
Es kann meine Meinung nach nur an den folgende Befehl liegen:
Set collection = db.UnprocessedDocuments
Aber was kann ich an der Stelle schreiben????
..Andreas..:
Um das Dokument in Zugriff zu bekommen solltest Du es mal mit
Set doc = session.DocumentContext
versuchen.
Andreas
Alois:
@Andreas
Oh scheint zu funktionieren :)
ich habe aber in den Fall nur Zugriff auf ein Dokument... weißt du was passiert wenn ein andere Dokument rein kommt bevor der Agent fertig ist???
..Andreas..:
Der Agent läuft immer los wenn eine Mail eintrifft. Er wird also jedes Mail "für sich" abarbeiten, so dass es kein Problem ist, wenn Du so nur ein Dokument zu fassen bekommst.
Wenn hinter Deinen Aufrufen allerdings komplexe Aktionen stecken, kann es auch schon mal vorkommen das der Agent nicht rechtzeitig fertig wird, und vom Server "gecancelt" wird. Für diesen Fall solltest Du noch einen kleinen (periodischen?) Sicherheitsagenten einbauen.
Andreas
Alois:
@Andreas Super! Die Firma dankt
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln