Autor Thema: Vor/Nach Eingang neuer Mail  (Gelesen 4138 mal)

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Vor/Nach Eingang neuer Mail
« am: 14.01.05 - 07:33:55 »
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????

Offline ..Andreas..

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
  • Brevity is the soul of wit.
Re: Vor/Nach Eingang neuer Mail
« Antwort #1 am: 14.01.05 - 08:59:56 »
Um das Dokument in Zugriff zu bekommen solltest Du es mal mit

Set doc = session.DocumentContext

versuchen.

Andreas

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Vor/Nach Eingang neuer Mail
« Antwort #2 am: 14.01.05 - 09:24:26 »
@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???

Offline ..Andreas..

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
  • Brevity is the soul of wit.
Re: Vor/Nach Eingang neuer Mail
« Antwort #3 am: 14.01.05 - 09:33:08 »
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

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Vor/Nach Eingang neuer Mail
« Antwort #4 am: 14.01.05 - 09:53:50 »
@Andreas Super! Die Firma dankt

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Vor/Nach Eingang neuer Mail
« Antwort #5 am: 14.01.05 - 10:40:51 »
Wichtiger Hinweis: Offenbar - auch wenn das nicht ausdrücklich gesagt wurde - ist das ein Agent "Vor" Auslieferung.

Man beachte, dass die Agenten "Nach Auslieferung" das anders handhaben.

Grundsätzlich wäre zu empfehlen, diese Funktionalität umzuwandeln in einen Agenten "Nach" Mailempfang, die Agenten "Vor" sollten wenn immer möglich vermieden werden: sie werden vom Mail-Router verarbeitet und nicht vom Agent-Manager, und der Mailrouter hat eigentlich wichtigere Aufgaben zu tun.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Vor/Nach Eingang neuer Mail
« Antwort #6 am: 14.01.05 - 14:19:03 »
@Semeaphoros
heißt es dass für ein Agente "Nach Eingang" würde den Befehl Set doc = session.DocumentContext nicht funktionieren? könntest du mir dann sagen mit welchem Befehl ich an die Dokuemnte drann kommen kann?

Sonst ist mir klar dass der Mailrouter was besseres zu tun hat (ehrlich gesagt ich hatte mich noch nicht gekümmert wer was macht). Ich kann nur sehen dass der MailRouter nicht viel CPU braucht (während der normalle Betrieb). Sind da andere Aufgaben was er zu überweltigen hat die ab und zu mehr brauchen?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Vor/Nach Eingang neuer Mail
« Antwort #7 am: 14.01.05 - 16:18:03 »
Da musst Du dann die UnprocessedDocuments verwenden. Hauptproblem mit den Before-Agenten: solange so ein Agent läuft, werden keine weiteren Mails mehr geroutet, sprich bei einem stak benutzten Mailserver kann durch solche Agenten durchaus der Mailverkehr behindert werden.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz