Domino 9 und frühere Versionen > Entwicklung

Agent funktioniert nicht

(1/3) > >>

robertpp:
Ich hab ein kleines Problem mit diesem Agent!!!
Er funktioniert nicht richtig!!! Erst wenn ich im Designer in den Agent reingehe und dann speichern sag dann versendet er mir mails er soll aber jede nacht laufen!
Kann mir wer helfen und mir sagen was ich falsch gemacht habe!

Danke robertpp

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Set db = s.CurrentDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim memo As NotesDocument
   Dim rtitem As NotesRichTextItem   
   Dim umstellgrund As String   
   Set view=db.GetView("To Do")
   Set doc=view.GetFirstDocument
   
   Do Until doc Is Nothing
      If Isempty (doc.Umstellungsgrund) Then
         umstellgrund =" "
      Else
         umstellgrund = doc.Umstellungsgrund(0)
      End If
      
      If doc.Status(0) = "1.) new" Or doc.Status(0) = "2.) in work" Then
         If doc.EndTime(0)  +1 = Date Then
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.who
               Set rtitem = memo.CreateRichTextItem( "Body" )                  
               Call rtitem.AppendText("Your To-Do-entry ''" +  doc.beschreibung(0) + "'' should have been finished until today. Please finish the job or make an update of the enddate ")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.whom
               Set rtitem = memo.CreateRichTextItem( "Body" )                  
               Call rtitem.AppendText("The To-Do-entry ''" + doc.beschreibung(0) + "'' from ''" + doc.who(0) + "'' should have been finished until today")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
            
         Elseif doc.EndTime(0) = Date Then
            Set memo =db.CreateDocument
            With memo
               .Form="Memo"
               .Subject="To Do entry ''"+ doc.beschreibung(0) + "'' to finish"
               .SendTo=doc.who
               Set rtitem = memo.CreateRichTextItem( "Body" )                                 
               Call rtitem.AppendText("Don't forget to finish your todo-entrie ''" + doc.beschreibung(0) + "'' today ")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendText("Subject: "+ umstellgrund+ "")
               Call rtitem.AddNewLine(2)
               Call rtitem.AppendDocLink(doc,doc.beschreibung(0))
               Call memo.Send(False)
            End With
            Delete memo
         End If
      End If
      Set doc=view.getnextdocument(doc)
   Loop   

End Sub

klaussal:
... was sagt das protokoll des agenten ?
server eingetragen, wo der agent laufen soll ?

robertpp:
das Protokoll sagt :
Agent 'sendtofinish' wurde am 14.04.2003 04:00:11 gestartet
Bearbeitet alle Dokumente in der Datenbank: insgesamt 1495
1495 Dokumente gefunden, die die Suchkriterien erfüllen
LotusScript Code ausgeführt
Agent 'sendtofinish' wurde am 14.04.2003 04:00:15 beendet

Kann mir nicht vorstellen das der agent in 4 sec fertig ist!! Da passt irgenwas nicht!! Wenn ich ihn aber händisch aufrufe dann geht er!!!

robertpp

Rob Green:
hm...hast Du eine Default View definiert im Designer? Wenn man mit DocLinks arbeitet, benötigt Notes unbedingt so eine View.

eknori:
Ich behelfe mir in solchen Situationen immer damit, daß ich Protokolleinträge erzeugr, die mir dann AUfschluß darüber geben, ob der Agent an einer bestimmten Stelle überhaupt irgend etwas macht.

http://www.atnotes.de/index.php?board=9;action=display;threadid=3043;start=0

Dann kann ich zumindest testen, ob der Agent in ein IF reingeht, oder nicht.

Der Fehler läßt sich damit recht schnell finden. Ist auch ganz nützlich, wenn im produltiven mit "richtigen Daten" gearbeitet wird und dann trotz fehlerfreiem Testlauf des Agenten Probleme auftreten.
Kann man natürlich auch mit der NoteLOG class lösen  :D

eknori

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln