Beispiel: Daten erhalten, die Datenbank aktualisieren und einen Report senden

Am letzten Tag jedes Monats schreibt ein externes System neue Daten in das Datenlager Ihres Unternehmens. Sie müssen diese Daten abrufen, um Ihre Datenbank damit zu aktualisieren. In den Daten, die von dem externen System gesendet werden, befindet sich immer dieser bestimmte String: VVIEINTEGRATE02A.
Sobald die beiden Aufgaben erfolgreich ausgeführt wurden (Daten abrufen und Datenbank aktualisieren), soll eine E-Mail an die Finanzabteilung (FINANCE) gesendet werden, die bestimmte Details zu der Ausführung liefert und die Reports als Anhänge enthält.

Diese Seite beinhaltet Folgendes:

Was werden Sie lernen?

  • Wie ein Workflow die Verarbeitung und Ausführung verschiedener Objekte abwickelt.
  • Wie Sie einen Kalender erstellen, um den letzten Tag jedes Monats auszuwählen, und diesen als Bedingung für die Ausführung eines Workflows festlegen.
  • Wie man Aufgaben (in unserem Fall Jobobjekte) zu einem Workflow hinzufügt.
  • Wie man Filterobjekte erstellt, um bestimmte Strings (wenn verfügbar) aus den Ausgabedateien von Jobs auszulesen.
  • Wie man Benachrichtigungen versendet, wenn bestimmte Strings nicht in den Ausgabedateien (Reports, Logs usw.) von Jobs enthalten sind.
  • Wie man eine Schedule definiert, um einen Workflow automatisch in regelmäßigen, vordefinierten Intervallen auszuführen.

Übersicht

Für dieses Szenario werden drei Jobobjekte, die von einem Workflow organisiert werden, ein Filterobjekt und ein Benachrichtigungsobjekt, das automatisch die E-Mail mit den richtigen Inhalten und Anhängen versendet, benötigt.

Es gibt verschiedene Methoden, um die wiederholte Ausführung (einmal im Monat) dieser Aufgabe zu definieren:

  • Den Workflow rekursiv ausführen
  • Über ein Schedule-Objekt

    In diesem Fall müssen Sie folgendermaßen vorgehen:

    • Definieren Sie die Häufigkeit in der Periodendauer der Schedule.
    • Weisen Sie dem Workflow in der Schedule einen Kalender zu.

Die folgende Liste soll Ihnen einen ersten Überblick über die notwendigen Schritte bieten:

  1. Definieren Sie die drei Jobs
  2. Erstellen Sie das Benachrichtigungsobjekt
  3. Erstellen Sie das Filterobjekt FILTER.OUTPUT.DHW
  4. Das Filterobjekt dem Job SEND_REPORTS_TO_FINANCE zuweisen
  5. Den Workflow erstellen und die Jobs einfügen, siehe Workflow-Logik
  6. Erstellen Sie den Workflow und fügen Sie die Jobs ein
  7. Erstellen Sie einen Kalender mit einem Kalenderereignis für Ende des Monats
  8. Definieren Sie die Häufigkeit dieses Prozesses

Definieren Sie die drei Jobs

In diesem Beispiel werden die drei folgenden Jobs verwendet:

  • GET_DATA_FROM_DWH, um die Daten von einem bestimmten Speicherort in Ihrem Data Warehouse abzurufen.
  • UPDATE_DWH, um die Zieldatenbank zu aktualisieren.
  • SEND_REPORTS_TO_FINANCE, um eine E-Mail mit den Reports zu senden.

In diesem Beispiel wird nicht näher auf die Scripts eingegangen, die für die richtige Ausführung dieser Jobs benötigt werden. Im Vordergrund stehen dahingegen die Abhängigkeiten zwischen den einzelnen Objekten, die in diesem Prozess involviert sind. Die erfolgreiche Ausführung der ersten beiden Jobs hängt von den Scripts ab, die in deren Seiten namens Prozess definiert sind. Wir gehen nicht weiter auf diese ein, aber besprechen den dritten Job etwas genauer.

Das Jobobjekt SEND_REPORTS_TO_FINANCE sammelt die Ergebnisse der vorherigen Jobs und sendet die Benachrichtigung an die Finanzabteilung (FINANCE). Damit es richtig ausgeführt wird, müssen Sie zuerst folgendes erstellen:

  • das Benachrichtigungsobjekt
  • ein Filterobjekt

Erstellen Sie das Benachrichtigungsobjekt

Wir möchten, dass die Finanzabteilung die nachfolgende E-Mail jeden Monat erhält, nachdem die Aufzeichnungen abgerufen wurden und die Datenbank aktualisiert wurde.

