Tabelgegevens lezen en schrijven
Het is belangrijk om op te merken dat je de kolommen van die tabelinstantie alleen kunt benaderen vanuit mapping die childs zijn van de tabelinstantie. De rijen in de tabel moeten daarom zo inspringen dat alle rijen die toegang willen tot de gegevens kinderen van de tabel zijn. Hiervoor worden vaak meerdere tabellen onder elkaar genest om toegang te krijgen tot alle velden.
Om tabellen in Microsoft Dynamics NAV 2016 te lezen of ernaar te schrijven, moet je eerst een instantie van die tabel declareren in de mapping. Kies de waarde Loop in de eigenschap mapping line Type. Dit zal de beschikbare eigenschappen wijzigen en een nieuwe eigenschap genaamd Loop Type toevoegen. Selecteer de waarde Table als het Loop Type.
Daarna kun je de andere eigenschappen configureren. De volgende eigenschappen zijn beschikbaar:
Het type van de lus. Selecteer de waarde Table om tabelgegevens te openen.
Lees gegevens uit een tabel, schrijf gegevens naar een tabel (maak een nieuw record) of werk bestaande gegevens bij.
Bestaande gegevens lezen. De gegevens kunnen worden gefilterd. Het is mogelijk om filters toe te passen, zodat geen enkel record wordt gevonden.
Maak een nieuw record in de tabel. Afhankelijk van het formaattype kunnen één of meer records worden aangemaakt.
Werk een bestaande record bij of maak optioneel een nieuwe aan als deze nog niet bestaat. De module kan maar één record per keer bijwerken, dus zorg ervoor dat je filters toepast zodat er maximaal één record wordt gevonden. Om meerdere records bij te werken, moet je een tabellus maken die de gegevens leest en een tweede instantie van die tabel in updatemodus, gefilterd op de primaire sleutel van de huidige gelezen record.
Selecteert de bron/doel-tabel in Microsoft Dynamics NAV 2016. Je kunt de naam van de tabel of zijn ID invoeren.
De naam van deze tabelinstantie in de mapping. De naam wordt gebruikt om verschillende instanties van dezelfde tabel te onderscheiden. Zie het als een variabele naam.
Deze eigenschap is nieuw in versie 4.00 van de module.
Pas geen speciale filters toe. Je kunt de gegevens nog steeds filteren met de onderstaande eigenschappen.
Alleen bruikbaar als deze mapping wordt uitgevoerd als nabewerking. Filter de tabelinstantie op de record waarop de nabewerking is gedefinieerd.
Alleen bruikbaar als deze mapping binnen een bedrijfstransactie wordt uitgevoerd. Filtert de gegevens op de gegevens van de bedrijfstransactie (bijv. de taakgegevens).
Filtert de gegevens op een benoemde tabelweergave. Dit kan een van de ingebouwde tabelweergavenamen zijn of een tabelweergave die door programmeren is gedefinieerd. Er wordt een nieuwe eigenschap beschikbaar om de naam te selecteren.
Deze eigenschap is alleen beschikbaar als Data View is ingesteld op Named Table View. Je kunt elke tabelweergave gebruiken die door code is gedefinieerd, of een van de volgende speciale:
Als er een inkomende transmissie is, is deze toegankelijk via deze tabelweergave.
Als de mapping wordt uitgevoerd als een foutbehandelaar, kunt u dit filter gebruiken om toegang te krijgen tot de mislukte invoer in de verwerkingswachtrij.
DEFAULT
Deze filternamen worden meestal gebruikt door de module om informatie op te slaan over het post-proces record. In plaats daarvan moet je de waarde van de Data View instellen op Post Process Record. Maar als je mappings van oudere versies van de module upgradet, kun je nog steeds deze waarden vinden, die nog steeds werken.
De namen kunnen ook worden gedefinieerd vanuit aangepaste code en een willekeurig filter bevatten. We raden topgebruik van deze namen af. Gebruik in plaats daarvan een sprekende filternaam of CUSTOM.
Deze eigenschap is nieuw in Anveo EDI Connect 4.00.
Alleen beschikbaar in leesmodus. Geeft aan of u het aantal records dat kan worden gevonden wilt beperken. Kan worden gebruikt om alleen het eerste of laatste record te selecteren in combinatie met de sorteereigenschap.
Beperk de records tot de opgegeven telling.
Beperk de geretourneerde records niet.
Alleen beschikbaar als Limit Count is ingesteld op True. Het maximum aantal records dat moet worden gebruikt.
Alleen-lezen. Groepen andere eigenschappen. De naam Table View wordt in Microsoft Dynamics NAV 2016-NAV gebruikt om de combinatie van sorteren en constante filters op een tabel te beschrijven. We hebben deze naam gebruikt om het makkelijk te maken voor C/AL programmeurs om de module te gebruiken, zie het als constante filters en beginwaarde.
De sleutel die moet worden gebruikt om te sorteren. Kan leeg zijn.
De volgorde waarin de sleutel wordt toegepast. De standaardinstelling is Ascending.
Filters die constant zijn of met andere woorden niet afhankelijk zijn van gegevens uit een andere tabel. Je kunt alle kolommen uit de tabel filteren.
Als de Mode van de tabel Write is, worden de filters als beginwaarden toegepast op de tabel. Je kunt het filter dus ook gebruiken om sommige kolomwaarden voor nieuwe records op te geven.
Deze eigenschap wordt gebruikt om de relatie met een andere tabel te definiëren. Dit is een lijst met waarden. Je selecteert eerst de kolom van de huidige tabelinstantie en daarna een andere tabel en velden. Deze eigenschap wordt gebruikt om de foreign-key relatie te definiëren.
Laten we aannemen dat u een instantie van de tabel EDI Document in de mapping hebt en als child een instantie van de tabel EDI Document Line. Om aan te geven dat de regel bij het header-document hoort, definieer je de Data Item Link als:
Hiermee worden de opgegeven kolommen gefilterd op de waarde van het header-document. In leesmodus krijg je alleen de regels die bij het document horen. In schrijfmodus worden de kolommen gevuld met de gegevens uit het document, zodat de regel bij de koptekst hoort.
Als de Mode van de tabel Write is, wordt de Data Item Link toegepast als beginwaarden voor de kolommen in de tabel. Je kunt dus ook de Data Item Link gebruiken om sommige kolomwaarden voor nieuwe records op te geven.
Dit is een geavanceerde eigenschap en wordt normaal verborgen.
Geeft aan dat je een tijdelijke tabel wilt gebruiken. Er wordt een tijdelijke tabel naar de database geschreven.
Deze eigenschap is nieuw in Anveo EDI Connect 4.00.
De eigenschap init-functie is alleen beschikbaar als de eigenschap Temporary is ingesteld op True. Deze functie wordt gebruikt om de tijdelijke tabel te vullen wanneer deze wordt geïnitialiseerd.
De objectnaam waarop de functie is gedefinieerd.
De functienaam. De functie moet een object teruggeven van het type Codeunit ANVEDI Variant dat wijst naar een RecordRef die de oorspronkelijke gegevens bevat.
Dit is een geavanceerde eigenschap en wordt normaal verborgen.
Het bedrijf waar het record van is gelezen / naartoe is geschreven. Dit kan worden gebruikt om toegang te krijgen tot gegevens van een ander bedrijf.
Verander het bedrijf op tabelinstanties niet in schrijfmodus, tenzij je weet wat je doet. Alle triggers worden uitgevoerd op basis van de gegevens van het huidige bedrijf, zodat je nooit direct naar een standaardtabel in een ander bedrijf moet schrijven.
Deze eigenschap is alleen beschikbaar voor tabellen in leesmodus. Je kunt kolommen opgeven waarvoor de module automatisch een aggregaat berekent, zoals een som. Je kunt de geaggregeerde waarde uit de tabel lezen door de kolom na de tabelregel te openen, maar niet als kindregel van de tabellus.
De volgende aggregaatfuncties zijn beschikbaar:
Alleen voor numerieke velden. Het resultaat is de som van de individuele waarden. Kan worden gebruikt om het documentbedrag te berekenen op basis van het regelbedrag, enz.
Alleen voor numerieke velden. Het kleinste getal.
Alleen voor numerieke velden. Het grootste aantal.
De waarde van de eerste gevonden record.
De waarde van de laatst gelezen record.
Tip: je kunt deze functionaliteit gebruiken voor insteltabellen. Plaats ze bovenaan de mapping en definieer “Eerste” aggregaten voor de velden die u in de mapping wilt gebruiken. U kunt nu de eigenschappen overal onder deze rij in de mapping openen zonder alles te hoeven inspringen.
Deze eigenschap is nieuw in Anveo EDI Connect 4.00.
Dit is een geavanceerde eigenschap en wordt normaal verborgen. Of je fouten na deze regel automatisch wilt registreren bij deze tabelinstantie.
Registreer fouten op deze instantie. Dit is zinvol voor buffertabellen.
Registreer geen fouten op deze tabelinstantie. Dit is zinvol als de instantie toegang heeft tot bijvoorbeeld secundaire tabelinformatie.
Dit is een alleen-lezen eigenschap om de child properties te groeperen.
Of je items wilt aanmaken in de gekoppelde documententabel voor deze tabelinstantie. Als u dit instelt op True, kunt u vanuit de EDI Processing Queue, vanuit de EDI Transmission (indien aanwezig) en vanuit de EDI Business Transaction (indien aanwezig) naar deze tabel navigeren.
Deze eigenschap is alleen beschikbaar als Create Linked Documents is ingesteld op True. U kunt andere tabelinstanties uit deze mapping opgeven die gekoppeld moeten worden aan de huidige tabelinstantie. Hiermee kunt u bijvoorbeeld op het EDI Document navigeren naar andere gekoppelde documenten, zoals een aangemaakte verkoopkop.
Je kunt de kolom selecteren die moet worden gebruikt voor het interne nummer, wanneer een gekoppeld documentitem wordt aangemaakt voor deze tabelinstantie.
Je kunt de kolom selecteren die moet worden gebruikt voor het externe nummer wanneer een gekoppeld document wordt gemaakt voor deze tabelinstantie.
Hiermee kunt u een of meer acties opgeven die moeten worden uitgevoerd op elke record van deze tabelinstantie, nadat de mapping met succes is beëindigd. Als er fouten zijn opgetreden, worden de nabewerkingen niet uitgevoerd. Je kunt meer te weten komen in het gedeelte over nabewerkingen.
Als je een getal invoert, geeft de mapping een foutmelding als de opgegeven minimale herhaling niet wordt bereikt.
De foutmelding die moet worden gegeven als het minimale aantal records niet wordt gevonden.
Als je een getal invoert, geeft de mapping een foutmelding als de opgegeven maximale herhaling niet wordt bereikt.
De foutmelding die moet worden weergegeven als het maximale aantal records wordt overschreden.