ANVEDI Events
Anveo EDI Connect bietet eine einzige Codeunit für Integrationsereignisse: Codeunit ANVEDI Events. Sie können auf die Ereignisse in dieser Codeunit über Ihre eigene Codeunit reagieren. Die Ereignisse werden sowohl in der FOB- als auch in der Extension von Microsoft Dynamics unterstützt.
Events
Die verfügbaren Events 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 Ihre eigenen 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 sind frei wählbar, dürfen aber nicht länger als 30 Zeichen sein.
Die ersten 29 Zeichen der Kombination aus Objekt- und Funktionsnamen 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 Event verwenden. Wir empfehlen jedoch, mehrere Funktionen auf mehrere Event-Listener zu verteilen.
Nachdem Sie die Funktion registriert haben, müssen Sie auf Funktionsaufrufe reagieren. Dies geschieht mit dem nachfolgend beschriebenen OnFunctionExecution.
OnFunctionExecution
Das Event wird aufgerufen, wenn das Modul nach einer benutzerdefinierten Funktionsimplementierung sucht. Diesem Ereignis wird eine Instanz der Codeunit ANVEDI Function Call unter dem Namen FunctionCall ü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 den Aufruf der Funktion Is() mit denselben Parametern, die Sie in der OnFunctionRegistration bei RegisterFunction aufgerufen haben. Wenn Is() true zurückgibt, können Sie auf die Parameter zugreifen, Ihren eigenen Code ausführen und einen Wert zurückgeben.
Die Codeunit ANVEDI Function Call bietet folgende Funktionen:
Gibt zurück, ob der Funktionsaufruf mit der angegebenen Funktionssignatur übereinstimmt.
Sie müssen diese Funktion aufrufen, um dem Modul zu zeigen, dass Sie den Funktionsaufruf bearbeitet 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 Zahl als Booleschen Wert 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 Zahl 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 Zahl als Zeit ab. Der Index beginnt mit 1.
Ruft einen Parameter mit der angegebenen Nummer als EDIVariant ab. Die Funktion gibt zurück, ob der Parameter abgerufen werden konnte. Der Index beginnt mit 1.
OnJob
Sie können die Codeunit des Moduls verwenden, um benutzerdefinierte Jobs zu definieren. Die Codeunit unterstützt die Verwendung mehrerer Parameter. Weitere Informationen finden Sie in der Dokumentation zum Jobhandler.
Ein Wörterbuch, das die an den Auftrag übergebenen Parameter enthält.
Sie sollten das Event auf behandelt setzen, wenn Sie einen Auftrag verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAcceptTransmission
Diese Funktion wird aufgerufen, um festzustellen, ob eine Datei oder Nachricht vom Modul akzeptiert oder ignoriert werden soll. Das Modul speichert nicht, ob eine Übertragung ignoriert wurde und ruft diese Funktion jedes Mal auf, wenn es eine Übertragung sieht. Die Datei ist noch nicht gelesen, so dass Sie nur anhand der verfügbaren Metadaten entscheiden können.
Die Übertragung, für die die Metadaten abgerufen wurden. Bitte beachten Sie, dass zu diesem Zeitpunkt noch keine Daten empfangen wurden und der Datensatz noch nicht in die Datenbank eingefügt ist.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Sie sollten auch einen Wert zurückgeben, der angibt, ob die Übertragung verarbeitet werden soll (setzen Sie den Rückgabewert auf true) oder nicht (setzen Sie ihn auf false). Die Beschreibung der ANVEDI Event Args Struktur finden Sie 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 Empfangen der Dateien auszugeben, bevor das Modul nach neuen Daten sucht.
Der Kommunikationskanal, über den die Daten abgerufen werden sollen.
Sie sollten das Event auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterList
Der Kommunikationskanal, über den die Daten abgerufen werden sollen.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
Dieser Code wird aufgerufen, nachdem das Modul nach neuen Daten gesucht hat.
OnBeforeReceive
Dieses Event wird aufgerufen, bevor eine Übertragung abgerufen wird. Bitte beachten Sie, dass Sie die Bearbeitung zu diesem Zeitpunkt nicht mehr abbrechen können. Wenn Sie entscheiden wollen, ob eine Nachricht abgerufen werden soll oder nicht, verwenden Sie bitte das OnAcceptTransmission.
Die Übertragung. Die Nachrichten sind noch nicht eingegangen.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterReceive
Dieses Event wird aufgerufen, nachdem eine Übertragung empfangen wurde.
Die Übertragung nach dem Abruf (Sie können die Nachrichten abrufen).
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnBeforeArchive
Dieses Event wird aufgerufen, bevor eine Übertragung archiviert wird.
Die Übertragung, die an dem entfernten Standort archiviert werden soll.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterArchive
Dieses Event wird aufgerufen, nachdem eine Übertragung archiviert wurde.
Die Übertragung, die an dem entfernten Standort archiviert wurde.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnBeforeDelete
Dieses Event wird aufgerufen, bevor eine Übertragung gelöscht wird.
Die Übertragung, die an dem entfernten Standort gelöscht werden soll.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterDelete
Dieses Event wird aufgerufen, nachdem eine Übertragung gelöscht wurde.
Die Übertragung, die vom entfernten Standort gelöscht wurde.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnBeforeSend
Dieses Event wird aufgerufen, bevor eine Übertragung gesendet wird.
Die Übertragung, die gesendet werden soll.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnComposeMessage
Dieses Event wird aufgerufen, wenn eine Übertragung zusammengestellt wird.
Die Übertragung, die zusammengesetzt ist.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterSend
Dieses Event wird aufgerufen, nachdem eine Übertragung gesendet wurde.
Die Übertragung, die gesendet wurde.
Sie sollten das Event auf behandelt setzen, wenn Sie das Ereignis verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnReplacePlaceholder
Diese Funktion wird aufgerufen, wenn eine Zeichenkette ausgewertet wird, die benutzerdefinierte Variablen enthalten kann, wie z. B. einen Dateinamen.
Der Name des Platzhalters. Das Modul sucht gerade nach einem Wert, der diesen speziellen Platzhalter ersetzt. Wenn Sie einen Wert bereitstellen möchten, müssen Sie das Ergebnis angeben und das Ereignis in den EventArgs auf behandelt setzen.
Eine vorgefilterte Aufzeichnung der verknüpften Dokumente. Sie können diese Tabelle z. B. verwenden, um die in der Datei enthaltenen Pufferdokumente zu ermitteln.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Sie müssen auch einen Wert bieten. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
Das folgende Beispiel zeigt, wie Sie Daten aus dem verknüpften Dokument zurückgeben können:
OnError
Dieses Event wird aufgerufen, wenn ein Fehler in der Verarbeitungswarteschlange auftritt.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
OnAfterProcess
Dieses Event wird nach der Verarbeitung eines Eintrags in der Tabelle EDI Verarbeitungswarteschlange aufgerufen. Sie sollten den Status des bestandenen Eintrags überprüfen und entsprechend reagieren.
Sie sollten das Event auf „behandelt“ setzen, wenn Sie das Event verarbeitet haben. Die Beschreibung der ANVEDI Event Args Struktur finden Sie am Ende dieses Kapitels.
ANVEDI Event Args
Einige der Events 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 das ANVEDI Event Args verfügbar, die an das Event übergeben werden:
Ob das Event von Ihrem Code behandelt wurde.
Der Rückgabewert, wenn das Event einen Rückgabewert erwartet.
Beispiel
Das folgende Beispiel zeigt, wie Sie Ihre eigene benutzerdefinierte Funktion „MYOBJECT.MYFUNC“ hinzufügen können, die eine Meldung 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.
Abhängigkeiten
Wenn Sie über AL auf das Event reagieren möchten, müssen Sie eine Abhängigkeit zum Anveo EDI Connect-Modul hinzufügen.
Die Werte für die Extension sind:
Bitte stellen Sie sicher, dass Sie x, y, z durch die richtige Versionsnummer ersetzen.
Die Werte für Business Central Online und Universal Code Extension sind:
Bitte stellen Sie sicher, dass Sie x, y, z durch die richtige Versionsnummer ersetzen. Ältere BC-Versionen nannten „id“ „appId“.