This is an automatic translation. The original post is available in Englisch.

ANVEDI Events

Anveo EDI Connect bietet eine einzige Codeunit für Integrationsereignisse: Codeunit ANVEDI Events. Auf die Ereignisse in dieser Codeunit können Sie über Ihre eigene Codeunit reagieren. Die Veranstaltungen werden sowohl in der FOB- als auch in der Extension-Version von Microsoft Dynamics unterstützt.

Events

Die verfügbaren Veranstaltungen sind:

  • OnFunctionRegistration
  • OnFunctionExecution
  • OnJob
  • OnAcceptTransmission
  • OnBeforeList
  • OnAfterList
  • OnBeforeReceive
  • OnAfterReceive
  • OnBeforeArchive
  • OnAfterArchive
  • OnBeforeDelete
  • OnAfterDelete
  • OnBeforeSend
  • OnComposeMessage
  • OnAfterSend
  • OnReplacePlaceholder
  • OnError
  • OnAfterProcess

OnFunctionRegistration

Dieses Ereignis wird aufgerufen, wenn das Modul nach benutzerdefinierten Funktionen sucht. Sie können eigene Funktionen definieren, indem Sie die Funktionalität der Codeunit ANVEDI Function Register nutzen, die unter dem Namen Register zur Verfügung gestellt wird. Die Codeunit bietet zwei Funktionen: RegisterFunction und AddParameter.

RegisterFunction erwartet zwei Parameter, den Objektnamen und den Funktionsnamen Ihrer neuen Funktion. Diese Namen können frei gewählt werden, dürfen aber 30 Zeichen nicht überschreiten.

Die ersten 29 Zeichen der Kombination aus Objekt- und Funktionsname müssen eindeutig sein, um die Parameter aus dem Mapping angeben zu können. Sie sollten versuchen, die Namen kurz zu halten.

Nachdem Sie eine Funktion registriert haben, können Sie AddParameter bis zu 5 Mal aufrufen. AddParameter erwartet einen Namen für den Parameter Ihrer Funktion. Sie können mehrere Blöcke von RegisterFunction und AddParameter in einem Ereignis verwenden. Wir empfehlen jedoch, mehrere Funktionen für mehrere Zuhörer von Veranstaltungen zu trennen.

Beispiel: Verwendung des Funktionsregisters

Nachdem Sie die Funktion registriert haben, müssen Sie auf Funktionsaufrufe reagieren. Dies geschieht durch das nachfolgend beschriebene Ereignis OnFunctionExecution.

OnFunctionExecution

Das Ereignis wird aufgerufen, wenn der Baustein nach einer benutzerdefinierten Funktionsimplementierung sucht. Eine Instanz der Codeunit ANVEDI Function Call wird unter dem Namen FunctionCall an dieses Ereignis übergeben.

Sie sollten prüfen, ob der FunctionCall mit Ihrer benutzerdefinierten Funktion übereinstimmt und nur dann Code ausführen, wenn dies der Fall ist. Dies geschieht durch Aufruf der Funktion Is() mit den gleichen Parametern, die Sie im Ereignis OnFunctionRegistration RegisterFunction aufgerufen haben. Wenn Is() true zurückgibt, können Sie auf die Parameter zugreifen, Ihren benutzerdefinierten Code ausführen und einen Wert zurückgeben.

Beispiel: Reagieren auf Funktionsaufruf

Die Codeunit ANVEDI Function Call stellt die folgenden Funktionen zur Verfügung:

Gibt zurück, ob der Funktionsaufruf mit der angegebenen Funktionssignatur übereinstimmt.

Sie müssen diese Funktion aufrufen, um dem Baustein anzuzeigen, dass Sie den Funktionsaufruf behandelt haben. Sie können ein Funktionsergebnis übergeben oder einfach true als Ergebnis verwenden.

Ruft einen Parameter mit der angegebenen Nummer als Text ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Zahl als Ganzzahl ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Nummer als Boolean ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Zahl als Dezimalzahl ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Nummer als Datum ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Nummer als Datum und Uhrzeit ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Nummer als Zeit ab. Der Index beginnt mit 1.

Ruft einen Parameter mit der angegebenen Nummer als EDIVariante ab. Die Funktion gibt zurück, ob der Parameter abgerufen werden konnte. Der Index beginnt mit 1.

OnJob

Sie können die Codeunit aus dem Modul verwenden, um benutzerdefinierte Jobs zu definieren. Die Codeunit ermöglicht die Unterstützung der Verwendung mehrerer Parameter. Weitere Informationen finden Sie in der Dokumentation zum Jobhandler.

ParamaterDictionary

Ein Wörterbuch, das die an den Auftrag übergebenen Parameter enthält.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie einen Job verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAcceptTransmission

Diese Funktion wird aufgerufen, um zu bestimmen, ob eine Datei oder Nachricht von dem Modul akzeptiert oder ignoriert werden soll. Der Baustein speichert nicht, ob eine Übertragung ignoriert wurde und ruft diese Funktion jedes Mal auf, wenn er eine Übertragung sieht. Die Datei ist noch nicht gelesen, so dass Sie nur auf der Grundlage der verfügbaren Metadaten entscheiden können.

ANVEDITransmission

Die Übertragung, für die die Metadaten abgerufen wurden. Bitte beachten Sie, dass zu diesem Zeitpunkt noch keine Daten empfangen wurden und dass der Datensatz noch nicht in die Datenbank eingefügt ist.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Sie sollten auch einen Wert zurückgeben, ob die Übertragung verarbeitet werden soll (setzen Sie den Rückgabewert auf true); oder nicht (setzen Sie ihn auf false). Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnBeforeList

