Domino 9 und frühere Versionen > ND7: Entwicklung
Problem mit Universal ID nach Datenänderung mit @ReplaceSubstring
watschn:
Aber ich ändere ja nur die Werte in normalen Textfeldern (Feldtyp Name).
Die Autorenfelder werden erst über den 2ten Agenten neu geschrieben und der funktioniert ja nicht.
Die nötige Admin Rolle habe ich auch
Axel:
Dann solltest du mal das Feld DocID prüfen. Ist das Dokument mit der dorthinterlegten ID auch wirklich in der Datenbank vorhanden?
Axel
ata:
... ich denke es liegt an dem Inhalt des Feldes DocID - dort ist entweder eine falsche DocID hinterlegt oder leer...
Toni
watschn:
Danke für die Tipps, ich komme jedoch nicht weiter.
Wenn ich den Agenten debugge, so wird schon immer eine DocID angezeigt. Allerdings ist das bei jedem Versuch eine andere und ich hab nicht so recht den Überblick welches Dokument das jetzt ist.
Wenn ich mir von der Datenbank aber eine Kopie erstelle un die Anzahl der Dokumente reduziere, so läuft der Agent teilweise ohne Fehlermeldung durch. Kann da aber auch kein System erkennen. Mal geht´s, mal geht´s wieder nicht.... dann scheitert er manchmal an der Bedingung If doc.IsValid = True Then... findet dann eben kein doc
Ich glaube da kommen mehrer Dinge zusammen und mehr fehlt es doch etwas am Durchblick.
Werd jetzt erstmal die Datenbank Rücksichern lassen.
ata:
... ich habe mir deinen Code mal näher angeschaut.
Du arbeitest mit FTSearch - der bringt dir maximal 5000 Dokumente zurück - und wirklich schneller ist er nur, wenn auch ein Volltext-Index der Datenbank erstellt und aktuell ist - was du in deinem Code zuvor ja machst. Da der Agent nachts läuft würde ich hier auf Nummer sicher gehen und den DB.Search verwenden:
Set collectionRechte = db.Search( {SELECT hVKennzeichen = "Vorgangskennzeichen123"}, Nothing , 0 )
... damit sparst du den Refresh des Volltextindexes zu Beginn deines Agenten. Eventuell kannst du in der Search-Formel auch noch auf DocID != "" filtern...
Mit doc.IsValid prüfst du, ob das Dokument nicht eventuell als Lösch-Stub vorliegt. Dahinter müsste er sich dann das nächste doc greifen - hier fehlt der übrige Code - ich gehe aber mal davon aus, daß du das so machst...
Dann würde ich ein Fehlerhandling mit On Error GoTo ErrorHandle einbauen. Damit kannst du den Fehler dann direkt abfangen - ist das Feld DocID gefüllt etc...
Werden im Verlauf deiner Routine denn auch Dokumente gelöscht?
Toni
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln