[gelöst] Objectaufrufplaner Auswerten

24. Juni 2008 11:07

Hallo Gemeinde.

Wir setzten NAV40SP1 auf SQL DB ein. Im Objectaufrufplaner sitzen gewisse Jobs drin die auch fleißig mit gelogt werden. Jetzt würde ich ich gern ein Event auslösen, wenn die Spalte [Message Text] den Wert "Fehler" enthält. Hat jemand ne Idee? :roll: :shock:

Gruß
m.
Zuletzt geändert von MichaelT am 10. Juli 2008 10:34, insgesamt 2-mal geändert.

24. Juni 2008 11:26

Hi,

grundsaetzlich fallen mir da 2 Moeglichkeiten ein.

1) Du erstellst einen Job, der vom NAS gestartet wird und die Log Tabelle nach dem Text "Fehler" durchsucht. Koennte sein, dass es Probleme mit dieser Tabelle gibt, wenn sie gelockt ist. Muesste man testen.

2) Du aenderst den Standardcode ab. Und zwar an der Stelle, an welcher das Feld "Message Text" befuellt wird. Ist "Fehler" im String enthalten, startest du einfach deine Funktion oder was auch immer.

Gruesse
feri

Danke für den Tipp

30. Juni 2008 11:19

Ich muss ja jetzt eingestehen, dass ich in NAV absoluter Newbi bin. Ich bin auch kein Applicationprogrammierer oder so.

Die Funktion habe ich zwar gefunden aber wie baue ich eine EMail Benachtigung ein, wenn der Scheduler den Fehler "Stopped with" Error oder ähnliches auswirft?

Code:
JobSchedSetup2."Last Date Checked" := TODAY;
JobSchedSetup2."Last Time Checked" := TIME;
CASE JobSchedSetup2."Error Handling" OF
  JobSchedSetup2."Error Handling"::"Skip to Next Run":
    BEGIN
      RunObjectFromJobSched.CalcNewDateTime(JobSchedSetup2."Next Check Date",JobSchedSetup2."Next Check Time",
        JobSchedSetup2."Time Between Check",JobSchedSetup2."Unit of Measure");
      IF JobSchedSetup2."Message Text" = '' THEN
        JobSchedSetup2."Message Text" :=
         Text011
      ELSE
        JobSchedSetup2."Message Text" :=
          JobSchedSetup2."Message Text" + Text012;
      JobSchedSetup2."Run Status" := JobSchedSetup2."Run Status"::"With Error";
    END;
  JobSchedSetup2."Error Handling"::"Mark as Error and Retry":
    BEGIN
      IF JobSchedSetup2."Message Text" = '' THEN
        JobSchedSetup2."Message Text" := Text013
      ELSE
        JobSchedSetup2."Message Text" := JobSchedSetup2."Message Text" + Text014;
      JobSchedSetup2."Run Status" := JobSchedSetup2."Run Status"::"With Error";
    END;
  JobSchedSetup2."Error Handling"::"Mark as Error and Stop":
    BEGIN
      IF JobSchedSetup2."Message Text" = '' THEN
        JobSchedSetup2."Message Text" := Text015
      ELSE
        JobSchedSetup2."Message Text" :=
          JobSchedSetup2."Message Text" + Text016;
      JobSchedSetup2."Run Status" := JobSchedSetup2."Run Status"::"Stopped with Error";
    END;
END;


EDIT: Bitte im Editor Code Tags (Rautensymbol) verwenden, damit der Beitrag übersichtlich bleibt. Gruß Kai

9. Juli 2008 12:40

[Gelöst] :-)

9. Juli 2008 13:30

:roll: Eine Frage hätte ich da noch. Wir sind ja ganz modern hier und haben da einen Dummy Rechner laufen, der in einer Navisionsession den Objektplaner steuert. Nun. Soweit ganz gut. Was jetzt passiert ist folgendes:

Die Session schmiert ab und der Planer lässt sich nicht mehr anhalten. :-( Es kommt immer der Hinweis, dass der Planer über das ursprüngliche Formular gestoppt werden kann.. *tzzzzzzz* :oops:

Meine Frage: Wie finde ich denn den aktuellen Status raus?

thx

Micha