Dieser Code wird aufgerufen, bevor das Modul nach neuen Daten sucht. Dies kann verwendet werden, um einen externen Befehl oder ein Skript zum Empfang der Dateien auszugeben, bevor das Modul nach neuen Daten sucht.

EDICommunicationChannel

Der Kommunikationskanal, der Daten abrufen soll.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterList

EDICommunicationChannel

Der Kommunikationskanal, der Daten abrufen soll.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

Dieser Code wird aufgerufen, nachdem das Modul nach neuen Daten gesucht hat.

OnBeforeReceive

Dieses Ereignis wird aufgerufen, bevor eine Übertragung abgerufen wird. Bitte beachten Sie, dass Sie die Verarbeitung zu diesem Zeitpunkt nicht abbrechen können. Wenn Sie entscheiden möchten, ob Sie eine Nachricht abrufen möchten oder nicht, verwenden Sie bitte das Ereignis OnAcceptTransmission.

ANVEDITransmission

Die Übertragung. Die Nachrichten sind noch nicht eingegangen.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterReceive

Dieses Ereignis wird aufgerufen, nachdem eine Übertragung empfangen wurde.

ANVEDITransmission

Die Übertragung, nachdem sie abgerufen wurde (Sie können auf die Nachrichten zugreifen).

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnBeforeArchive

Dieses Ereignis wird aufgerufen, bevor eine Übertragung archiviert wird.

ANVEDITransmission

Die Übertragung, die am entfernten Standort archiviert werden soll.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterArchive

Dieses Ereignis wird aufgerufen, nachdem eine Übertragung archiviert wurde.

ANVEDITransmission

Die Übertragung, die am entfernten Standort archiviert wurde.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnBeforeDelete

Dieses Ereignis wird aufgerufen, bevor eine Übertragung gelöscht wird.

ANVEDITransmission

Die Übertragung, die am entfernten Standort gelöscht werden soll.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterDelete

Dieses Ereignis wird aufgerufen, nachdem eine Übertragung gelöscht wurde.

ANVEDITransmission

Die Übertragung, die am entfernten Standort gelöscht wurde.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnBeforeSend

Dieses Ereignis wird aufgerufen, bevor eine Übertragung gesendet wird.

ANVEDITransmission

Die Übertragung, die gesendet werden soll.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnComposeMessage

Dieses Ereignis wird aufgerufen, wenn eine Übertragung zusammengestellt wird.

ANVEDITransmission

Die Sendung, die komponiert wird.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterSend

Dieses Ereignis wird nach dem Senden einer Übertragung aufgerufen.

ANVEDITransmission

Die Übertragung, die gesendet wurde.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnReplacePlaceholder

Diese Funktion wird aufgerufen, wenn eine Zeichenfolge ausgewertet wird, die benutzerdefinierte Variablen, wie z.B. einen Dateinamen, enthalten kann.

Placeholder

Der Name des Platzhalters. Das Modul sucht derzeit nach einem Wert, der diesen speziellen Platzhalter ersetzt. Wenn Sie einen Wert angeben möchten, müssen Sie das Ergebnis angeben und das Ereignis so einstellen, dass es in den EventArgs behandelt wird.

ANVEDILinkedDocument

Eine vorgefilterte Aufzeichnung der verknüpften Dokumente. Sie können diese Tabelle z. B. verwenden, um die in der Datei enthaltenen Pufferdokumente zu erhalten.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Sie müssen auch einen Wert angeben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

Das folgende Beispiel zeigt, wie Sie Daten aus dem verknüpften Dokument zurückgeben können:

Beispiel: OnReplacePlatzhalter

OnError

Dieses Ereignis wird aufgerufen, wenn in der Verarbeitungswarteschlange ein Fehler auftritt.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

OnAfterProcess

Dieses Ereignis wird nach der Verarbeitung eines Eintrags in der Tabelle EDI Verarbeitungswarteschlange aufgerufen. Sie sollten den Status des übergebenen Eintrags prüfen und entsprechend reagieren.

EventArgs

Sie sollten das Ereignis auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der Struktur der ANVEDI Event Args findet sich am Ende dieses Kapitels.

ANVEDI Event Args

Einige der Ereignisse verwenden eine Struktur namens ANVEDI Event Args. Diese Struktur ermöglicht es Ihnen, Werte zurückzugeben und dem Modul mitzuteilen, ob Sie das Ereignis behandelt haben.

Die folgenden Funktionen sind für die ANVEDI Event Args verfügbar, die an das Ereignis übergeben werden:

Value

ob das Ereignis von Ihrem Code behandelt wurde.

Value

Der Rückgabewert, wenn das Ereignis einen Rückgabewert erwartet.

Beispiel

Das folgende Beispiel zeigt, wie Sie Ihre eigene benutzerdefinierte Funktion „MYOBJECT.MYFUNC“ hinzufügen können, die eine Nachricht mit dem angegebenen Namen gefolgt von ‚: ‚ und dem Wert anzeigt. Sie können so viele Funktionen aus so vielen Erweiterungen hinzufügen, wie Sie benötigen.

Vollständiges Beispiel: Benutzerdefinierte Funktion

Abhängigkeiten

Wenn Sie über AL auf die Ereignisse reagieren möchten, müssen Sie dem Anveo EDI Connect-Modul eine Abhängigkeit hinzufügen.

Die Werte für die OnPremise-Erweiterung sind

Bitte achten Sie darauf, x, y, z durch die richtige Versionsnummer zu ersetzen.

Die Werte für die Business Central Online Extension sind

Bitte achten Sie darauf, x, y, z durch die richtige Versionsnummer zu ersetzen.