Danke schonmal für die Hilfsbereitschaft :-)
Ich ändere mit diesem Agenten die Feldinhalte in meinen Dokumenten.
FIELD VKenntnis := @ReplaceSubstring(VKenntnis;"Peter Muster";"Lieschen Müller");
FIELD VErledigung := @ReplaceSubstring(VErledigung;"Peter Muster";"Lieschen Müller");
FIELD VZuarbeit := @ReplaceSubstring(VZuarbeit;"Peter Muster";"Lieschen Müller");
FIELD VBerechtigt:= @ReplaceSubstring(VBerechtigt;"Peter Muster";"Lieschen Müller");
FIELD hVKennzeichen := ("Vorgangskennzeichen123");
SELECT @All
Zweck des ganzen, ich möchte Zugriffsrechte steuern. Der Eintrag „Peter Müller“ soll durch „Lieschen Müller“ ersetzt werden. Das „Vorgangskennzeichen123“ wird gesetzt und löst somit nachts den weiteren Agenten aus, der die Benutzernamen in die betreffenden Autoren und Leserfelder schreibt. Und bei diesem Agenten hakt es jetzt.
Da der Agent sehr umfangreich ist, poste ich mal hier mal den Anfang
Dim i As Integer
Dim m As Integer
Dim n As Integer
Dim p As Integer
Dim z As Integer
Dim s As Integer
Dim c As Integer
Dim db As NotesDatabase
Dim newVals( ) As String
Dim newVals2( 1 To 200 ) As String
Dim newVals3( ) As String
Dim newVals_main() As String
Dim item As NotesItem
Dim item2 As NotesItem
Dim doc As NotesDocument
Dim rdoc As NotesDocument
Dim awdoc As NotesDocument
Dim maindoc As NotesDocument
Dim session As New NotesSession
Dim collection As NotesDocumentCollection
Dim collectionRechte As NotesDocumentCollection
Dim collectionTermin As NotesDocumentCollection
Set db = session.CurrentDatabase
'
Call db.UpdateFTIndex(True) ' aktualisieren des Indexes
' On Error Goto ErrHandler
' Alle neuen bzw. geänderten Vorgänge haben das Zeichen "Vorgangskennzeichen123"
Set collectionRechte = db.FTSearch ( "Vorgangskennzeichen123", 0 )
Set doc = collectionRechte.GetFirstDocument
While Not doc Is Nothing
Redim newVals(200)
Redim newVals3(10)
Redim newVals_main(200)
If doc.IsValid = True Then
'Kennzeichen für geändertes Dokument austragen
doc.hVKennzeichen = ""
Call doc.Save( False, True )
'############################################### Rechtevergabe für Vorgangsdokument bei Erlediger #####################################
doc.hVAutor=""
doc.hVLeser1=""
i = 0
p = 0
z = 1
HIER STEIGT DER AGENT DANN AUS Set maindoc = db.getDocumentByUNID(doc.DocID(0))
If maindoc.IsValid = True Then
'Für Autor:
Forall x In doc.VErledigung
i = i+1
End Forall
If i = 0 Then
'Exit Sub
Else
Set item = doc.GetFirstItem( "hVAutor" )
newVals( z ) = "[V_Ersteller]"
z = z +1
For p = 0 To i -1
newVals( z ) = doc.VErledigung(p)
z = z +1
Next p
Call item.AppendToTextList( newVals )
Call doc.Save( False, True )
End If
Wie gesagt vor der Änderung meiner Feldinhalte ist dieser Agent gelaufen. Also was ist passiert?