Domino 9 und frühere Versionen > ND6: Entwicklung

Agent Error Accessing Product Object Method

(1/2) > >>

TomLudwig:
Hallo,

ich bekomme bei einem periodischen Agenten die Fehlermeldung:
"Error Accessing Product Object Method"

Die Fehlermeldung erscheint in der Serverkonsole...

Ich finde diese Fehlermeldung nur in Verbindung mit Replikationen. Aber nicht mit Agenten der in einer Ansicht alle Dokumente löschen soll.

Was mache ich falsch, wo kann das Problem liegen ?

DANKE!!!

koehlerbv:
Verwendest Du FrontEnd-Objekte ? Sowas wie Dim ws as New NotesUIWorkspace ?

Bernhard

TomLudwig:
Eigentlich nicht.
Das komische ist zudem, dass wenn ich den Agenten manuell starte, läuft er ohne Probleme durch & er ist auf einem anderen Server ohne Probleme gelaufen.

Anbei noch mal der komplette Quellcode des Agenten.

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   Dim tempdoc As NotesDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("($DelFlag)")
   Set doc = view.GetFirstDocument
   
   If doc Is Nothing Then
      Set doc = New NotesDocument(db)
      doc.Form = "DeleteFlag"
      doc.CanDelete = "1"
   Else
      Call doc.ReplaceItemValue("CanDelete","1")
   End If
   
   Call doc.Save(True, False)
   
   Set view = db.GetView("($DBLocked)")
   Set doc = view.GetFirstDocument
   
   If doc Is Nothing Then
      Set view = db.GetView("($DelFlag)")
      Set doc = view.GetFirstDocument
      Call doc.ReplaceItemValue("CanDelete","0")
      Call doc.Save(True, False)
      Exit Sub
   End If
   
   While Not ( doc Is Nothing )
      Set tempdoc = doc
      Set doc = view.GetNextDocument( doc )
      
      If db.GetOption(DBOPT_SOFTDELETE) Then
         Call tempdoc.RemovePermanently(True)
      Else
         Call tempdoc.Remove(True)
      End If
   Wend
   
   Set view = db.GetView("($DelFlag)")
   Set doc = view.GetFirstDocument
   Call doc.ReplaceItemValue("CanDelete","0")
   Call doc.Save(True, False)
   
End Sub

koehlerbv:
Bau Dir mal einen ErrorHandler ein (On Error Goto ErrorRoutine) und lass Dir dort mit Print Error$ und Erl ausgeben, damit die betreffende Stelle identifiziert werden kann.
Hast Du für NotesDatabase-GetOption die erforderliche Konstanten-Datei eingebunden ?
Hast Du Option Declare gesetzt ?

HTH,
Bernhard

TomLudwig:
Also der Error-Handler gibt mir aus in Zeile 39 - NoResume (bei der GetOption Methode der Database)

Ich habe die Datei für die GetOption Methode nicht eigebunden, da ich da drüber gar nichts weiß.

Was unter der Declare-Option zu verstehen ist, weiß ich leider auch nicht.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln