Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: kuabuab am 22.08.08 - 15:23:42

Titel: selektive Replikation mit Lotus Script
Beitrag 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
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: koehlerbv am 22.08.08 - 15:27:45
Aus der DesignerHelp:
Zitat
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
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: jBubbleBoy am 22.08.08 - 15:36:04
Man kann sich eine Lookup Ansicht basteln, aber errorhandler geht natürlich auch ;)
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: koehlerbv am 22.08.08 - 15:51:54
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
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: kuabuab am 22.08.08 - 16:01:38
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?
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: koehlerbv am 22.08.08 - 16:09:24
Früher abfangen? Bevor er auftritt? Eher nicht ...

Bernhard

PS: Hast Du auch einen ansprechbaren Namen?
Titel: Re: selektive Replikation mit Lotus Script
Beitrag von: kuabuab am 25.08.08 - 08:23:56
Hi Bernhard

Vielen Dank auch. Werde mal mein Error Handler noch etwas ausbauen...


Und Grüsse
Dani