DB-Ereignisse

Als Entwickler und Objektdesigner definieren Sie (Datenbank-) Ereignisse, um zwei Werte in der Datenbank zu überwachen und zu vergleichen. Wenn die Bedingungen, die Sie auf der Seite Ereignis definieren, erfüllt sind, löst das Datenbankereignis die Aktionen aus, die Sie auf seiner Seite Ereignis-Prozess festgelegt haben. Diese Aktionen sind in der Regel die Ausführung weiterer Objekte. Datenbankereignisse befinden sich im Status Sleeping, solange die Frequenz- und Zeitbedingungen nicht erfüllt sind, und wechseln zu In Prüfung, wenn sie zutreffen.

Sie können die folgenden Funktionen der Automation Engine scripting language verwenden, um relevante Daten für das Ereignisobjekt abzurufen:

Sie können viele Felder mit Hilfe von Variablen füllen. Weitere Informationen finden Sie unter Variablen/VARA-Objekte in Objekte und Scripts einfügen.

DB-Ereignisobjekten definieren

  1. Definieren Sie im Datenbank-Ereignis die zu vergleichenden Werte und den Operator, der sie vergleicht.

    Die Werte können über drei Quellen bereitgestellt werden:

    • SQL-Abfrage

      Sie können innerhalb der SQL-Abfrage Objektvariablen verwenden. Das Datenbank-Ereignis bricht nicht ab, wenn die Abfrage fehlerhaft ist.

      1. Klicken Sie in SQL auf das Dateisymbol, um den Zellen-Editor zu öffnen, in dem Sie die SQL-Abfrage eingeben können.

        Klicken Sie auf OK.

      2. Führen Sie im Agent eine der folgenden Aktionen aus:

        • Wählen Sie einen Eintrag aus der Liste aus.
        • Klicken Sie auf das Ordnersymbol, um das Dialogfeld Agenten auswählen zu öffnen und nach dem gewünschten Ordner zu suchen.
        • Geben Sie entweder den Namen des Agenten ein oder geben Sie eine Variable ein, die den Namen des Agenten abruft, und wählen Sie den entsprechenden Agententyp aus.

          Verwenden Sie diese Option, wenn der Agent nicht dem aktuellen Mandanten, sondern dem Mandanten 0 zugeordnet ist und daher hier nicht aufgeführt ist.

        Für die ersten beiden Optionen wird der Agententyp automatisch ausgewählt und kann nicht bearbeitet werden.

        Je nachdem, welchen Agenten Sie ausgewählt haben, variieren die übrigen Felder in diesem Abschnitt.

        Maximale Länge: 4096 Zeichen.

        Es ist nicht möglich, Agentengruppen in Datenbank-Ereignissen auszuwählen.

      3. Wählen Sie unter Login das Objekt aus, das die Anmeldeinformationen enthält, die das Ereignis für die Anmeldung an der Datenbank benötigt.
      4. Geben Sie unter Server:Port den Name des Rechners ein, auf dem sich die Datenbank befindet, zum Beispiel PC01:2281.

        Die Standardports sind:

        • MS SQL Server: 1433
        • Oracle: 1521
        • DB2: 50000
        • MySQL: 3306

        Dieses Feld ist nicht auszufüllen, wenn die Abfrage in einer Oracle-Datenbank im RAC ausgeführt werden soll. Weitere Informationen finden Sie unter Verbindung zu Oracle-Datenbanken.

      5. Geben Sie unter Datenbank den Namen der Datenbank ein.
      6. Geben Sie unter MS Access Dateiname den Pfad und Dateinamen der MS Access-Datenbank ein. 
    • Statischer Wert

      Maximale Länge: 40 Zeichen.

    • Variable

      1. Wählen Sie unter Variablenobjekt den Namen des Variablenobjekts aus, das den zu vergleichenden String enthält.
      2. Wählen Sie unter Variablenschlüssel den Eintrag im Variablenobjekt aus, der für den Vergleich verwendet werden soll.

      Wenn der Schlüssel in dem Variablenobjekt nicht existiert, wird das Datenbank-Ereignis nicht aktiviert.

      Enthält der Schlüssel keine Werte, so hängt das Ergebnis von der Einstellung ab, die Sie auf der Seite "Attribute" des Variablenobjekts vorgenommen haben. Es wird entweder eine Fehlermeldung protokolliert oder die Initialwerte werden verwendet. Das Datenbank-Ereignis bricht aber nicht ab.

      Weitere Informationen finden Sie unter GET_CONSOLE, GET_EVENT_INFO.

  2. Wählen Sie den Operator aus, der für den Vergleich verwendet werden soll.

    Sie können Werte nach Bedarf kombinieren. Werte werden als String-Werte interpretiert und verglichen; wenn beide Werte als positive Ganzzahlen (>=0) interpretiert werden können, werden sie als Ganzzahlwert verglichen.

    Zum Beispiel:

    5 >  1: Werte werden als positive Ganzzahlen interpretiert -> int 5 > int 1 -> true

    1 > -1: Werte werden als Strings interpretiert -> string "1" > string "-1" -> false

    Nachkommastellen werden abgeschnitten. Zur Vorbereitung für den Vergleich lesen Sie zunächst die Werte auf der Seite Ereignis-Prozess mithilfe der Script-Funktion GET_CONSOLE, GET_EVENT_INFO aus und multiplizieren sie dann mit 10n, um das Komma zu verschieben.

    Zum Beispiel:

    4 * 100 (entspricht 102) = 12344

    123,5555 * 10000 (entspricht 104) = 12355555

    Zeitstempel aus SQL-Abfragen und Variablenobjekten werden in das Format "JJJJ-MM-TT HH:MM:SS" konvertiert.

  3. Definieren Sie die Zeitparameter.

    • Häufigkeit

      Wie oft das Ereignisobjekt aktiviert wird.

    • Zeitsteuerung

      Wann das Ereignisobjekt aktiviert wird.

    • Erste Prüfung

      Wann die Intervalle beginnen sollen.

      • Sofort

        Das Ereignisobjekt wird, unabhängig vom eingestellten Intervall, zum ersten Mal bei seiner Aktivierung aktiv.

      • Nach der Intervallzeit

        Das Ereignisobjekt wird erst nach Ablauf des ersten Zeitintervalls zum ersten Mal aktiv.

    • Falls Startzeit später

      • Sofort aktivieren

        Sollte das Ereignisobjekt nach der eingestellten Uhrzeit starten, wird es sofort aktiv.

      • Warten auf das nächste gültige Datum

        Sollte das Ereignisobjekt nach der eingestellten Uhrzeit starten, wird es am nächsten gültigen Datum aktiv, entsprechend der Kalender- und Zeitbedingungen, die Sie unten angeben.

  4. Definieren Sie die Zeit- und Datumsbedingungen.

    Diese Bedingungen werden immer geprüft. Ein Ereignis wird nur in einem der folgenden Fälle ausgelöst:

    • Mindestens eine der Bedingungen ist erfüllt.
    • Hier wurde keine Bedingung definiert.

    Auch die Zeitzone, die dem Ereignis zugeordnet ist, wird berücksichtigt. Eine Aktivierung von Ereignissen mit Angabe eines logischen Datums ergibt daher keinen Sinn.

    Siehe Tabellen auf Seiten.

  5. Auf der Seite Seite "Ereignis-Prozess" definieren Sie die Aktionen, die das Ereignis auslösen wird.

    Ein Datenbank-Ereignis-Prozess kann keine JCL-Zeilen enthalten.

