Domino 9 und frühere Versionen > ND7: Entwicklung

Reminder Problem

(1/3) > >>

Alperen15:
Hallo alle zusammen. Ich bräuchte wieder mal Tipps von euch. Ich habe einen Reminder erstellt und laut Debugger springt der an einer Stelle raus wo ich nicht weiss was das Problem ist

An der fett markierten Stelle flieg ich raus..... Ich wäre dankbar, wenn Ihr mir weiter helfen könntet. Danke

Hier der Quellcode

Sub Initialize
   'Agent wird automatisch gestartet Leasing ende vor 6 Monaten
   Dim oSession As New NotesSession
   Dim db As NotesDataBase   
   Dim oHeute As NotesDateTime
   Dim oCreated As NotesDateTime
   Dim oDoc As NotesDocument
   Dim oSearchDoc As NotesDocument
   Dim oProfilDoc As NotesDocument
   Dim oNeuDoc As NotesDocument
   Dim oRTItem As NotesRichTextItem   
   Dim cDate As String, kWeek As String, cText As String, nAnz As Long
   Dim oView As NotesView   
   Dim Empmanager As String
   Dim Empresponsible As String
   
   Set db = oSession.CurrentDataBase
   Set oHeute = New NotesDateTime(Now)
   Set oProfilDoc = db.GetProfileDocument("PDAllgemein")      ' *** Adressat der Wiedervorlage
   Set oView = db.GetView("vwRem")                           ' *** Ansicht Reminder 1 (7 Tage nach Eingangsdatum)
   Set oNeudoc = db.CreateDocument                              ' *** neues Mail-Dokument kreieren
   oNeudoc.Form = "Memo"                                       ' *** die Maske für e-Mail Aufrufen
   nAnz = 0
   Empmanager = oProfilDoc.fdNameRequestManager(0)                                  ' *** Reminder1 aus Profildoc sind Empfänger
   Empresponsible = oProfilDoc.fdNameRequestClarification(0)
   On Error Goto ErrorPrint
   
   REM Tracerinitialisierungsparameter
   Dim aTracerPara(1) As Variant
   
   cgTracerVorzugRem1 = "aaReminder2 test"
   
   aTracerPara(0) = "Request DB"
   aTracerPara(1) = "PDAllgemein"
   If Not(xQAnfangID(aTracerPara)) Then
      Print "Agent: Request DB Test: Konnte Tracer/Logger/Protokoll nicht initialisieren. Abbruch der Funktion."
      Exit Sub
   End If     ' If Not(xQAnfangID(aTracerPara)) Then      
   
   Set oRTItem = New NotesRichTextItem(oNeuDoc, "Body")    ' *** in Body des Memos reinschreiben
   Call oRTItem.AppendText("Bei folgenden Dokumenten blabla test.")
   Call oRtitem.AddNewLine(1)
   Call oRTItem.AppendText("Link zur Datenbank   --->   ")
   Call  oRTItem.AppendDoclink(oView, oView.Name)
   Call oRtitem.AddNewLine(2)
   
   cDate = oHeute.DateOnly
   
   Set oSearchDoc = oView.GetFirstDocument
   While Not (oSearchDoc Is Nothing)
      Set oCreated = New NotesDateTime(oSearchDoc.Created)
      cDate = oCreated.DateOnly
      Call oRtitem.AddNewLine(1)
      'Call oRTItem.AppendText(Cstr(oSearchDoc.ENDE(0)) + "   ---   " + Cstr(oSearchDoc.OBJEKT_KFZ_KENNZ(0)) + "   ---   " + Cstr(oSearchDoc.HERSTELLER(0)) + " " + Cstr(oSearchDoc.TYP(0)) + "    --->   ")
      Call  oRTItem.AppendDoclink(oSearchDoc, " Verbindung zum Wiedervorlagedokument. Bitte klicken.")
      nAnz = nAnz + 1
      Set oSearchDoc = oView.GetNextDocument(oSearchDoc)
   Wend
   cText = "aaReminder2: " + Cstr(nAnz) + " Dokumente zur Prüfung gefunden"
   Call XQSchreiben("0", "1",  cgTracerVorzugRem1, cText, 632637&)         
   
   ' *** Mail fertigstellen
   oNeuDoc.Subject = "Leasing in 6 Monaten zu Ende: Folgende Dokumente sind heute zur Vorlage fällig."
   If nAnz <> "0" Then
      If oProfilDoc.fdNameRequestClarification(0) <> "" Then
         oNeuDoc.SendTo = Empresponsible
         Call oNeuDoc.Send(False)
         Call XQSchreiben("0", "1",  cgTracerVorzugRem1, "aaReminder2 Leasing: Mail an Personenkreis Reminder 1 verschickt", 632637&)
      Else
         oNeuDoc.SendTo = Empmanager
         Call oNeuDoc.Send(False)
         Call XQSchreiben("0", "1",  cgTracerVorzugRem1, "aaReminder2 Leasing: Mail an Personenkreis Reminder 1 verschickt", 632637&)
      End If
   End If
   Goto EndeAlles
   
ErrorPrint:   
   Call XQSchreiben("0", "1", cgTracerVorzugRem1, "aaReminder2 Leasing: Fehler bei der Verarbeitung", 632637&)      
   Resume Next
   
EndeAlles:
   Call xQEnde                     ' *** Schreiben und schließen LogFile
   
End Sub

Driri:
Was heißt denn "er springt raus" ?

Und was ist "xQAnfangID" ?

Alperen15:
der Debugger springt an der Stelle raus.... Der Agent ist kopiert, den habe ich umgeändert die Felder, Ansichtname usw....

Driri:
xQAnfangID dürfte wohl eine Funktion sein, die da aufgerufen werden soll. Vermutlich findet er die Funktion nicht. Vielleicht steckt die in einer Scriptbibliothek, die nicht mitkopiert wurde oder nicht eingebunden ist ?

Man sollte niemals Code einfach kopieren und anpassen, den man nicht kennt bzw. versteht. Das führt gerade bei Code, der aus mehr als einer Handvoll Zeilen besteht fast garantiert zu Problemen.

Im übrigen wäre es evtl. gerade zu Übungszwecken besser, so einen Agenten selber zu schreiben.

Und noch ein Tipp. Diese Zeile hier


--- Zitat ---Set oView = db.GetView("vwRem")                           ' *** Ansicht Reminder 1 (7 Tage nach Eingangsdatum)

--- Ende Zitat ---

sieht ganz verdächtig nach Verwendung von @Today in der Selektionsformel der Ansicht aus. Das sollte man sich aus Performancegesichtspunkten gut überlegen. Dazu gibt es hier im Forum diverse Beiträge.


Edit :
Wenn ich meine Antwort lese, kommt sie mir ein bißchen schroff vor. Das ist nicht so gemeint, ich habe nur keine Zeit, an den Formulierungen zu schleifen  ;)

Alperen15:
Kein Problem Ingo ich schau mir den Agenten mal genauer an und die bibliothek dann melde ich mich ncoh mal. Der Reminder soll ja produktiv werden sollte heute noch fertig werden  ^-^

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln