@Andreas: Der Agent läuft mit der Server-ID und beschränkte OP's zulassen ist auch drin.
@Driri: Die Dokumente haben nur Autorenfelder.
@ata: klar, kein Problem, hier der Testcode:
zu erwähnen wär vielleicht noch: Die Dokumente die gelöscht werden sollen, kriegen ein Kennzeichen "D" verpasst und landen dadurch in der Ansichtsauswahl.
Function DeleteMarkedChipAssigns()
'*********************************************************************************************************************************
'deletes the chip assigns after creating interface file
'*********************************************************************************************************************************
'invoked from: Initialize of this agent
'used libraries: logging
'used functions: CreateLogEntry(DBName As String, User As String, DesignElement As String, InvokingEvent As String, _
' Text As String)as Boolean
'*********************************************************************************************************************************
On Error Goto ErrHandle
'*********************************************************************************************************************************
Dim viewDel As NotesView
Dim docCol As NotesDocumentCollection
Dim docDel As NotesDocument
'*********************************************************************************************************************************
'delete the marked chip assignments
Set viewDel = db.GetView("lkpInterfaceChipAssignmentsDel")
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"Name der Ansicht: " & viewDel.Name)
Set docDel = viewDel.GetFirstDocument
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"NoteID: " & docDel.NoteID)
While Not (docDel Is Nothing)
Call docDel.Remove(True)
Set docDel= viewDel.GetFirstDocument
Wend
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"alle gekennzeichneten Chip-Zuordnungen gelöscht")
%REM
Set doccol = viewDel.GetAllDocumentsByKey("D",True)
If Not (docCol.Count = 0) Then
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"Anzahl löschende Chip-Zuordnungen: " & docCol.Count)
Call doccol.RemoveAll(True)
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"alle gekennzeichneten Chip-Zuordnungen gelöscht")
Else
Call CreateLogEntry(DB.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"keine zum Löschen gekennzeichnete Chip-Zuordnungen")
End If
%ENDREM
Leave:
Exit Function
ErrHandle:
Call CreateLogEntry(db.title,s.CommonUserName,"Agent: InterfaceTime","DeleteMarkedChipAssigns",_
"Error" & Str(Err) & ": " & Error$ & " in Zeile " & Erl)
Resume Leave
End Function