Hallo Motzi,
markiert haben wir schon, Zeitsteuerung angedacht auch schon, was sich dann wie folgt kombinieren ließe:
Zeitschaltung:
Die Zeitschaltung kann über den Compass-Jobserver realisiert werden. Hier kann bei der Bedingung für Ausführung z.B. folgendes drinstehen:
gt("#SYSDATE","20030625");
Das würde dann heißen, dass der Job erst ausgeführt wird, wenn das angegebene Datum erreicht wurde.
Diese Zeitschaltung ist allerdings nicht sehr präzise. Man kann keinen genauen Zeitpunkt angeben. Ist der Spooler nämlich gerade in diesem Augenblick mit einem anderen Job beschäftigt, ist der aktuelle Zeitpunkt vielleicht schon wieder später als der, der in der Bedingung angegeben wurde. Der Job würde also nie abgearbeitet werden. Außerdem ist das ganze davon abhängig, wann der Jobserver gestartet ist.
Wenn tag- oder stundengenaue Ausführung also reicht, kann diese Variante auf alle Fälle verwendet werden.
Markierung:
Die Tabelle PROJECT erhält ein neues Feld mit einem Flag, das besagt, "markiert ja oder nein". Die Liste der Projekte in Compass wird um ein Feld erweitert. Dort wird dann eines von zwei Symbolen angzeigt. Welches Symbol, wird aufgrund des Flags in der Datenbank abgerufen.
So kann für die Markierung dann ein Symbol mit einem roten Punkt verwendet werden oder so.
Benachrichtigung:
Hier gibt es verschiedene Varianten. Je nach Zeitpunkt der Prüfung und der technischen Umsetzung des Auftrages kann ein NetSend oder eine EMail (wenn über SQL gearbeitet wird) versendet werden. Auch wäre es denkbar, eine DLL aufzurufen, die Meldungen ausgibt.
Der Ablauf:
Der Jobserver ruft eine Funktion oder Prozedur auf, welche die Markierung in der Datenbank vornimmt. Durch das Einlesen der neuen Daten wird das neue Icon angezeigt, die Projekte sind markiert.
Jetzt muss nur dafür gesorgt werden, dass der Job irgendwann erneut aufgerufen wird. Dazu muss am Ende des Jobs ein ___JobCreate erfolgen: Der Job muss sich selbst erneut anlegen, mit einem neuen Datum im Feld "Bedingung für Ausführung". Dadurch wird dann eine ununterbrochene Zeitschleife generiert, die sich immer von selbst fortsetzt.
Alternative:
Falls kein Jobserver zur Hand (warum auch immer), kann das Update für das Flag in der Datenbank auch mit einem SQL-Auftrag erledigt werden. Hier ist vor allem die Zeitsteuerung präziser und zuverlässiger, als dies mit dem Jobserver möglich ist.
So weit mein Beitrag. Ciao,
WolfgangE
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP