datumsabhängiger Agent

  • Hallo liebe Notes-Gemeinde,


    ich habe ein Problem.
    Ich habe 2 Notes DB erzeugt. Die 1ste ist die Dokumenten Datenbank. Hier werden Dokumente eingestellt. Die Doku. werden mit einem Gültigkeitszeitraum versehen. Also ich geben in einem Datumsfeld das Datum ein, wann das Dokument ungültig ist.
    Nun möchte ich, das das Dokument per Agent in die 2te (Archive DB) kopiert wird, und anschließend aus der Dokumenten DB gelöscht wird. So weit so gut. Dieser Agent läuft bereits einwandfrei. Was ich nun möchte ist, dass der Agent automatisch das Dokument in die Archive DB kopiert, wenn der Gültigkeitszeitraum abgelauen ist.
    Wäre froh über jeden TIP.


    Gruß

  • Hallo Jörg,


    nun die Idee hab ich ja auch, nur die Umsetzung bereitet mir Kopfschmerzen. Wie bekomme ich das denn hin, dass der Agent das Archivdatum (normales Datumsfeld) mit dem heutigen Datum vergleicht.


    Wäre für jeden Tip dankbar.


    Gruß
    christian

  • Hi,


    naja, wenns per Formel sein soll, dann gehts halt mit ImDokBefindlichesDatumsfeld = @Now oder aber im Script gibts ja die notesdatetime Klasse wo Du einfach 2 Objekte erstellen kannst (eins mit dem Inhalt Deines Datumfeldes) und eins mit der Funktion now(). Und dann kannst Du die beiden Eigenschaften (ich glaube date) einfach vergleichen.


    Es wäre halt mal interessant, wie Dein Agent so bislang aussieht?


    - Einfache Aktionen?
    - Formeln?
    - Script?


    cu


    Jörg

  • Hallo Christian,


    im Notes kann man Datum-Formate voneinander abziehen. Das Ergebnis sind dann die Sekunden. Also die Sekunden zwischen den beiden Daten. Vielleicht ist das ja das, was Du wissen möchtest!?


    Gruss, Bernd

  • Hallo Jörg, hallo Bernd.


    erstmal ein dickes Danke, dass Ihr mir helft. Nun da ich ein absoluter Anfänger im Designer für Notes bin, arbeite ich meistens mit Einfachen Aktionen.


    Diese Aktionen werden bei dem manuellen archivierungs-Agenten ausgeführt:


    Dokument in ArchiveH.nsf auf CN=LTBerding/O=Christian Berding kopieren


    Dokument löschen


    Nun dieser soll halt automatisch gestartet werden wenn das Ablaufdatum erreicht ist.Das was Ihr mir gepostet habt, habe ich versucht umzusetzen, nur klappt es nicht so wie erwartet.
    Könntet ihr mir mal genau erklären wie ich das hinkriegen könnte.


    Danke und Gruß
    Christian

  • Also um bei den einfachen Lösungen zu bleiben, könntest Du z.B. einfach einen Schritt einbauen, der vor dem Archivierungs-Agenten läuft und der die zu archivierenden Doks markiert.


    Also z.B. ein Agent über alle Doks in der Datenbank:


    FIELD fldFlag := fldFlag;
    @If(@Date(Datumfeld)-@Date(@Now)<=0;@SetField("fldFlag";"Archiv");@Return(""))


    Dieses Feld kannst Du dann als Selection-Formel in Deinem Agenten abfragen, der ja bereits läuft. Also einfache Abfrage Feld "fldFlag" hat Wert "Archiv".


    Schöner geht es (natürlich) mit LotusScript, da es meines Wissens auch keine @-Function für das Kopieren in eine andere DB gibt. In Script gibt es die CopyToDatabase- Methode.


    Gruss, Bernd

  • hallo bernd, hallo jörg


    nun ich habe es endlich geschafft.
    meine Abfrage lautet:


    FIELD ablaufdatum = @today


    Der Agent scheint damit einwandfrei zu laufen.
    Ich möchte mich erstmal ganz doll bei euch bedanken. Dank euerer Tips hab ich doch noch hinbekommen.


    ich wünsche noch einen erfolgreichen Tag.


    Schöne Grüße
    Christian