Gebruik van de SourceExpr en DestExpr Eigenschappen
In de laatste sectie hebben we besproken hoe we tabelinstanties aan een mapping kunnen toevoegen. In deze sectie bekijken we hoe we toegang krijgen tot de gegevens van de velden in een tabel. En hoe je constante waarden en filters kunt gebruiken.
De module stelt u in staat om gegevens uit velden uit tabellen te lezen wanneer er een eigenschap SourceExpr (bronexpressie) aanwezig is. De SourceExpr kan ook gebruikt worden om constante waarden te specificeren of om functies op te roepen. U vindt deze eigenschap op de datalijnen van de mapping van het formaattype NAV en op de datalijnen van de exportmappings. Maar deze eigenschap is ook beschikbaar voor parameters van aangepaste functies en om foutmeldingen uit te breiden. Er zijn meer opties, die we later in dit hoofdstuk zullen bespreken.
Om gegevens naar tabelvelden te schrijven is er nog een andere eigenschap genaamd DestExpr (doel expressie). Deze eigenschap laat u ook toe om gegevens te controleren met een gespecificeerd filter, in plaats van ze op te slaan. We zullen zo dadelijk op de details ingaan. Het is belangrijk om te weten dat u gegevens naar elk veld van een tabelinstantie kunt schrijven, zelfs als de Mode is ingesteld op Read. Schrijven naar een tabel in leesmodus roept de validatielogica van de NAV op, maar we wijzigen het record niet. Op onze buffertabellen kun je dit gebruiken om een waarde voor een bepaalde tijd op te slaan in de mapping. Op andere tabellen hangt het af van de validatielogica, of het veilig is om een tabel in leesmodus te gebruiken om tijdelijk gegevens op te slaan.
De SourceExpr eigenschap
Het brontype geeft aan wat voor soort gegevens u wilt lezen. De toegestane waarden zijn:
Een constante waarde die in de mapping wordt ingevoerd.
Een veld van een tabelinstantie, dat is een van de ouderlijke kaartlijnen van deze kaartlijn. Als je een veld wilt lezen moet je buiten de tabel staan, maar eronder.
U wilt gegevens lezen van een ingebouwde of een aangepaste functie.
Deze eigenschap werd toegevoegd in Anveo EDI Connect 4.00 uur.
Deze eigenschap is alleen beschikbaar als het SrcType is ingesteld op Const. Deze eigenschap specificeert het gegevenstype van de constante waarde. U moet het datatype selecteren om fouten als gevolg van het gebruik van verschillende locaties tijdens de installatie en de looptijd te voorkomen. In oudere versies moest je ervoor zorgen dat de locale tijdens de setup hetzelfde was als tijdens de runtime om te voorkomen dat bijvoorbeeld getallen anders geïnterpreteerd zouden worden.
U kunt kiezen uit de volgende datatypen:
Een constante tekstwaarde.
Een tekst die speciale tekens kan bevatten, zoals een carriage return<CR> Er is een lijst met alle ondersteunde speciale tekens.
Een booleaanse waarde, zoals True of False.
Een optiewaarde. U moet de gehele waarde van de optie in de database gebruiken.
Een gehele waarde (32 bit).
Een decimale waarde.
Een grote gehele waarde (64 bit).
De waarde bevat een tijdsduur.
De waarde is een Dynamics-codewaarde (alleen hoofdletters, staat niet alle tekens toe).
Geeft een datumwaarde weer.
Geeft een tijdwaarde weer.
Geeft een gecombineerde datum en tijdwaarde weer.
Een datum formule.
Een wereldwijd uniek ID (GUID).
Deze eigenschap is alleen beschikbaar als het SrcType is ingesteld op Const. Geeft de constante waarde weer die u wilt gebruiken.
Deze eigenschap is alleen beschikbaar als het SrcType is ingesteld op Function. U kunt de AssistEdit gebruiken om het object en de functie te specificeren. Als de functie vereiste parameters vereist zijn, zullen deze ook SourceExpr zijn, maar geen ondersteuning bieden voor het nesten van functies.
Deze eigenschap is alleen beschikbaar als het SrcType is ingesteld op Field. Selecteer de tabelinstantie om de gegevens uit te lezen. De tabel moet een van de ouders zijn van de huidige kaartlijn, om de gegevens van één record te kunnen lezen. Als je de optelvelden wilt lezen, moet je onder de tabelinstantie staan, maar niet als een kind ervan.
Deze eigenschap is alleen beschikbaar als het SrcType is ingesteld op Field. Selecteert de kolom / het veld waarvan u wilt lezen.
U kunt een waarde-omzetting opgeven, om de geselecteerde waarde in een andere streefwaarde te wijzigen. Er is een sectie over het instellen van waarde vertalingen.
De code van de te gebruiken waardevertaling.
Wat moet er gebeuren, als de waarde niet in de waardevertaling wordt gevonden.
De module doet niets als de vertaling ontbreekt. Het gebruikt de oorspronkelijke waarde zonder vertaling.
Voer een lege waarde uit.
Voeg een informatielogboek toe en gebruik de oorspronkelijke waarde.
Voeg een waarschuwingslogboek toe en gebruik de originele waarde.
Breek de mapping onmiddellijk en registreer een fout.
Maak een foutlogboek aan en maak de mapping niet succesvol af, maar ga verder met de verwerking om ook andere fouten te vinden.
Deze eigenschap is standaard verborgen. U kunt een lijst met toegestane waarden opgeven en fouten maken, of u probeert een andere waarde te exporteren.
De lijst met toegestane waarden. U kunt de AssistEdit gebruiken of u kunt de termen gescheiden door een komma invoeren.
Wat moet er gebeuren, als de bronwaarde niet in de lijst van toegestane waarde staat.
Gebruik de geavanceerde validatie niet en negeer geen waarden in de lijst.
Maak een informatielogboek aan.
Maak een waarschuwingslogboek aan.
Breek de mapping onmiddellijk met een foutmelding.
Geef een fout terug bij het in kaart brengen van de uitvoering, maar ga door met het verwerken van de mapping, om ook andere fouten te vinden.
De DestExpr Eigendom
Selecteer het doel voor een waarde. De volgende waarden zijn geldig:
Leeg betekent dat de waarde genegeerd wordt. U kunt dit gebruiken om velden over te slaan bij importen of om bijvoorbeeld een functie retourwaarde te negeren.
De waarde moet worden gecontroleerd aan de hand van een Dynamics filter. Als het filter niet overeenkomt met de waarde wordt deze niet geaccepteerd. Afhankelijk van de converter zal dit resulteren in een foutmelding of het overslaan van een deel van de mapping. U leert meer over het gebruik van filters voor specifieke omvormers op de documentatie van elke omvormer.
De waarde moet worden geschreven naar een veld van een tabel-instantie in deze mapping.
Deze eigenschap is alleen beschikbaar als de DestType is ingesteld op Filter. De Dynamics-filter waarmee de waarde wordt gecontroleerd. De waarde wordt geïnterpreteerd als een tekstwaarde voor het toepassen van het filter. Een typisch voorbeeld zou “BY|IV” zijn, om de waarden “BY” en “IV” toe te staan.
Deze eigenschap is alleen beschikbaar als de DestType is ingesteld op Field. Selecteert de tabel waar de waarde naartoe geschreven moet worden. De tabelinstantie moet een van de ouders van de huidige kaartlijn zijn.
Deze eigenschap is alleen beschikbaar als de DestType is ingesteld op Field. De veldnaam/kolomnaam van het doelveld op de tabel.
Deze eigenschap is alleen beschikbaar als de DestType is ingesteld op Field. Deze woning is alleen beschikbaar als een geavanceerde woning. Door deze eigenschap op False in te stellen, wordt de Microsoft Dynamics NAV 2016-validatietrigger voor dat veld overgeslagen.
Wees zeer voorzichtig bij het gebruik van False. U moet de validatie alleen deactiveren na overleg met een programmeur. U moet het niet deactiveren op een van de standaard Dynamics-tabellen, behalve dat u echt weet wat u doet. U kunt de Microsoft Dynamics NAV 2016 onbruikbaar maken door de validatiecode over te slaan.
Deze eigenschap is alleen beschikbaar als de DestType is ingesteld op Field en u de NAV-converter gebruikt. Meer informatie vindt u op de converter pagina.