ANVEDI Integration
De ANVEDI Integration codeunit bevat alle publieke API-aanroepen naar de EDI-module, die u misschien wilt aanroepen vanuit uw eigen code. Alle functies in deze codeunit worden verondersteld te worden gebruikt, als u direct een EDI-actie per code wilt starten.
Algemene begrippen
In deze sectie bespreken we eerst de kernbegrippen, die u moet begrijpen om de codevoorbeelden te kunnen lezen.
Gebruikerstransacties
Anveo EDI Connect heeft een concept genaamd “gebruikerstransacties”, dat meerdere databasetransacties kan overspannen en meerdere fouten kan verzamelen. De meeste acties in Anveo EDI Connect vereisen een open gebruikerstransactie om ze uit te voeren. U kunt een gebruikerstransactie starten door te bellen:
De oproep naar END_USER_TRANSACTION maakt het mogelijk om ofwel fouten te tonen, de huidige databasetransactie te verbreken of een retourwaarde te krijgen, ongeacht of er een fout is opgetreden. We zullen het later in detail bespreken.
BEGIN_USER_TRANSACTION
Start een nieuwe gebruikerstransactie. Houd er rekening mee dat u alleen gesprekken in de EDI-module integreert op punten waar een COMMIT kan plaatsvinden. In veel gevallen zal de module alle databasewijzigingen vastleggen voordat de EDI-logica wordt uitgevoerd. Overweeg ook om gewoon de gegevens te markeren en een achtergrondtaak te gebruiken om de EDI-logica uit te voeren.
De gegeven tekst wordt aan de gebruiker getoond, als er een wachtende dialoog wordt geopend, omdat het proces tijd kost.
U moet een oproep naar BEGIN_USER_TRANSACTION altijd beëindigen met een oproep naar END_USER_TRANSACTION.
SHOWDIALOGS
Deze functie kan worden gebruikt om eventuele EDI-dialogen te verbergen.
De parameter geeft aan of de dialogen al dan niet worden getoond. Een oproep voor deze functie moet zich binnen een gebruikerstransactie bevinden. Normaal gesproken roept u deze functie direct na BEGIN_USER_TRANSACTION op.
ISPROCESSING
Deze functie geeft aan of u zich binnen een mapping bevindt. U kunt deze waarde controleren bij het valideren van triggers, bijvoorbeeld om een ander gedrag te bereiken bij het verwerken van EDI-processen. U kunt deze waarde ook gebruiken om alleen invoerdialogen weer te geven als u geen EDI verwerkt.
END_USER_TRANSACTION
Deze functie beëindigt een gebruikerstransactie.
Als er fouten zijn gemaakt tijdens de transactie, toon dan in een dialoog aan de eindgebruiker. Deze parameter heeft geen effect, als GUIALLOWED False is.
Of de module een fout moet gooien, waardoor de huidige processtroom wordt onderbroken. Alle code na deze regel wordt niet uitgevoerd, als er een fout is opgetreden tijdens de transactie. Als u deze parameter op True zet, krijgt u een foutmelding dat er een of meer fouten zijn opgetreden, als die er al waren. In dit geval kan de gebruiker de volledige lijst met fouten niet zien.
Een retourwaarde, of er nu een fout was of niet. Geeft True op succes, d.w.z. er waren geen fouten, anders False.
In oudere versies van de module werd de terugkeerwaarde anders genoemd, maar had deze dezelfde functie. De oude naam van de retourwaarde was onjuist, de functie keerde altijd terug True op succes.
Werken met zakelijke transacties
RUN_BUSINESSTRANSACTION_JOB
Voert de gegevensverzamelingsopdracht uit van een bepaald type bedrijfstransactie. Dit moet worden opgeroepen vanuit een gebruikerstransactie.
Code van het type zakelijke transactie.
START_BT_WITH_REC
Start een nieuwe zakelijke transactie voor de gegeven code en record id.
RUN_BT_BATCH_JOB
Voert de batchophaaltaak uit met de opgegeven naam. Dit moet worden opgeroepen vanuit een gebruikerstransactie.
Acties
Soms wilt u een knop op een pagina aanmaken om een EDI-proces te starten, of u wilt deze bijvoorbeeld integreren in het releaseproces. Voor deze gevallen kunt u bijna alle acties van de module uitvoeren vanuit code. Houd er rekening mee dat EDI-processen meestal geautomatiseerd moeten worden en op de achtergrond moeten draaien. Dus voordat u acties in code toevoegt, moet u de mogelijkheid van een achtergrondfunctie als alternatief overwegen.
Voer een EDI Mapping uit
Om een EDI Mapping uit te voeren moeten we een gebruikerstransactie starten. Daarna willen we misschien gegevens doorgeven aan de mapping. We kunnen dan de mapping uitvoeren en het resultaat controleren wanneer we de gebruikerstransactie beëindigen. De gedetailleerde beschrijving van de commando’s vindt u na het codevoorbeeld.
RESET_TABLEVIEWS
Reset alle bestaande opgeslagen tabelweergaven. Moet worden opgeroepen vanuit een gebruikerstransactie.
SET_TABLEVIEW
Slaat een tabelweergave op onder een bepaalde naam. Moet worden opgeroepen vanuit een gebruikerstransactie.
Een code die de naam van het filter weergeeft. U zult exact dezelfde naam moeten opgeven in de EDI Mapping om het filter op te halen.
De filtertekst in de vorm van een Anveo EDI Connect-tabelweergave. U moet de Microsoft Dynamics NAV 2015 inbouwfunctie GETVIEW gebruiken, indien mogelijk, om de correct geformatteerde string te krijgen.
GET_TABLEVIEW
Haalt een opgeslagen filter op. Moet worden opgeroepen vanuit een gebruikerstransactie.
RUN
Voer een of meer EDI-mappings uit. Moet worden opgeroepen vanuit een gebruikerstransactie.
De code van het project of een filterstring die overeenkomt met de projectcode.
De code van het mapping of een filterstring die overeenkomt met de formaatcode.
De code van de mapping of een filter die overeenkomt met de gewenste mapping.
Of er meerdere mappings moeten worden uitgevoerd in het geval dat er een filter wordt gespecificeerd. Dit is een veiligheidsfunctie, die voorkomt dat u meer dan één mapping kunt uitvoeren.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
Andere acties
RECEIVE_ALL
Verouderde functie. U moet voorkomen dat u de algemene functie aanroept en een van de meer specifieke functies hieronder aanroepen.
Ontvangt alle communicatiekanalen. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
RECEIVE_FOLDER
Ontvangt de gegevens uit de opgegeven verzendmap of de mappen. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
De code van het transmissiefilter of een filterstring op het codeveld.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
RECEIVE_COMMUNICATIONCHANNEL
Ontvangt gegevens van het gespecificeerde communicatiekanaal. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
De code van het communicatiekanaal of een filterstring op het codeveld.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
SEND_ALL
Verouderde functie. U moet voorkomen dat u de algemene functie aanroept en een van de meer specifieke functies hieronder aanroepen.
Stuurt alle communicatiekanalen. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
SEND_FOLDER
Verstuurt openstaande transmissies van de opgegeven transmissiefolder. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
De code van de verzendmap of een filterstring op het codeveld.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
SEND_COMMUNICATIONCHANNEL
Stuurt open transmissies van het gespecificeerde communicatiekanaal. Deze functie moet worden opgeroepen vanuit een gebruikerstransactie.
De code van het communicatiekanaal of een filterstring op het codeveld.
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
PROCESS
Of de nabewerking moet worden uitgevoerd. Normaal gesproken wil je dit op True zetten.
Een filter op de nabewerkingen. U kunt normaal gesproken willen passeren in am lege tekenreeks.
Of alleen post-processen van de huidige gebruikerstransactie moeten worden verwerkt.
De ontvanger / afzender instellen
SET_COMMUNICATION_CHANNEL
Stelt het communicatiekanaal in voor de volgende mapping binnen de gebruikerstransactie.
De code van het communicatiekanaal.
SET_RECEIVER_PARTNER
Stelt de partner van de ontvanger in voor de volgende mapping in de gebruikerstransactie.
De partnercode van de ontvanger.
SET_RECEIVER_IDENTIFICATION
Stelt de identificatie van de ontvanger in voor de volgende mapping in de gebruikerstransactie.
De identificatie van de ontvanger. Dit is een vrije tekst, die een speciale betekenis kan hebben op specifieke communicatiekanalen.
SET_SENDER_PARTNER
Stelt de afzender partner in voor het volgende mapping gesprek binnen de gebruikerstransactie.
De afzender-partnercode.
SET_SENDER_IDENTIFICATION
Stelt de identificatie van de afzender in voor de volgende mapping in de gebruikerstransactie.
De identificatie van de ontvanger. Dit is een vrije tekst, die een speciale betekenis kan hebben op specifieke communicatiekanalen.
Registratie en foutafhandeling
De volgende functies kunnen alleen worden opgeroepen terwijl een mapping actief is. Deze functies zijn bedoeld om te worden gebruikt voor aangepaste foutafhandeling vanaf code.
LogError
Logt een foutmelding in.
De foutmelding. De uitvoering zal na deze oproep worden voortgezet. Om de regelstroom te onderbreken, gebruikt u de native ERROR-functie.
LogWarning
Logt een waarschuwing in.
De tekst van de waarschuwing.
LogInformation
Logboekinformatie.
De te loggen informatie.
LogDocumentError
Registreert een fout die bij een EDI-document hoort. Er is een meer universele functie genaamd LogRecIDErrorWithCode.
De foutmelding.
Het EDI Document waar de fout bij hoort.
LogDocumentWarning
Registreert een waarschuwing die bij een EDI-document hoort. Er is een meer universele functie die LogRecIDWarningWithCode heet.
De waarschuwing om te worden gelogd.
Het EDI Document waar de fout bij hoort.
LogDocumentInformation
Legt een informatie vast die bij een EDI-document hoort. Er is een meer universele functie die LogRecIDInformationWithCode heet.
De te loggen informatie.
Het EDI Document waar de fout bij hoort.
LogDocumentLineError
Registreert een fout die hoort bij een EDI Document Line. Er is een meer algemene functie genaamd LogRecIDErrorWithCode.
De foutmelding die moet worden gelogd.
De EDI Document Line waar de fout bij hoort.
LogDocumentLineWarning
Registreert een waarschuwing die hoort bij een EDI Document Line. Er is een meer algemene functie genaamd LogRecIDWarningWithCode.
De waarschuwing die gelogd moet worden.
De EDI Document Line waar de fout bij hoort.
LogDocumentLineInformation
Legt een informatie vast die bij een EDI-documentlijn hoort. Er is een meer algemene functie genaamd LogRecIDInformationWithCode.
De te loggen informatie.
De EDI Document Line waar de fout bij hoort.
LogErrorWithCode
Registreert een fout met een extra foutcode.
Of het nu gaat om het doorbreken van de regelstroom of om het voortzetten van de uitvoering
De foutmelding die moet worden gelogd.
Een code om de fout te identificeren.
LogWarningWithCode
Logt een waarschuwing met een extra foutcode.
De waarschuwing die gelogd moet worden.
Een code om de fout te identificeren.
LogInformationWithCode
Registreert een informatie met een extra foutcode.
De informatie die gelogd moet worden.
Een code om de fout te identificeren.
LogRecIDErrorWithCode
Registreert een foutmelding die bij een specifiek record hoort.
Of het nu gaat om het doorbreken van de regelstroom of het voortzetten van de uitvoering.
De foutmelding die moet worden gelogd.
Het record ID waar de fout bij hoort.
Een foutcode om de fout te identificeren.
Of de fout kan worden geaccepteerd door de eindgebruiker. Hiervoor is een niet-lege foutcode nodig.
LogRecIDWarningWithCode
Registreert een waarschuwing die bij een record hoort.
De waarschuwing die gelogd moet worden.
De record id waar de waarschuwing bij hoort.
Een code om de logboekvermelding te identificeren.
LogRecIDInformationWithCode
Legt een informatie vast die bij een record hoort.
De informatie die gelogd moet worden.
De record id waar de informatie bij hoort.
Een code om de logboekvermelding te identificeren.