Autor Thema: remove.doc nach Call sourceDoc.CopyToDatabase(destDb) durchführen  (Gelesen 2129 mal)

Offline mde

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Das ist Notezig
Hi @All

Ich muss eine größere Menge Dokumente in eine Archiv Db verschieben.

Dabei wollte ich die Call sourceDoc.CopyToDatabase(destDb) nutzen und das Dokument direkt danach aus der souce db mit Call doc.Remove(True) löschen.
Es gibt keine Antwortdokumente zu den Dokumenten in der Datenbank.

Werden die dabei die Dokumente erst kopiert, oder kann es passieren das er die Dokumenten schon löscht bevor diese kopiert sind? (Natuerlich ist der Code erst kopieren dann löschen.

Für eine kurze Info wäre ich dankbar.
Gruß
mde

Erst Kopf,
dann Knopf.

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Hi,

welchen Grund sollte es geben, wenn die Anweisung lautet

kopieren
löschen

das umgekehrt zu machen, wenn Anweisung für Anweisung abgearbeitet wird?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Driri

  • Gast
Wenn man auf Nummer sicher gehen will, kopiert man erst die Dokumente in einer Schleife in die Archivdatenbank und löscht diese nur, wenn dabei kein Fehler aufgetreten ist.

Wenn man die Dokumente vorher in einer DocumentCollection hat, ist das Löschen auch nur noch ein Einzeiler.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
André hat grundsätzlich recht... for i = 1 to 10 zählt ja auch nicht einfach so mal rückwärts ;)
Was allerdings passieren kann:
- Dokumente "verschwinden" beim Kopieren, wenn z.B. Rollen in Leserfeldern beteiligt sind
- Ein verkorkstes Errorhandling (on error resume next) kann dafür sorgen, dass ein Dokument gelöscht wurde, obwohl es nicht kopiert wurde,
- beim Löschen aus collections muss man aufpassen, dass man das nächste Dokument holt, bevor man löscht, sonst kommt es zu einem Fehler.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline mde

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Das ist Notezig
Danke für eure Antworten, das hat mir schon geholfen.


Gruß
mde

Erst Kopf,
dann Knopf.

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -

welchen Grund sollte es geben, wenn die Anweisung lautet

kopieren
löschen

das umgekehrt zu machen, wenn Anweisung für Anweisung  abgearbeitet wird?

Daß Anweisung für Anweisung abgearbeitet wird, davon war ich auch überzeugt, bis ich es mit RT-Feldern zu tun hatte.
Seither gehe ich im Zweifelsfall davon aus, dass ein begonnener Prozeß nicht zwangsläufig zu Ende gebracht ist, wenn die nächste Zeile aufgerufen wird.

Von daher finde ich die Frage auch gar nicht so blöde, wie sie sich auf den ersten Blick anhört/liest.

Bei kopierten Dokumenten würde ich auf alle Fälle die Felder von Ausgangsdokument und Kopie noch auf Gleichheit prüfen, bevor ich endgültig lösche.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz