ANVEDI Events
Anveo EDI Connect biedt één codeunit voor integratiegebeurtenissen: Codeunit ANVEDI Events. Je kunt reageren op de gebeurtenissen in deze codeunit via je eigen codeunit. De gebeurtenissen worden ondersteund in zowel de FOB als de Extension versie van Microsoft Dynamics.
Events
De beschikbare Events zijn:
- OnFunctionRegistration
- OnFunctionExecution
- OnJob
- OnAcceptTransmission
- OnBeforeList
- OnAfterList
- OnBeforeReceive
- OnAfterReceive
- OnBeforeArchive
- OnAfterArchive
- OnBeforeDelete
- OnAfterDelete
- OnBeforeSend
- OnComposeMessage
- OnAfterSend
- OnReplacePlaceholder
- OnError
- OnAfterProcess
OnFunctionRegistration
Deze gebeurtenis wordt aangeroepen wanneer de module zoekt naar aangepaste functies. Je kunt je eigen functies definiëren door gebruik te maken van de functionaliteit die wordt geleverd door de codeunit ANVEDI Function Register die wordt geleverd onder de naam Register. De codeunit biedt twee functies: RegisterFunction en AddParameter.
RegisterFunction verwacht twee parameters, de objectnaam en de functienaam van je nieuwe functie. Deze namen kunnen vrij gekozen worden, maar mogen niet langer zijn dan 30 tekens.
De eerste 29 tekens van de combinatie van object- en functienaam moeten uniek zijn om de parameters van de mapping te kunnen specificeren. Probeer de namen kort te houden.
Na het registreren van een functie kun je AddParameter maximaal 5 keer oproepen. AddParameter verwacht een naam voor de parameter van je functie. Je kunt meerdere blokken van RegisterFunction en AddParameter in één Event gebruiken. Maar we raden aan om meerdere functies te scheiden naar meerdere Event listeners.
Na het registreren van de functie moet je reageren op functie-aanroepen. Dit wordt gedaan door de OnFunctionExecution die hierna wordt beschreven.
OnFunctionExecution
De Event wordt aangeroepen wanneer de module zoekt naar een aangepaste functie-implementatie. Een instantie van de codeunit ANVEDI Function Call wordt doorgegeven aan deze gebeurtenis onder de naam FunctionCall.
Je moet controleren of de FunctionCall overeenkomt met je aangepaste functie en alleen code uitvoeren als dat het geval is. Dit wordt gedaan door de functie Is() aan te roepen met dezelfde parameters die je RegisterFunction hebt aangeroepen in de OnFunctionRegistration. Als Is() true retourneert, kun je toegang krijgen tot de parameters, je aangepaste code uitvoeren en een waarde retourneren.
De codeunit ANVEDI Function Call biedt de volgende functies:
Geeft als resultaat of de functieaanroep overeenkomt met de opgegeven functiesignatuur.
Je moet deze functie aanroepen om de module te laten zien dat je de functieaanroep hebt afgehandeld. Je kunt een functieresultaat doorgeven of gewoon true als resultaat gebruiken.
Haalt een parameter op met het opgegeven getal als tekst. De index begint met 1.
Haalt een parameter op met het opgegeven getal als geheel getal. De index begint met 1.
Haalt een parameter op met het opgegeven getal als booleaans. De index begint met 1.
Haalt een parameter op met het gegeven getal als decimaal. De index begint met 1.
Haalt een parameter op met het opgegeven getal als datum. De index begint met 1.
Haalt een parameter op met het opgegeven getal als datum en tijd. De index begint met 1.
Haalt een parameter op met het opgegeven getal als tijd. De index begint met 1.
Haalt een parameter op met het gegeven getal als EDIVariant. De functie geeft terug of de parameter kon worden opgehaald. De index begint met 1.
OnJob
Je kunt de job codeunit van de module gebruiken om aangepaste jobs te definiëren. De codeunit ondersteunt het gebruik van meerdere parameters. Je kunt meer informatie vinden in de documentatie over jobhandlers.
Een woordenboek met de parameters die aan de opdracht worden doorgegeven.
Je moet de Event instellen op afgehandeld als je een taak hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAcceptTransmission
Deze functie wordt aangeroepen om te bepalen of een bestand of bericht moet worden geaccepteerd of genegeerd door de module. De module slaat niet op of een transmissie werd genegeerd en zal deze functie telkens aanroepen wanneer het een transmissie ziet. Het bestand is nog niet gelezen, dus je kunt alleen beslissen op basis van de beschikbare metadata.
De transmissie waarvoor de metagegevens zijn opgehaald. Houd er rekening mee dat er op dit moment nog geen gegevens zijn ontvangen en dat de record nog niet is toegevoegd aan de database.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. Je moet ook een waarde teruggeven of je de transmissie wilt verwerken (stel de retourwaarde in op true); of niet (stel deze in op false). De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnBeforeList
Deze code wordt aangeroepen voordat de module op zoek gaat naar nieuwe gegevens. Dit kan worden gebruikt om een extern commando of script de bestanden te laten ontvangen, voordat de module naar nieuwe gegevens zoekt.
Het communicatiekanaal dat gegevens moet ophalen.
Je moet de Event instellen op afgehandeld, als je de gebeurtenis hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterList
Het communicatiekanaal dat gegevens moet ophalen.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
Deze code wordt aangeroepen nadat de module naar nieuwe gegevens heeft gezocht.
OnBeforeReceive
Deze Event wordt aangeroepen voordat een verzending wordt opgehaald. Houd er rekening mee dat je de verwerking op dit moment niet kunt afbreken. Als je wilt beslissen of je een bericht wilt ophalen of niet, gebruik dan de OnAcceptTransmission.
De overdracht. De berichten zijn nog niet ontvangen.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterReceive
Dit Event wordt aangeroepen nadat een transmissie is ontvangen.
De verzending nadat deze is opgehaald (je hebt toegang tot de berichten).
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnBeforeArchive
Deze Event wordt aangeroepen voordat een verzending wordt gearchiveerd.
De transmissie die op de externe locatie wordt gearchiveerd.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterArchive
Deze Event wordt aangeroepen nadat een verzending is gearchiveerd.
De transmissie die werd gearchiveerd op de externe locatie.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnBeforeDelete
Deze Event wordt aangeroepen voordat een verzending wordt verwijderd.
De transmissie die op de externe locatie wordt verwijderd.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterDelete
Deze Event wordt aangeroepen nadat een verzending is verwijderd.
De transmissie die werd verwijderd van de externe locatie.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnBeforeSend
Deze Event wordt aangeroepen voordat een verzending plaatsvindt.
De transmissie die wordt verzonden.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnComposeMessage
Deze Event wordt opgeroepen wanneer een transmissie wordt samengesteld.
De transmissie die is samengesteld.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterSend
Deze Event wordt aangeroepen nadat een verzending is verzonden.
De verzending.
Je moet de Event instellen op afgehandeld, als je de gebeurtenis hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnReplacePlaceholder
Deze functie wordt aangeroepen wanneer een tekenreeks wordt geëvalueerd die door de gebruiker gedefinieerde variabelen kan bevatten, zoals een bestandsnaam.
De naam van de placeholder. De module zoekt momenteel naar een waarde om deze specifieke placeholder te vervangen. Als je een waarde wilt opgeven, moet je het resultaat opgeven en de gebeurtenis instellen op afgehandeld in de EventArgs.
Een vooraf gefilterd record van de gekoppelde documenten. Je kunt deze tabel bijvoorbeeld gebruiken om de bufferdocumenten in het bestand op te vragen.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. Je moet ook een waarde bieden. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
Het volgende voorbeeld laat zien hoe je gegevens van het gekoppelde document kunt retourneren:
OnError
Deze Event wordt aangeroepen wanneer er een fout optreedt in de verwerkingswachtrij.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
OnAfterProcess
Dit Event wordt aangeroepen na de verwerking van een item in de tabel EDI Processing Queue. Je moet de status van de gepasseerde invoer controleren en dienovereenkomstig reageren.
Je moet de Event instellen op afgehandeld, als je de Event hebt verwerkt. De beschrijving van de ANVEDI Event Args structuur staat aan het einde van dit hoofdstuk.
ANVEDI Event Args
Sommige Events gebruiken een structuur genaamd ANVEDI Event Args. Met deze structuur kun je waarden retourneren en de module vertellen of je de gebeurtenis hebt afgehandeld.
De volgende functies zijn beschikbaar op de ANVEDI Event Args die aan de Event worden doorgegeven:
Of de Event is afgehandeld door jouw code.
De retourwaarde, als de Event een retourwaarde verwacht.
Voorbeeld
Het volgende voorbeeld laat zien hoe je je eigen aangepaste functie “MYOBJECT.MYFUNC” kunt toevoegen, die een bericht toont met de opgegeven naam gevolgd door ‘: ‘ en de waarde. Je kunt zoveel functies van zoveel extensies toevoegen als je nodig hebt.
Afhankelijkheden
Als je wilt reageren op de Event via AL, moet je een afhankelijkheid toevoegen aan de Anveo EDI Connect-module.
De waarden voor de OnPremise Extension zijn:
Zorg ervoor dat u x, y, z vervangt door het juiste versienummer.
De waarden voor de Business Central Online en Universele Code Extension zijn:
Zorg ervoor dat u x, y, z vervangt door het juiste versienummer. Oudere BC versies noemden “id” “appId”.