Der Text der E-Mail wird vom Benachrichtigungsobjekt bestimmt. Die Dateianhänge sind das Ergebnis des Filterobjekts, das dem Jobobjekt zugewiesen wurde.

  1. Navigieren Sie in der Process Assembly-Perspektive zu dem Ordner, in dem Sie das Benachrichtigungsobjekt erstellen möchten. Klicken Sie auf Hinzufügen > Objekt hinzufügen und wählen Sie Benachrichtigung > MAIL Benachrichtigung aus. Nennen Sie es CALL.UC.MAIL.HTML.DWH.1.

  2. Definieren Sie die Empfänger der Benachrichtigungen.

    1. Sie können einen Benutzer oder eine Benutzergruppe aus der Empfänger-Dropdown-Liste auswählen. Geben Sie den Namen des Benutzers ein oder wählen Sie ihn in der Liste aus. Sie können auch eine E-Mail-Adresse als Empfänger eingeben.
    2. In diesem Beispiel ignorieren Sie die Option Kalender.
    3. Klicken Sie auf Hinzufügen, um diese Kombination von Empfängern und Daten zuzuordnen. Sie können beliebig viele Kombinationen hinzufügen.
  3. Der Betreff und der Text im Abschnitt Nachricht sind vordefiniert. Sie können diese jedoch ändern.

    1. Geben Sie den Betreff ein, und geben Sie eine Variable ein. Wenn Sie dies nicht ausfüllen, wird der E-Mail-Betreff automatisch erstellt und setzt sich dann aus Objektname+RunID+Mandant der Benachrichtigung zusammen. Geben Sie Workflow Anwendungsfall ein.

      Weitere Informationen zum Einfügen von Variablen finden Sie unter Variablen/VARA-Objekte in Objekte und Scripts einfügen.

    2. Geben Sie den Text der Benachrichtigung ein. Auch hierfür können Sie Variablen verwenden. Die Anzahl der Zeichen, die eingegeben werden können, ist unbegrenzt.

      Informationen zu dem Code, der in der oben aufgeführten Meldung resultiert, finden Sie unter E-Mail-Syntax.

  4. Je nach ausgewähltem Template sind wiederum die Einstellungen der Benachrichtigung vordefiniert, können aber auch geändert werden:

    1. Die Priorität dient nur zu Informationszwecken. Sie wird in den E-Mails und in den Meldungen der Benachrichtigungsleiste angezeigt.
    2. Wählen Sie unter Typ die Option E-Mail aus.

  5. Geben Sie unter Reports mitsenden die RunID der Aufgabe ein, die die Benachrichtigung ausgelöst hat, um deren Reports an die E-Mail anzuhängen. Wir werden hier einen Variable verwenden, um die RunID der Aufgabe abzurufen, die die Ausführung des Benachrichtigungsobjekts ausgelöst hat. In diesem Fall ist das der Job SEND_REPORTS_TO_FINANCE.

  6. Aktivieren Sie Quelle: Datenbank; von dort werden die Reports abgerufen.

  7. Speichern Sie das Benachrichtigungsobjekt.

Erstellen Sie das Filterobjekt FILTER.OUTPUT.DHW

Filterobjekte ermöglichen Ihnen, die Inhalte von Automation Engine-Ausgabedateien wie Logdateien, Reports usw. zu prüfen und nach bestimmten Strings zu suchen. Anschließend können Sie diese Filter auf Jobobjekte anwenden und abhängig vom Inhalt der Ausgabedateien Aktionen auslösen.

Die von dem Job UPDATE_DWH erstellten Reports beinhalten immer den String VVIEINTEGRATE02A, wenn sie erfolgreich beendet wurden. Basierend darauf können wir ein Filterobjekt erstellen, um die nächste Aktion auszulösen (E-Mail versenden).

  1. Navigieren Sie in der Process Assembly-Perspektive zu dem Ordner, in dem Sie das Filterobjekt erstellen möchten. Klicken Sie auf Hinzufügen > Objekt hinzufügen und wählen Sie Filter aus.

  2. Wählen Sie im Abschnitt Report auf der Seite Filter "Report (REP)" aus der Liste "Reporttyp" aus.

  3. Wählen Sie den Operator Enthält aus.

  4. Geben Sie den gesuchten String ein. Es wird nicht zwischen Groß- und Kleinschreibung unterschieden.

  5. Klicken Sie auf Hinzufügen. Unter den Eingabefeldern erscheint eine Suchfilteranweisung.

    Hinweis: Da nur Aussagen unter den Eingabefeldern im finalen Objekt verwendet werden, ist es wichtig, dass Sie auf Hinzufügen klicken.

  6. Speichern Sie das Filterobjekt.

Nun müssen Sie den Filter dem Job zuweisen, der das Senden der E-Mails auslöst, wenn der String in den Reports enthalten ist, die vom Aktualisierungs-Job erstellt wurden.

Das Filterobjekt dem Job SEND_REPORTS_TO_FINANCE zuweisen

Dies können Sie auf der Seite Ausgabe-Scan erledigen. Hier definieren Sie auch die Werte, die ausgegeben werden sollen, sowie eine benutzerfreundliche Darstellung dieser Werte.

  1. Öffnen Sie den SEND_REPORTS_TO_FINANCE-Job, und erweitern Sie die Seite Ausgabe, um Ausgabe-Scan auszuwählen.

  2. Klicken Sie auf Zeile hinzufügen und wählen Sie FILTER.OUTPUT.DHW aus, um es dem Job zuzuweisen.

  3. Klicken Sie auf eine beliebige Stelle in der Zelle Filterkriterien treffen zu, um es zu aktivieren.

  4. Der Zähler Setze Rückgabewert wird automatisch aktiviert. Belassen Sie diesen Wert bei 0.

  5. Geben Sie unter Statustext einen beliebigen, aussagekräftigen Text ein, der den Benutzern hilft, den Rückgabewert zu verstehen. Dieser Text wird dann in der Spalte "Status" der Liste Aufgaben angezeigt. In diesem Beispiel geben wir keinen Text ein.

  6. Wählen Sie in Ausführung von das ausführbare Objekt aus, das aufgrund des vom Filterobjekt gelieferten Suchergebnisses ausgeführt werden soll. In diesem Fall ist das unser Benachrichtigungsobjekt namens CALL.UC.MAIL.HTML.DWH.1.

  7. Speichern Sie den Job.

So sieht das Ergebnis aus:

Erstellen Sie den Workflow und fügen Sie die Jobs ein

Jetzt wird der SEND_REPORTS_TO_FINANCE konfiguriert. Wir gehen hier davon aus, dass GET_DATA_FROM_DWH und JOBP.UC.UPDATE.DATA.1 ebenfalls fertiggestellt sind und zur Verfügung stehen.

  1. Navigieren Sie in der Perspektive Process Assembly zu dem Ordner, in dem Sie das Workflow-Objekt erstellen möchten. Klicken Sie auf Hinzufügen > Objekt hinzufügen und wählen Sie Workflow > STANDARD aus. Geben Sie dem neuen Workflow den Namen JOBP.UC.UPDATE.DATA.1.

  2. Klicken Sie auf der Seite Workflow auf die Schaltfläche Objekte, um auf der rechten Seite einen Bereich zu öffnen, in dem Sie nach den Jobs suchen können, die Sie einfügen möchten.

  3. Wenn Sie das Jobobjekt GET_DATA_FROM_DWH gefunden haben, ziehen Sie es per Drag-and-Drop in den Editor und platzieren Sie es direkt hinter dem Start-Knoten.

  4. Machen Sie dasselbe für UPDATE_DWH. Legen Sie es rechts von GET_DATA_FROM_DWH ab.

  5. Wiederholen Sie die Schritte für SEND_REPORTS_TO_FINANCE, und legen Sie es rechts neben GET_DATA_FROM_DWH ab.

  6. Verbinden Sie diese drei Objekte und die Elemente Start und Ende folgendermaßen:

  7. Speichern Sie den Workflow.

Erstellen Sie einen Kalender mit einem Kalenderereignis für Ende des Monats

Für den nächsten Schritt (Definition der Häufigkeit der Ausführung des Workflows) brauchen Sie ein Kalenderobjekt. Der Kalender sollte immer den letzten Tag des Monats auswählen.

  1. Navigieren Sie in der Process Assembly-Perspektive zu dem Ordner, in dem Sie das Kalenderobjekt erstellen möchten. Klicken Sie auf Hinzufügen > Objekt hinzufügen und wählen Sie Kalender aus. Geben Sie ihm den Namen CALE_END_OF_MONTH.

  2. Auf der Seite Kalender sind die bereits vergangenen Tage des Jahres ausgegraut. Hierbei handelt es sich lediglich um eine visuelle Hilfestellung.

    Klicken Sie auf die Schaltfläche Ereignis hinzufügen.

  3. Wählen Sie Monatlich aus dem Dropdown-Menü aus. Der Bereich Monatliches Ereignis bearbeiten wird angezeigt:

  4. In Geschieht können Sie die Tage des Monats, die für dieses Ereignis ausgewählt werden sollen, bestimmen. Aktivieren Sie an definierten Tagen.

  5. Wählen Sie unter Tage den ersten Tag des Monats.

  6. In Zähle vom können Sie festlegen, ob die Termine des Ereignisses vom Monatsanfang oder vom Monatsende weg berechnet werden sollen.

    Wir möchten, dass der letzte Tag des Monats ausgewählt wird, unabhängig davon, ob es sich und dem 30., den 31. oder im Februar um den 28. oder den 29. handelt. Aktivieren Sie dazu das Optionsfeld Ende des Monats.

  7. Definieren Sie das Intervall, in dem dieses monatliche Ereignis eintreten soll. In unserem Fall ist das jeden Monat.

  8. (Optional) Aktivieren Sie das Kontrollkästchen Monatliche Begrenzungen, um die Termine auf bestimmte Monate zu begrenzen. Wie begrenzen Sie auf das aktuelle Jahr.

  9. Klicken Sie auf Anwenden & Schließen, um eine Vorschau der Ergebnisse zu erhalten. Sie sehen nun folgendermaßen aus:

  10. Speichern Sie das Kalenderobjekt.

Definieren Sie die Häufigkeit dieses Prozesses

Dieser Workflow soll am Ende jedes Monats ausgeführt werden. Sie können dazu die Option Periodisch ausführen oder ein Schedule-Objekt verwenden.

Option "Periodisch ausführen"

  1. Führen Sie eine der folgenden Aktionen aus:

    • Öffnen Sie den Workflow. Erweitern Sie die Schaltfläche Ausführen in der Symbolleiste und wählen Sie Periodisch ausführen.
    • Klicken Sie in der Perspektive Process Assembly mit der rechten Maustaste auf den Workflow in der Objektliste und wählen Sie Ausführungsoptionen > Periodisch ausführen aus.
  2. Der Dialog Ausführung von JOBP.UC.UPDATE.DATA.1 wird angezeigt:

  3. Wählen Sie im Abschnitt Tage die Option basierend auf Kalenderbedingungen, um die zeitlichen Vorgaben anzuwenden, die Sie zuvor im Kalender CALE_END_OF_MONTH definiert haben.

  4. Aktivieren Sie die Option Durchführen, wenn: alle Bedingungen zutreffen.

  5. Wählen Sie in der Tabelle den Kalender CALE_END_OF_MONTH und das Kalenderereignis END_OF_MONTH:

  6. Klicken Sie auf die Schaltfläche Ausführen im unteren Bereich des Dialogs.

Die Bestätigung, dass die Aufgabe erfolgreich geplant wurde, erscheint als Popup-Meldung.

Verwenden Sie ein Schedule-Objekt und Kalenderbedingungen

Fügen Sie den Workflow in ein Schedule-Objekt ein und passen Sie die Kalender-Bedingungen entsprechend an:

  1. Navigieren Sie in der Perspektive Process Assembly zu dem Ordner, in dem Sie das Schedule-Objekt erstellen möchten. Klicken Sie in der Symbolleiste auf Hinzufügen > Objekt hinzufügen (oder klicken Sie mit der rechten Maustaste auf eine Stelle in der Liste und wählen Sie Objekt hinzufügen aus) und wählen Sie Schedule (JSCH) aus.
  2. Geben Sie der Schedule den Namen JSCH.UC.UPDATE.DATA und klicken Sie auf Hinzufügen.
  3. Die Definitionsseiten der Schedule öffnen sich und zeigen die Seite Schedule an.
  4. Klicken Sie auf das Ordnersymbol in der ersten Zeile, um den Dialog Objekt auswählen zu öffnen.
  5. Suchen Sie den Workflow, wählen Sie diesen aus und klicken Sie auf OK. Sie wird in die Aufgabenliste eingetragen.
  6. Weisen Sie die Kalenderbedingungen folgendermaßen zu:

    1. Wählen Sie den Workflow in der Aufgabenliste aus und klicken Sie in der Symbolleiste auf die Schaltfläche Eigenschaften. Dadurch wird in der unteren Hälfte des Fensters ein Bereich mit den Eigenschaften der Aufgabe geöffnet.
    2. Aktivieren Sie auf der Registerkarte Kalender das Kontrollkästchen Kalenderbedingungen setzen.
    3. Geben Sie unter Miteinbeziehung der Kalenderdefinitionen an, wann Sie die Aufgabe ausführen wollen. In unserem Fall ist das Durchführen, wenn alle Bedingungen zutreffen.
    4. Fügen Sie den Kalender hinzu.

      1. Aktivieren Sie die erste Zeile durch einen Klick oder klicken Sie auf Zeile hinzufügen, um eine neue hinzuzufügen.
      2. Wählen Sie den Kalender aus der Liste aus. Alternativ können Sie auch anfangen, den Namen des Kalenders zu schreiben, um die Funktion "select as you type" zu aktivieren.

      3. Wählen Sie ein Kalenderereignis aus.

    So sieht das Ergebnis aus:

  7. Speichern Sie das Schedule-Objekt.

Nützliche Links

Dieses Beispiel enthält Referenzen zu einigen Funktionen, über die Sie vielleicht mehr erfahren möchten.