Domino 9 und frühere Versionen > ND9: Administration & Userprobleme
Archivieren der Reservierungen in der RessourcenDB
rambrand:
Hallo Christian,
ist der Hintergrund eher, dass man die ganzen abgelaufenen Reservierungen aus der produktiven Datenbank raus haben möchte?
Oder wollt ihr die wirklich zu Recherchezwecken archivieren?
In der Ressourcendatenbank gibt es einen Agenten, der abgelaufene Reservierungen löscht - PurgeDocuments (Auto).
Ist standardmäßig meines Wissens nach deaktiviert. Dort kann man im Script auch den Zeitraum einstellen.
Rein theoretisch, wenn ihr die Reservierungen unbedingt archiviert haben möchtet, könntet ihr den auch anpassen, dass er die Reservierungen nicht nur löscht, sondern vorher in eine andere (Archiv)Datenbank verschiebt.
Bye,
Markus
Kaljamam:
...ja Thema ist, dass wir die Daten noch zu Recherchezwecken benötigen.
Ok den Löschagenten kenne ich. Müsste ich hier umschreiben
Call purgedate.AdjustDay (-2)
Set doc=dc.GetFirstDocument
Hat jemand aber da nen fertigen Code im Einsatz, der die Doks in eine andere DB schiebt oder mir nen Ansatz wie ich so was bauen kann?
DominoDancing:
Hallo Christian,
wenn's das so:
"If OkToPurge Then
Set nextdoc=dc.GetNextDocument (doc)
doc.Remove (True)
Else
Call s.UpdateprocessedDoc(doc)
End If"
auch unter R9 noch gibt, dann vor dem doc.Remove (True) einfach ein Call doc.CopyToDatabase(db2) einfügen. Natürlich muss dann irgendwo weiter oben noch Dim db2 As NotesDatabase und Set db2 = s.GetDatabase(server, file) stehen. server und file sind als Strings zu hinterlegen, die Server und Pfad Deiner "Archivdatenbank" enthalten.
Natürlich kannst Du vor dem Call doc.CopyToDatabase(db2) das Dokument noch entsprechend manipulieren, indem Du beispielsweise den Archivierungszeitpunkt im Dokument speicherst o.Ä.. Ja und natürlich müsste Call purgedate.AdjustDay (-2) noch entsprechend geändert werden. So sollte das dann funktionieren.
Viele Grüße
René
rambrand:
Entweder wie René geschrieben oder wenn ein paar Eckdaten der Reservierung reichen (wer, was, von wann, bis wann?), dann würde ich ein neues Dokument in einer (Archiv)Datenbank anlegen. Maske kannst ja dann entsprechend eurem Gusto anlegen. Wäre etwas schlanker, also die ganze Ressourcendatenbank nochmals als Archivdatenbank anzulegen.
Und dann halt die Informationen, die ihr braucht in dieses Dokument reinpumpen.
Wenn das passiert ist, die Original-Reservierung löschen lassen.
Natürlich würde ich den Code aus dem PurgeDocuments in einen neuen Agenten packen, die Gestaltung gegen Veränderung sichern und dort dann modifizieren.
Code würde ungefähr so aussehen:
Dieser Teil bei den Deklarationen setzen
--- Code: ---dim archivdoc as notesdocument
dim archiv as new notesdatabase ("","")
if not archiv.open(Server,Datenbankdatei) then
[s]messagebox "Kann Archvidatenbank nicht öffnen"[/s] {ist bei einem Agenten der auf dem Server läuft natürlich doof ;D }
exit sub
end if
--- Ende Code ---
Diesen Teil direkt vor dem doc.remove setzen
--- Code: ---set archivdoc = archiv.createdocument
with archivdoc
.form = "Name der Maske"
.feld1 = doc.feldwasauchimmer(0)
.
.
.
end with
call archivdoc.save(true,false)
--- Ende Code ---
Bye,
Markus
Kaljamam:
Vielen Dank für die zahlreichen Tipps!
Damit komme ich klar. Werde die Tage was basteln!
Danke für die Unterstützung!
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln