Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: kuabuab am 22.08.08 - 15:23:42
-
Liebe Leidgenossen
Ich baue mir einen Agenten in Lotus Script der folgendes soll:
Kopieren und anpassen von Dokumente von der einen in die andere Datenbank.
Hmm, es kommt einer selektiven Replikation gleich. Nur, dass ich eben einige Felder anpassen muss. Darum kann ich die selektive Replikation nicht gebrauchen. Das Template ist das selbe.
(Kennt jemand ein Code-pool wo eine selektive Replikation in Lotus Script abgebildet ist?) ;)
Anyway, also ich hab ja schone einen halbwegs funktionierenden Agenten.
Mein Problem ist, die Prüfung ob ein Dokument in der ZielDatenbank schon vorhanden ist:
Ich vergebe dem Schwester Dokument ein eindeutige ID, bei anlegen.
Wenn ich prüfe, ob es dieses Dok schon gibt, dann schaff ich die Programmsteuerung nur über den ErrorHandler. ::)
Auszug aus dem Code
' # Set allready existing Document
Set DocCurrent = dbCurrent.GetDocumentByUNID(sTempId)
‚ ----> -Hier kommt die Fehlermeldung wenn das Dok noch nicht vorhanden ist
If Not(DocCurrent Is Nothing) Then
If Cint(iDiff) < 2 Then
ModifyCheck = CheckModifyFields(DocCurrent, DocFare)
If ModifyCheck Then
strLog = strLog & GetUsername(docFare)&Chr(13)
Else
'Update Address document
Call UpdateAddressEntry(DocCurrent, DocFare)
strLog = strLog & GetUsername(docFare)&Chr(13)
End If
End If
Else
--------------------------------------------------------------------------------------------------
' # Error-handling routine
ErrHandler:
Set DocCurrent = Nothing
'Print "Error" & Err & " at line number" &Erl
' # Resume the procedure.
Resume Next
Hat jemand eine bessere Idee als ich?
Grüsse aus
Liechtenstein
-
Aus der DesignerHelp:
Not matching the UNID to a document in the database raises lsERR_NOTES_BAD_UNID (4091).
Angesichts dieser tatsache: Was spricht gegen den ErrorHandler? Ich mache das auch so (was natürlich nicht der Massstab aller Dinge ist ;D).
Bernhard
-
Man kann sich eine Lookup Ansicht basteln, aber errorhandler geht natürlich auch ;)
-
Eine weitere Ansicht verschlechtert die Performance. Ausserdem ist GetDocumentByUNID um Grössenordnungen schneller als GetDocumentByKey.
Abgesehen davon ist eine "View by UNID" prinzipiell natürlich auch eine denkbare Lösung.
Bernhard
-
Schon mal vielen Dank für die Antworten...
das das mit den seperaten Ansichtern oder Collection kommt nicht so in Frage, da ich mich mit 50 000 bis 100 000 Dokumenten abquälen muss...
Könnte man den Error 4091 schon früher abfangen?
-
Früher abfangen? Bevor er auftritt? Eher nicht ...
Bernhard
PS: Hast Du auch einen ansprechbaren Namen?
-
Hi Bernhard
Vielen Dank auch. Werde mal mein Error Handler noch etwas ausbauen...
Und Grüsse
Dani