ein kleiner bugfix zum domino database splitter: wenn in einem folder zu viele dokumente sind, so läuft der client in ein timeout und bricht die bearbeitung dieses folders ab – daher muss man in diesem fall dokument für dokument in diesem folder durchgehen; diese function macht das.
einfach gegen die bestehende austauschen; fertig

hier die function:

Sub CheckFolderReferences(CheckDB As NotesDatabase) On Error Goto ErrHand Dim nve As NotesViewEntryCollection Dim ErrFolders() As String Dim ErrView As NotesView Dim ErrDoc As NotesDocument Dim AF As String Redim ErrFolders(0) 'todo: die beiden Views $FolderRef usw checken!! Call WriteLog("Überprüfe FolderReferences...", Info) If Not CheckDB.FolderReferencesEnabled Then CheckDB.FolderReferencesEnabled = True End If 'zur Sicherheit auf jeden Fall alle Folderreferences neu setzen Forall v In Checkdb.Views If v.isFolder Then Call WriteLog("Bearbeite FolderReferences im Folder " & v.Name, Info) AF = v.Name Set nve = v.AllEntries Call nve.PutAllInFolder( v.Name ) End If End Forall Forall ErrFolder In ErrFolders If ErrFolder<>"" Then Call WriteLog("Bearbeite EINZELN FolderReferences im Folder " & ErrFolder, Info) Set ErrView = CheckDB.GetView(ErrFolder) Set ErrDoc = ErrView.GetFirstDocument While Not ErrDoc Is Nothing Call ErrDoc.PutInFolder(ErrFolder) Set ErrDoc = ErrView.GetNextDocument(ErrDoc) Wend End If End Forall Exit Sub ErrHand: Call WriteLog("Bei diesem Folder muss Dokument nach Dokument durchgegangen werden...", Critical) ErrFolders(Ubound(ErrFolders)) = AF Redim Preserve ErrFolders(Ubound(ErrFolders)+1) Resume Next End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

One Response to CheckFolderReferences Timeout