Aktivieren/Ausführen und Überwachen des DB-Ereignisses

Führen Sie das Ereignisobjekt aus, um es zu aktivieren.

Die Ausführung von Ereignisobjekten löst die Ausführung anderer Objekte aus; diese können wiederum zur Ausführung weiterer Aufgaben führen. Die Aufgaben, die sich aus diesen Ausführungen ergeben, werden in der Process Monitoring-Perspektive auf den verschiedenen Listen der Ausführungen, die sich auf das Ereignisobjekt beziehen, angezeigt. Sie sind der Ereignisaufgabe untergeordnet und werden mit einem speziellen Tag-Typ namens !EVNT gekennzeichnet. Mit diesem Tag können Sie überprüfen, welche Ausführungen durch ein bestimmtes Ereignis ausgelöst wurden. Weitere Informationen finden Sie unter Ereignisse überwachen und Ausführungsdaten.

Führen Sie Ereignisobjekte wie folgt aus:

  • Fügen Sie Ereignisobjekte in Schedules (JSCH) ein, um sie automatisch zu vorgegebenen Zeiten und/oder Intervallen auszuführen.

  • Ereignisobjekte in Workflows einfügen (siehe Workflows (JOBP)).

  • Ereignisobjekte manuell ausführen, neu starten oder stoppen. Weitere Informationen finden Sie unter Ereignisse ausführen.

Um zu überprüfen, wie oft das System das Ereignis geprüft hat, gehen Sie in den Abschnitt Anzahl überprüfen in den Objektdetails. Weitere Informationen finden Sie unter Objekt- und Aufgabendetails anzeigen.

Überwachen Sie das Ereignis

Sie können das Ereignis sofort nach der Ausführung des Objekts überwachen. Klicken Sie mit der rechten Maustaste auf das Objekt und wählen Sie Überwachen, In Process Monitoring anzeigen und öffnen Sie die vorgefilterte Liste der Aufgaben, um die Aufgabe anzuzeigen. Verfolgen Sie den Fortschritt der Aufgabe und greifen Sie auf Reports und statistische Informationen in der Process Monitoring-Perspektive zu.

Sie können aktive Ereignisse wie folgt stoppen:

  • Das Ereignis abbrechen
    Status: Abgebrochen/manuell abgebrochen
  • Das Ereignis beenden
    Status: Ended_OK
  • Das Ereignis unterbrechen
    Das Ereignis bleibt aktiv, ist aber vorübergehend deaktiviert

Weitere Informationen finden Sie unter Mit Aufgaben arbeiten, insbesondere unter Stoppen und Unterbrechen.

Siehe auch: