Domino 9 und frühere Versionen > ND6: Entwicklung
Löschen per Agent (Formula)
DaWutz:
Hallo zusammen,
ich hab wohl mal wieder ein Brett vor dem Kopf.
Habe einen Agenten gebaut (scheduled, 1x am Tag) der Dokumente die älter sind als x Tage (bei mir 30) löschen soll.
--- Zitat ---SELECT @All;
@If(DeliveredDate != ""; _dateCheck := DeliveredDate; PostedDate != ""; _dateCheck :=PostedDate; _dateCheck := @Created);
_date := @Date(@Adjust(@Now;0;0;-30;0;0;0));
@If(_dateCheck < _date;@DeleteDocument;@True);
--- Ende Zitat ---
Dieser Agent macht aber nix - garnichts. Weder löschen noch eine Fehlermeldung bringen. Baue ich eine View mit der entsprechenden Selektion, dann zeigt er mir die Dokumente die in Frage kommen aber artig an.
Darf ich eine der Datumsformulas nicht in einem Agenten anwenden, oder was ist das Problem?
EDIT: Der Agent läuft über die gesamte Datenbank - das Select @All schreibt er immer selber rein.
koehlerbv:
Nur, um auf Nummer sicher zu gehen, baue doch mal Deinen Agent wie folgt um (das sollte dann aber auf jeden Fall funktionieren, wenn der Agent auch so eingestellt ist, dass er auf "Alle Dokumente in der Datenbank" läuft).
--- Code: ---_dateCheck := @If (DeliveredDate != ""; DeliveredDate; PostedDate != ""; PostedDate; @Created);
_date := @Date (@Adjust (@Now; 0; 0; -30; 0; 0; 0));
@If (_dateCheck < _date; @DeleteDocument; "");
SELECT @ALL
--- Ende Code ---
HTH,
Bernhard
DaWutz:
Hallo Bernhard,
ich habe den Agent umgebaut, auch wenn es ja nur eine Umstellung meiner Syntax war, aber der Erfolg war gleich Null. Ich habe auchmal folgenden Thread zu Hilfe gezogen <<LINK>> aber auch damit komme ich nicht weiter.
Der Agent läuft "on behalf of: LocalDomainAdmin" (Verzweiflungstat), und mit vollen administrativen Rechten.
Semeaphoros:
Also, wenn Du schon zur Verzweiflungstat greifst, dann signiere das Tierchen doch lieber mit der Server-ID. Das Verhalten könnte schon auf ein Rechteproblem hinweisen. Ich habs selber noch nicht probiert, kann mir aber vorstellen, dass OnBehalf nicht mit einem Gruppennamen funktioniert.
koehlerbv:
Es muss ein Einstellungs- oder Rechteagent sein. Ich habe den Code eben gegen meine Mail-DB laufen lassen:
--- Zitat ---Agent 'Test Delete' wurde am 06.07.2005 17:35:59 gestartet
Bearbeitet alle Dokumente in der Datenbank: insgesamt 2612
2612 Dokumente gefunden, die die Suchkriterien erfüllen
2612 Dokument(e) wurden durch die Formel geändert
2552 Dokument(e) gelöscht
Agent 'Test Delete' wurde am 06.07.2005 17:36:46 beendet
--- Ende Zitat ---
Guuuut, dass ich das in einer Kopie der DB gemacht habe ;D
Nur zur Sicherheit: Der Agent ist auch als gemeinsamer Agent deklariert ?
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln