Ereignisbasierte API-Aufrufe

In diesem Dokument wird das Konzept der Verwendung von Ereignissen als Trigger-Punkt für das Aufrufen einer M3 API beschrieben. Der Trigger für die M3 APIs wird durch einen benutzerdefinierten API-Aufruf ausgeführt, bei dem die ausgewählten Ereignisinformationen als Parameterliste übergeben werden. Die Funktion kann jede eingehende M3-API-Transaktion aufrufen.

Führen Sie folgende Schritte aus

  1. Fügen Sie in "Ereignisabonnement. Öffnen" (CMS045) ein Abonnement zur der M3-Tabelle hinzu, die für den API-Aufruf verwendet werden soll. Der Name der M3-Tabelle wird als Ereignisname und M3 als Herausgeber verwendet.
  2. Das Abonnement muss für ereignisbasierte API-Aufrufe aktiviert und als aktiv gekennzeichnet sein.

    API-Aufruf definieren

  3. Die Definition des API-Aufrufs erfolgt in "Ereignisbasierte API-Aufrufe. Öffnen" (CMS041).

    Aufruf der API

    Definieren Sie, wann die API aufgerufen werden soll, indem Sie Filter verwenden, bei denen logische Ausdrücke wie "Geänderter Wert", "Gleich" usw. für bestimmte Felder verwendet werden können.

    Jede eingehende M3-Transaktion kann verwendet werden, mit Ausnahme der Antworten von der API. Nur Fehlermeldungen von der API werden im zugehörigen Log gespeichert.

    Im Hinblick auf Performance und Volumen ist es wichtig, dass die Filter korrekt definiert und in einer Umgebung mit weniger Transaktionen als die Produktionsumgebung gründlich getestet werden. Da eine normale M3-Umgebung mehrere hundert Ereignisse pro Sekunde generiert, können schlecht definierte Filter schnell zu einer großen Menge an Alarmmeldungen führen. Warnmeldungen werden erstellt, wenn für LMTS (Zeitstempel) oder CHNO (Änderungsnummer) Filter verwendet werden oder wenn keine Filter mit Bedingung 7 = Geänderter Wert vorhanden sind.

    Schritte nach der Definition

  4. Sobald der Alarm definiert wurde, muss erst der entsprechende Autojob neu gestartet werden, bevor die aktualisierten Abonnements im Event Hub aktiv und die neuen Definitionen im Cache aktualisiert werden.

    Starten Sie den Autojob in "Subsystem. Öffnen" (MNS050), und wählen Sie die verknüpfte Option "Job in Subsystem" (Option 11) für das Autojob-Subsystem (normalerweise ASJ genannt) aus.

  5. Suchen Sie in der Liste den Autojob "Ereignisabonnement – Ereignislog" (CMS913).
  6. Beenden Sie ihn, und starten Sie ihn dann neu.

Fehlerbehebung

Ein Fehlerlog ist mit dem API-Aufruf verbunden. Falsche Aufrufe oder Fehlermeldungen aus der API werden mit dem Primärschlüssel des Ereignisses sowie der Funktion protokolliert, die das ursprüngliche Ereignis ausgelöst hat. Basierend auf diesen Informationen kann die Aktion, die zu dem Ereignis führt, erneut verarbeitet oder die API erneut ausgelöst werden, wenn das Problem behoben wurde.

Eine alternative Möglichkeit zur Fehlerbehebung besteht darin, das Konzeptlog für den Autojob in der Serveransicht oder auf den Verwaltungsseiten einer Cloud-Umgebung zu aktivieren. Wenn das Log aktiviert wurde, generieren Sie ein neues Ereignis, und zeigen Sie dann das Konzeptlog an, das in das Autojob-Log geschrieben wurde. Jede im Autojob durchgeführte Validierung wird als lesbarer Text in das Log geschrieben.

Der eigentliche Aufruf der API erfolgt über das Standard-Batch-Programm "Verwaltung von Reparaturprogrammen/Job Driver" (CMS326), das die Kommunikation mit der API verwaltet und die Logdatei aktualisiert. Aufgabe des Autojobs ist nur der Aufruf der API, eine Antwort vom Empfänger wird nicht erwartet.