hallo werte Kollegen.....
ich habe mal wieder ein Problem und würde gerne um Hilfe bitten.....
ich habe ein Skript geschrieben, welches unter bestimmten Bedingungen Dokumente von einer Datenbank in eine andere kopiert, das Skript selber läuft in einer dritten DB.... soweit alles ganz gut.... das gewünschte Dokument landet auch in der Zieldatenbank....... im Anschluß hieran sollen noch einige Werte im kopierten Dokument geändert werden..... ich führ diese Änderungen durch (sind im Debugger auch zu sehen) sie sind nur nach dem Durchlauf des Skripts nicht in der Zieldatenbank zu sehen....
für eine schnelle Hilfe wäre ich sehr dankbar....
mit bestem gruß LuckyNotes
P.S. der problematische Teil steht denke ich am Ende des Skripts in der If-Else-If Schleife...
Sub Initialize
Dim session As New NotesSession
Dim ui As New NotesUIWorkspace
Dim MB As NotesDatabase
Dim sourceDB As NotesDatabase
Dim targetDB As NotesDatabase
Dim mail As NotesUIDocument
Dim doc As NotesDocument
Dim searchID As String
Dim dcCOM As NotesDocumentCollection
Dim docCOM As NotesDocument
Dim server As String
Dim CISpath As String
Dim COMpath As String
Set MB = session.CurrentDatabase
Set mail = ui.CurrentDocument
server = MB.Server
'#server = "sdb15096"
MBpath = MB.FilePath
CISpath = isWord( MBpath , "\" , 1 ) + "\" + isWord( MBpath , "\" , 2 ) + "\" + "com\cis.nsf"
COMpath = isWord( MBpath , "\" , 1 ) + "\" + isWord( MBpath , "\" , 2 ) + "\" + "com\sales.nsf"
'#CISpath = "regional\nord\com\cis.nsf"
'#COMpath = "regional\nord\com\sales.nsf"
Set sourceDB = New NotesDatabase ( server , CISpath )
Set targetDB = New NotesDatabase ( server , COMpath )
' doc als aktuelles dokument setzen
CIS_ID = Right( mail.FieldGetText("CIS_ID"), 8)
Set doc = sourceDB.GetDocumentByID( CIS_ID )
'doc.ID =
doc.CIS_ID = "NT" + CIS_ID
saved1 = doc.Save( 1, 1, 1)
'Dokument in Zieldatenbank kopieren
Call doc.CopyToDatabase( targetDB )
searchID = "NT" + CIS_ID
Set dcCOM = targetDB.FTSearch(searchID, 0)
Set docCOM = dcCOM.GetFirstDocument()
While Not(docCOM Is Nothing)
'Operationen in COM DB
formCOM = docCOM.Form
cisIDCOM = docCOM.CIS_ID
If ( formCOM(0) = "CIS" And cisIDCOM(0) = searchID) Then
docCOM.Form = "Company"
docCOM.FormTitle = "Firma"
docCOM.ID = Left ( doc.ID(0), 15 )
savedCOM1 = docCOM.Save( 1, 1, 1 )
Elseif ( formCOM(0) = "Memo" And cisIDCOM(0) = searchID ) Then
docCOM.ID = Left ( doc.ID(0), 21 )
savedCOM2 = docCOM.Save( 1, 1, 1 )
Else
'Set docCOM = dcCOM.GetNextDocument(docCOM)
End If
Set docCOM = dcCOM.GetNextDocument(docCOM)
Wend
End Sub
hmmm, irgendwie nicht das, was ich erwartet hätte von der Konstruktion....
ich bekomme für
success = docCOM.ComputeWithForm( False, False )
einen Fehler zurück, dass der Ordner nicht gefunden werden könne, bzw bei .... False, True, dass ein @Befehl an dieser Stelle nicht verwandt werden könne.....
Du siehst mich in ratlosem Staunen......
LuckyNotes